作业二: 编写自动生成小学四则运算题目的程序
- 主要功能: 可自动随机生成加、减、乘、除四则运算,输入答案是,可直接判断正误。
- 设计思想:利用C语言,使用随机函数生成运算数
- 源代码:
#include<stdio.h> #include<stdlib.h> #include<time.h> int i=0,j=0; void jia() { int a,b,m; srand(time(NULL)); a=1+rand()%100; b=1+rand()%100; printf("%d\n",a); printf("%d\n",b); printf("a+b=?\n"); printf("请输入结果\n"); scanf("%d",&m); if(m==a+b) { printf("你答对了棒棒哒\n"); i++; } else { printf("你答案有错误请改正\n"); j++; } } void jian() { int a,b,m; srand(time(NULL)); a=1+rand()%100; b=1+rand()%100; if(a<b) { int t=0; t=a;a=b;b=t; } printf("%d\n",a); printf("%d\n",b); printf("a-b=?\n"); printf("请输入运算结果\n"); scanf("%d",&m); if(m==a-b) { printf("你答对了棒棒哒\n"); i++; } else { printf("你答案有错误请改正\n"); j++; } } void cheng() { int a,b,m; srand(time(NULL)); a=1+rand()%20; b=1+rand()%20; printf("%d\n",a); printf("%d\n",b); printf("a*b=?\n"); printf("请输入运算结果\n"); scanf("%d",&m); if(m==a*b) { printf("你答对了棒棒哒\n"); i++; } else { printf("你答案有错误请改正\n"); j++; } } void chu() { int a,b,m; srand(time(NULL)); a=1+rand()%100; b=1+rand()%100; if(b==0) { b=1+rand()%100; } if(a<b) { int t=0; t=a;a=b;b=t; } while(a%b!=0) { a=1+rand()%100; b=1+rand()%100; } printf("%d\n",a); printf("%d\n",b); printf("a/b=?\n"); printf("请输入运算结果\n"); scanf("%d",&m); if(m==a/b) { printf("你答对了棒棒哒\n"); i++; } else { printf("你答案有错误请改正\n"); j++; } } <br> int main() { int m,n=0; while(1) { printf("1.加法运算\n"); printf("2.减法运算\n"); printf("3.乘法运算\n"); printf("4.除法运算\n"); printf("请选择"); scanf("%d", &m); switch(m) { case 1:jia();break; case 2:jian();break; case 3:cheng();break; case 4:chu();break; } printf("5.请重新选择\n"); printf("6.结束\n"); scanf("%d", &n); if(n==6) break; } printf("你回答题的总数%d和正确的个数%d\n",i+j,i); return 0; }
- 程序运行截图:
- (1)选择运算方法:
- (2)选择运算方法:
- (3)当结果正确时:
PS:其他运行算法没有依次截图,都是一样的,结果正确或错误都可马上弹出。
总结: 我是利用C语言做的,代码和程序都不算很难,但我已经尽力了,总的来说收获很大,大二的时候做过计算器,我觉得这两种方法比较起来,对学习编程有很大的帮助,相辅相成。其实我觉得加、减、乘、除的结构都是差不多的,会一个其他的也可以闻一知十,由于我基础还需要加强,真分数的编程代码和方式我会慢慢学习,也会认真看老师在群里发的链接,和推荐的书籍,希望对自己有帮助。