求C语言代码解释(保龄球记分程序)

2024-11-25 04:37:07
推荐回答(4个)
回答1:

#include //包含基本输入输出头文件
#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{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");
}
}

回答2:

箕朽瀳彇憭棊
--

𝐫B 1 8。𝘊 𝙘

..
宝湉棅殩

回答3:

ureuer

回答4:

一堆语法错误……
没办法改了……