怎麼用c語言編這個程序?
100
最佳回答:
源程序如下:
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
int num=0,add=0; /* 答題數,得分 */
int score[3]={10,7,5};
char str[20],str1[10][20];
while(1)
{
int a=0,b=0,d=0,c=0,k=0,i=0,j=-1,result;
char sf[2]={'+','-'};
/* 出題 */
while(1)
{
a=rand()%51;
b=rand()%51;
d=rand()%2;
if(d==0)
c=a+b;
else c=a-b;
if(c>=0 && c<=50)
{
sprintf(str,"%d %c %d = \n",a,sf[d],b);
strcpy(str1[num],str);
if(num==0) break;
j=-1;
for(i=0; i<num; i++)
{
if(strcmp(str,str1[i])==0)/* 如果相同重新出題 */
{
j=1;break;
}
}
if(j<0)
break;
}
}
printf("%s\n",str);
/* 回答 */
printf("輸入計算結果:\n");
while(1)
{
scanf("%d",&result);
k++;
if(result==c)
{
printf("回答正確!\n");
add+=score[k-1];
break;
}
else if(k<3)
{
printf("錯誤,請重新回答:\n");
}
else
break;
}
num++;
if(num==10)
break;
}
printf("\n得分:%d\n",add);
if (add>=90)
printf("SMART\n");
else if (add>=80&&add<90)
printf("GOOD\n");
else if (add>=70&&add<80)
printf("OK\n");
else if (add>=60&&add<70)
printf("PASS\n");
else
printf("TRY AGAIN\n");
}
VC++測試通過,望采納,在線等