當前位置:首頁 » 編程語言 » c語言保齡球記分
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言保齡球記分

發布時間: 2023-08-31 00:41:56

1. c語言保齡球分數計算系統

這么麻煩的題目,你給的分數太少了, 哈哈, 你要是追加50以上分 我就寫。 這系統做出來都能當成品了,我說的沒錯吧。

2. 求C語言代碼解釋(保齡球記分程序)

#include <stdio.h> //包含基本輸入輸出頭文件
#define N 13 //宏定義13為N(N就是數字13)
struct { int n: /* 一輪內滾球次數 */
int f; /* 第一輪擊倒柱數 */
int s; /* 第二次擊倒柱數 */
int score; /* 本輪得分 */
int total; /* 至本輪累計總分 */
int m; /* 完成本輪得分計算, 還需要滾球次數 */
} s[N];//結構體
int ok = 0; /* 已完成完整計算的輪次數 */
int ball(int i, int n, int max) /* 完成一次滾//定義函數球, 輸入正確擊倒柱數 */
{ if (i<= 10) //如果 i小於等於 10
printf("輸入第%d輪的第%d次滾球擊倒柱數"), (<=%d)//輸出\n",i,n,max);
else //否則
printf("輸入附加的第%d次滾球擊倒柱數"),(<=%d)//輸出\n",c++,max);
scanf("%d", &d); 獲得輸入
if (d>=0 && d<=max) break; 如果 d大於等於0並且d小於等於max 中斷
printf("不合理的擊倒柱數, 請重新輸入, \n"); //輸出
}
if ( OK< c-1) 如果ok小於 c-1
{ /* 對以前未完成計算的輪次分別計算得分與累計總分 */
for (j = ok+1; j<i/j<=i-1; j++) j初始化為ok+1 每次循環加一,當j小於...錯誤
{a[j].scre+=d; a[j].scre=a[j].scre+d
if (--a[j].m==0) [j].m 減1 如果[j].m等於0
那麼
{//錯誤
a[j]. total = (j>i?a[j-1].total(:0/)j==1?0;a[j-1].total)+a[j].score;ok=j/ok+1;}
a[j]. total =
}
}
return d; 返回d
}
main0
{int i,/*輪次 */ first.second k;
for(i=1; ok<10;i++)
{ /*處理第一次滾球 */
a[i].score = a[i].f=first = ball(i,1,10);
if (first==10) a[i].m=2;
a[i].n=1;
if (first<10 && (i <=10 || i==11 && ok<10))
{ /*處理第二次滾球 */
a[i].score+=a[i]. s=score=ball(i,2,10-first);
if(first+second==10) a[i].m=1;
a[i].n++/a[i].n=a[i].n+1/a[i].n=2 //錯誤
}
if (i <=10 && first <10 && first+second < 10)
{ a[i].total = (i>1 ? a[i-1].total:0)+a[i].score;
ok=1;
}
printf("各輪第一次得分");
for(k=1; k<=i; k++) printf("%5d",a[k].f);
printf("\n各輪第二次得分");
for(k=1; k<= i; k++)
if (a[k].n<2) printf(" /");else printf("%5d", a[k].s);
printf("\n 各輪得分 ");
for (k=1; k<= ok; k++) printf("%5d", a[k].score);
printf("\n 累計總分 ");
for(k=1; k <= ok; k++) printf("%5d", a[k].total);
printf("\n\n");
}
}

3. C語言問題。幫我解釋一下這個程序的意思,要詳細。保齡球計分系統里的一段代碼。

有點意思。。。。

4. C語言里,保齡球問題

以下程序已通過調試^_^
樓主可以自己用數據試試

/*保齡球輸入:按分數個個輸入,比如:第一輪:10,第二輪:9和1,第三輪:7和2……於是輸入:10 9 1 7 2……*/
/*輸出:每輪得分一個數,比如:20 17 9……*/

#include <stdio.h>
#include <string.h>
int main()
{
int a[10],b[10],c[10];
/*a[]用來記每輪得分,b[]用來記每輪得到的獎勵次數,c[]用來記每輪的最多擊球次數(其實就是最後一輪為3)*/
int i,j,k,x;
/*初始化*/
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
for (i=0;i<9;i++) c[i]=2;
c[i]=3;
/*輸入*/
for (i=0;i<10;i++)
{
/*每輪的數據輸入*/
for (j=0;j<c[i]&&a[i]<10;j++)
{
scanf("%d",&x);
a[i]+=x;
/*獎勵分*/
for (k=2;k>0;k--)
if (b[i-k]) {b[i-k]--;a[i-k]+=x;}
}
/*記錄每輪的獎勵次數*/
if (a[i]==10)
{
if (j==1) b[i]=2;
else b[i]=1;
}
}
/*輸出每輪總分數*/
for (i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
}