2.2.1 作业头:
2.2.2 设计思路和遇到的问题
- 开始不知道怎么运用rand函数,还有就是<time.h>的作用和srand不熟悉等等。
- 还有就是对于怎么表示加减乘除这种符号想了很久。
2.2.3 程序结果截图
![]()
![]()
![]()
2.2.4 程序代码
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int num1(int a);
int num2(int b);
int num3(int c);
int main()
{
int x, a, b, c, i;
printf("======口算生成器======\n");
printf("欢迎使用口算生成器:)\n");
printf("帮助信息:\n");
printf("请输入命令代号进行操作,且:\n");
printf("一年级的题目为不超过十位数的加减法:\n");
printf("二年级的题目为不超过百位数的乘除法:\n");
printf("三年级的题目为不超过百位数的加减乘除法:\n");
printf("\n");
printf("\n");
for(int i; x<5; i++)
{
printf("操作列表:");
printf("1) 一年级 2)二年级 3)三年级 \n 4)帮助 5)退出程序\n");
printf("请输入操作>\n");
printf("<执行操作:)");
scanf("%d", &x);
switch(x)
{
case 1:num1(a); break;
case 2:num2(b); break;
case 3:num3(c); break;
case 4:printf("帮助信息:\n");
printf("请输入命令代号进行操作,且:\n");
printf("一年级的题目为不超过十位数的加减法:\n");
printf("二年级的题目为不超过百位数的乘除法:\n");
printf("三年级的题目为不超过百位数的加减乘除法:\n"); break;
case 5: break;
default:printf("Error!!!\n 错误命令,请重新键入"); break;
}
}
printf("程序结束,欢迎下次使用\n 按任意键结束......");
return 0;
}
int num1(int a)
{
int n, x, y, i;
printf("现在是一年级的题目:\n");
printf("请输入生成题目个数:\n");
scanf("%d", &n);
printf("<执行操作:)\n");
srand((unsigned)time(NULL));
for(i=1; i<=n; i++)
{
x=rand()%9+1;
y=rand()%9+1;
char symbol[2] = {'+','-'};
printf("%d %c %d = ___\n", x,symbol[rand()%2], y);
}
return 0;
}
int num2(int b)
{
int n, x, y, i;
printf("现在是二年级的题目:\n");
printf("请输入生成的题目个数:\n");
scanf("%d", &n);
printf("<执行操作:)\n");
srand((unsigned)time(NULL));
for(i=1; i<=n; i++)
{
x=rand()%99+1;
y=rand()%99+1;
char symbol[2] = {'*','/'};
printf("%d %c %d = ___\n", x,symbol[rand()%2],y);
}
return 0;
}
int num3(int c)
{
int n, x, y, z, i;
printf("现在是三年级的题目:\n");
printf("请输入生成的题目个数:\n");
scanf("%d", &n);
printf("<执行操作:)\n");
srand((unsigned)time(NULL));
for(i=1; i<=n; i++)
{
x=rand()%99+1;
y=rand()%99+1;
z=rand()%99+1;
char symbol[4] = {'+','-','*','/'};
printf("%d %c %d %c %d = ___\n",x,symbol[rand()%4],y,symbol[rand()%4],z);
}
return 0;
}
2.2.5 Gitee上传截图与链接
![]()
![]()
我的仓库地址: https://gitee.com/wei_hao_jie/whj20199413