源代码:
#include <stdio.h>
#include <string.h>
void menu()
{
printf("********************************\n");
printf("******* 1.开始测试 *******\n");
printf("******* 2.结束测试 *******\n");
printf("********************************\n");
}
void test()
{
char arr1[] = "chinese";
char arr2[] = "maths";
char arr3[] = "english";
int i, j, k, l=0;
char arr4[10];
for (i = 1; i <= 3; i++)
{
switch (i)
{
case 1:
for (j = 1; j <= 3; j++)
{
printf("测试单词①:中文\n");
printf("请输入中文的英语单词:");
scanf_s(" %s", arr4, 10);
if (strcmp(arr1,arr4)==0)
{
printf("恭喜你,写对了,现在开始下一题的测试!\n");
l = l + 1;
break;
}
else
{
printf("很抱歉,你写错了,你还有%d的重新输入机会!\n", 3 - j);
continue;
}
}
if (j <= 3)
{
printf("第一道题答对,现在开始下一题的测试!\n");
}
else
{
printf("很抱歉,你第一道测试题出错,现在开始下一题的测试!");
}
break;
case 2:
for (j = 1; j <= 3; j++)
{
printf("测试单词②:数学\n");
printf("请输入数学的英文单词:");
scanf_s(" %s", arr4, 9);
if (strcmp(arr2,arr4)==0)
{
printf("恭喜你,写对了,现在开始下一题的测试!\n");
l = l + 1;
break;
}
else
{
printf("很抱歉,你写错了,你还有%d的重新输入机会!\n", 3 - j);
continue;
}
}
if (j <= 3)
{
printf("第二道题答对,现在开始下一题的测试!\n");
}
else
{
printf("很抱歉,你第二道测试题出错,现在开始下一题的测试!");
}
break;
case 3:
for (j = 1; j <= 3; j++)
{
printf("测试单词③:英语\n");
printf("请输入英语的英文单词:");
scanf_s(" %s", arr4, 9);
if (strcmp(arr3,arr4)==0)
{
printf("恭喜你,写对了,测试完毕!\n");
l = l + 1;
break;
}
else
{
printf("很抱歉,你写错了,你还有%d的重新输入机会!\n", 3 - j);
continue;
}
}
if (j <= 3)
{
printf("恭喜你,第三道题写对了!\n");
}
else
{
printf("很抱歉,你第三道测试题出错!\n");
}
break;
}
}
if(l>1)
{
printf("你此次的测试中共答对了%d道题目!", l);
}
else
{
printf("同学,你没有好好复习,三道题目全错!");
}
}
int main()
{
int a;
do {
menu();
printf("请输入你的选项:\n");
scanf_s("%d", &a, 1);
switch (a)
{
case 1:
test();
break;
case 2:
break;
default:
break;
}
} while (a != 2);
printf("结束测试!\n");
}
//代码中的重要函数是strcmp关键词,用法是if(strcmp(arr1,arr2)==0),通过按顺序比较两个数组的ascall判断两者是否相等,如果相等,则结果等于0,如果结果大于0,则第一个字符串大于第二个字符串,如果结果小于0,则第二个字符串大于第一个字符串。
//第二个重点则在于数组的定义,arr1[10];这点可以通过观察代码初始位置关于数组的定义理解,切记多多理解!
如果想多添加几个测试题目,再添加代码即可。