源代码:
#include<stdio.h>
#include<stdlib.h>main(){int a,b,op,os; printf(" [每课一练 妈妈再也不用担心我的学习]\n");aq1: printf("选择您想挑战的运算法则\n"); printf("1.加法 2.减法 3.乘法 4.除法\n"); scanf("%d",&op); switch(op) { aq: case 1: a=rand();b=rand(); printf("题目为:%d + %d = ?\n\n",a,b); printf("1.查看答案 2.做下一题\n"); scanf("%d",&os); if(os==1) {printf("%d + %d =%d\n\n\n",a,b,a+b); goto aq1; } else goto aq; break;at: case 2:a=rand();b=rand(); printf("题目为:%d - %d = ?\n\n",a,b); printf("1.查看答案 2.做下一题\n"); scanf("%d",&os); if(os==1) {printf("%d - %d =%d\n\n\n",a,b,a-b); goto aq1; } else goto at; break;aq2: case 3: a=rand();b=rand(); printf("题目为:%d * %d = ?\n\n",a,b); printf("1.查看答案 2.做下一题\n"); scanf("%d",&os); if(os==1) {printf("%d * %d =%d\n\n\n",a,b,a*b); goto aq1; } else goto aq2;aq3: case 4: a=rand();b=rand(); printf("题目为:%d / %d = ?\n\n",a,b); printf("1.查看答案 2.做下一题\n"); scanf("%d",&os); if(os==1) {printf("%d / %d =%d\n\n\n",a,b,a/b); goto aq1; } else goto aq3; break; }}总结:
1.rand()涵数没有真正实现随 用srand会更好
2.过多的goto使用 使整体结构破坏
3.没有设置rand的范围