2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、<p><b>  題目:保齡球計分</b></p><p>  【問題描述】打保齡球是用一個滾球去撞擊10個站立的瓶,將瓶擊倒。一局分10 輪,每輪可滾球1 次或多次,以擊到的瓶數(shù)為依據(jù)計分,一局得分為10輪得分之和,而每輪的得分不僅與本輪的滾球情況有關(guān),還可能與后一輪或兩輪的滾球情況有關(guān),即:某輪某次滾球擊倒的瓶數(shù)不僅要計入本輪得分,還可能會計入前一輪或兩輪得分。計分

2、規(guī)則如下: </p><p>  若某一輪的第一次滾球就擊倒全部10個瓶,則本輪不再滾球(若是第10輪還需加2次滾球),該輪得分為本次擊倒瓶數(shù)10與以后2次滾球所擊倒瓶數(shù)之和。</p><p>  若某一輪的第一次滾球未擊倒全部10個球,則對剩下未擊倒的瓶再滾球一次,如果這2次滾球擊倒全部10個瓶,則本輪不再滾球(若是第10輪還需加1次滾球),該輪得分為這2次擊倒瓶數(shù)10與以后1次滾球所擊

3、倒瓶數(shù)之和。</p><p>  若某一輪2次滾球未擊倒全部10個瓶,則本輪不在滾球,該輪得分為這2次滾球所擊倒瓶數(shù)之和。</p><p><b>  【實現(xiàn)提示】</b></p><p>  模擬10個人各打一局保齡球比賽過程,統(tǒng)計每局各輪得分和累計總分。</p><p>  逐人逐輪逐次輸入一次滾球擊倒的瓶數(shù)。<

4、;/p><p>  對10人的得分由低到高排序并顯示。</p><p>  最后,把排序的存入文件中。</p><p><b>  代碼:</b></p><p>  /* Note:Your choice is C IDE */</p><p>  #include "stdio.h&qu

5、ot;</p><p>  #include "string.h"</p><p>  #include "stdlib.h"</p><p>  void main()</p><p><b>  {</b></p><p><b>  FILE

6、 *fp;</b></p><p>  int sum1(int *k);</p><p>  int sum2(int *k);</p><p>  int a[10][10][2];</p><p>  int sum[10][10];</p><p>  int sum_person[10]={0,0

7、,0,0,0,0,0,0,0,0};</p><p>  int i,j,n,p;</p><p>  int b[10]={1,2,3,4,5,6,7,8,9,10},c;</p><p>  int *p1,*p2;</p><p>  char g[20],f[20],h[1];</p><p>  char s

8、tr1[]={"As the rank and the score of each player shown below :\n"};</p><p>  char str2[]={"RANK"};</p><p>  char str3[]={"NO."};</p><p>  char str4[]={

9、"SCORE"};</p><p>  char str5[]={" "};</p><p>  for (n=0;n<=9;n++) /*一局內(nèi),輸入每輪每次擊打保齡球個數(shù),保存到a[n][i][j]*/</p><p><b>  {</b></p><p>

10、;  for (i=0;i<=9;i++)</p><p><b>  {</b></p><p>  for(j=0;j<=1;j++)</p><p><b>  {</b></p><p>  printf("請輸入%d號選手第%d輪第%d次保齡球擊打個數(shù):",

11、n+1,i+1,j+1);</p><p>  scanf("%d",&a[n][i][j]);</p><p>  if (a[n][i][0]==10)</p><p><b>  {</b></p><p>  a[n][i][1]=0;break;</p><p

12、><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  for (n=0;n<=9;n++) /*統(tǒng)計每人每局每輪得分,并相應(yīng)賦值到

13、sum_person[n],sum[n][i]*/</p><p><b>  {</b></p><p>  for (i=0;i<=9;i++)</p><p><b>  {</b></p><p>  p1=&a[n][i][0];p=*p1+*(p1+1);</p>

14、;<p><b>  switch(i)</b></p><p><b>  {</b></p><p><b>  case 0:</b></p><p><b>  case 1:</b></p><p><b>  case

15、2:</b></p><p><b>  case 3:</b></p><p><b>  case 4:</b></p><p><b>  case 5:</b></p><p><b>  case 6:</b></p>

16、<p><b>  case 7:</b></p><p>  if (*p1==10)</p><p>  sum[n][i]=sum1(p1);</p><p>  else if (p==10)</p><p>  sum[n][i]=sum2(p1);</p><p><b

17、>  else</b></p><p>  sum[n][i]=p;</p><p><b>  break;</b></p><p><b>  case 8:</b></p><p>  if (*p1==10||p==10) </p><p>  su

18、m[n][i]=sum2(p1);</p><p><b>  else</b></p><p>  sum[n][i]=p;break;</p><p><b>  case 9:</b></p><p>  sum[n][i]=p;break;</p><p><b

19、>  }</b></p><p><b>  }</b></p><p>  p2=&sum[n][0];</p><p>  for (j=0;j<=9;j++)</p><p>  sum_person[n]= sum_person[n]+(*(p2+j));</p>&

20、lt;p><b>  }</b></p><p>  for (i=0;i<=9;i++) /*十個選手得分排名*/</p><p><b>  {</b></p><p>  for (n=i;n<=9;n++)</p><p><b>  {</b><

21、;/p><p>  if (sum_person[n]>sum_person[i])</p><p>  {c=sum_person[n];</p><p>  sum_person[n]=sum_person[i];</p><p>  sum_person[i]=c;</p><p><b>  c=b

22、[n];</b></p><p>  b[n]=b[i];</p><p><b>  b[i]=c;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }<

23、/b></p><p>  /*成績輸出到D:\\work\\bowling-grade.txt文件*/</p><p>  if ((fp=fopen("D:\\work\\bowling-grade.txt","w"))==NULL) </p><p><b>  {</b></p>

24、;<p>  printf("cant open file!\n");</p><p><b>  exit(0);}</b></p><p>  fputs(str1,fp);fputs("\n",fp);</p><p>  printf("比賽得分與排名如下:\n"

25、);</p><p>  printf("排名: 選手: 得分:\n");</p><p>  fputs(str2,fp);fputs(str5,fp);fputs(str3,fp);fputs(str5,fp);fputs(str4,fp);fputs("\n",fp);</p><p> 

26、 for (n=0;n<=9;n++)</p><p><b>  {</b></p><p>  printf("第%d名: No.%d %d\n",n+1,b[n],sum_person[n]);</p><p>  itoa(b[n],f,10);itoa(sum_person[n]

27、,g,10);itoa(n+1,h,10);</p><p>  fputs(f,fp);fputs(str5,fp);</p><p>  fputs(str3,fp);fputs(h,fp);fputs(str5,fp);</p><p>  fputs(g,fp);fputs("\n",fp);</p><p>&l

28、t;b>  }</b></p><p>  fclose(fp);</p><p><b>  } </b></p><p>  int sum1(int *k) /*每輪第一次擊球=10時,得分規(guī)則*/</p><p><b>  {</b></p>&

29、lt;p>  int sum=0,m;</p><p>  for(m=0;m<=5;m++)</p><p>  sum+=(*(k+m));</p><p>  return(sum);</p><p><b>  }</b></p><p>  int sum2(int *k)

30、 /*每輪兩次擊球之和=10時,得分規(guī)則*/</p><p><b>  {</b></p><p>  int sum=0,m;</p><p>  for(m=0;m<=3;m++)</p><p>  sum+=(*(k+m));</p><p>  return(sum);&l

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論