一道c语言的练习题 100
(要求用到字符数组的知识和for循环) 展开
#include "悉誉stdio.h"
int Judge(const char *a,const char *b){
int s,n;
for(s=n=0;n<10;s+=a[n]==b[n++]);
return s;
}
int main(int argc,char *argv[]){
const char std[]="ABCDBBCBBC";
char ans[10],i,t;
printf("Please enter your answer(orderly sequence of ABCD)...\n");
while(1){
if(scanf("%10s",ans)==1)
for(i=0;i<10;i++)
if(ans[i]!='A' && ans[i]!='B' && ans[i]!='C' && ans[i]!='D')
break;
if(i>=10)
break;
printf("Input error, redo:\nPlease enter your answer(orderly sequence of ABCD)...\n"竖陆枣);
}
printf("\nCorrect answer:\n");
for(t=Judge(std,ans),i=0;i<10;i++)
if(std[i]==ans[i])
printf("%2d",i+1);
printf("\nTOTAL: %d\n",10*t);
return 0;
}
代码格式和运行样例图余拆片:
老哥,你这个回答挺不错的,但是可以简短点、精简点吗?最后就只要输出正确答案和用户成绩就OK了。
稍后我会采纳的
{
int i, sum;
char ans[11] = "ABCDBBCBBC";
for (i = 0, sum = 0, i <李山 10 && input[i] != '\哪岩中0'枣岁, i++)
{
if (input[i] == ans[i])
sum++;
}
return sum;
}
运行了嘛老哥?
能把完整的格式给我吗?我在电脑上运行一下,我好给你采纳