刚刚好不容易才写出来....
我把原始码贴上来给大家参考看看吧~
如果有人有更短更有效率的程式....
也欢迎提供给我做为以后写作业的参考唷~
简单来说就是欢迎大家指教啦~
复制程式
#include <stdio.h>
#include <stdlib.h>
int i=0,j,k;/*宣告变数i,j,k为整数型态*/
char a[5],b[5];/*宣告阵列a,b为字元型态*/
int grade(char a[5])/*宣告函式grade*/
{
j=0;/*设定j的初始值=0*/
re:/*goto标记*/
printf("请输入答案:");
scanf("%s",b);/*取得学生答案*/
strupr(b);/*让字母变大写*/
k=strlen(b);/*测出b的字串长度*/
if((k>5)||(k<5))
{
printf("输入错误~!!!\n");
goto re;
}
else
{
i=0;
while(i<5)
{
if(a[ i ]==b[ i ])
{
j=j+20;
}
i++;
}
}
return j;
}
int main(void)
{
j=0;
int ga,gb;/*宣告变数ga,gb为整数型态*/
char ans,na[10],nb[10];/*宣告ans,阵列na,nb为字元型态*/
printf("==================================\n");
printf(" 欢迎来到电脑成绩查询系统\n");
printf("最多5题,每题20分,每次输入2位学生\n");
printf("==================================\n");
printf("请输入标准答案:");
scanf("%s",&a);/*取得标准答案*/
strupr(a);/*让标准答案的字母变成大写*/
printf("==================================\n");
printf("标准答案:");
printf("%s",a);
printf("\n==================================\n");
rerun:/*goto标记*/
printf("请输入第一位学生的名字:");
scanf("%s",&na);/*取得第一位学生的名字*/
ga=grade(a);/*计算第一位学生的成绩*/
printf("请输入第二位学生的名字:");
scanf("%s",&nb);/*取得第二位学生的名字*/
gb=grade(a);/*计算第二位学生a的成绩*/
printf("==================================\n");
printf(" 成绩结果\n");
printf("==================================\n");
printf("%s\n",na);
printf("成绩:%d\n",ga);
printf("%s\n",nb);
printf("成绩:%d\n",gb);
re2:/*goto标记*/
printf("请问是否继续?(y/n)");
scanf(" %c",&ans);
if((ans=='y')||(ans=='Y'))
{
goto rerun;
}
else if((ans=='n')||(ans=='N'))
{
printf("感谢您的使用~ByeBye~~!!!\n");
}
else
{
printf("\n输入错误~!!!\n");
goto re2;
}
system("PAUSE");
return 0;
}