C语言寒假大作战04
1. 本周作业头
| 这个作业属于哪个课程 | 班级作业链接 |
|---|---|
| 这个作业要求在哪里 | 作业要求的链接 |
| 这个作业的目标 | 在之前的基础上加上答案 |
| 作业正文 | https://www.cnblogs.com/Litinga/p/12294612.html |
| 其他参考文献 | 学长录制的视频 |
2. 设计思路和遇到的问题
心路历程:平淡,内心毫无波动-->一年级的较为简单-->二年级的除法有点问题-->借鉴别人的博客-->写完了
程序设计思路:在上次作业的基础上,把加上答案即可
遇到的问题:二年级的除法不能用int,而是double。
3. 程序结果截图



4.程序代码截图
#include<stdio.h>
#include<stdlib.h>
void yinianji()
{
printf("执行操作\n");
printf("\n");
printf("现在是一年级题目:\n");
printf("请输入生成题目数目:\n");
int x;
scanf("%d",&x),
printf("执行操作:\n");
for(int i;i<10;i++)
{
int a = rand()%2;
int b = rand()%11;
int c = rand()%11;
if(a==1)
printf("%d + %d = %d\n",b,c,b+c);
else
printf("%d - %d = %d\n",b,c,b-c);
}
printf("\n");
}
void ernianji()
{
int y;
printf("执行操作\n");
printf("\n");
printf("现在是二年级题目:\n");
printf("请输入生成题目数目:\n");
scanf("%d",&y);
printf("执行操作\n");
for(int i;i<y;i++)
{
int a = rand()%2;
int b = rand()%11;
int c = rand()%11;
if(a==1)
printf("%d * %d = %d\n",b,c,b*c);
else
printf("%d / %d = %d\n",b,c,b/(c*1.0));
}
printf("\n");
}
void sannianji()
{
int z;
printf("执行操作\n");
printf("\n");
printf("现在是三年级题目:\n");
printf("请输入生成题目数目:\n");
scanf("%d",&z);
printf("执行操作\n");
for(int i=1;i<=z;i++)
{
int a = rand() % 100;
int b = rand() % 100;
int c = rand() % 100;
int d = rand() % 2;
int e = rand() % 2;
if(d==1&&e==1)
{
printf(" %d + %d * %d = %.8g\n",a,b,c,(double)a+b*c);
}
if(d==1&&e==2||e==0)
{
printf(" %d + %d / %d = %.8g\n",a,b,c,(double)a+b/c);
}
if(d==2&&e==1)
{
printf(" %d - %d * %d = %.8g\n",a,b,c,(double)a-b*c);
}
if(d==2||d==0&&e==1)
{
printf(" %d - %d / %d = %.8g\n",a,b,c,(double)a-b/c);
}
}
printf("\n");
}
void cuowu()
{
printf("Error!\n");
printf("错误操作指令,请重新输入\n");
printf("\n");
}
void help()
{
printf("\n");
printf("帮助信息\n");
printf("您需要输入命令代号来进行操作,且\n");
printf("一年级题目为不超过十位数的加减法;\n");
printf("二年级的题目为不超过百位数的乘除法;\n");
printf("三年级的题目为不超过百位的加减乘除的混合题目.\n");
printf("\n");
}
int main()
{
printf("======口算生成器======\n");
printf("欢迎使用口算生成器:\n");
printf("\n");
printf("帮助信息\n");
printf("您需要输入命令代号来进行操作,且\n");
printf("一年级的题目为不超过十位数的加减法;\n");
printf("二年级的题目为不超过百位数的乘除法:\n");
printf("三年级的题目为不超过百位数的加减乘除的混合题目.\n");
printf("\n");
printf("操作列表:\n");
printf("1)一年级 2)二年级 3)三年级\n");
printf("4)帮助 5)退出程序\n");
printf("请输入操作:");
int x;
int b=1;
scanf("%d",&x);
while(5)
{
if(x==5)
{
break;
}
switch(x)
{
case 1 : yinianji ();break;
case 2 : ernianji ();break;
case 3 : sannianji ();break;
case 4 : help ();break;
default : cuowu ();break;
}
printf("操作列表:\n");
printf("1)一年级 2)二年级 3)三年级\n");
printf("4)帮助 5)退出程序\n");
printf("请输入操作:");
x=0;
scanf("%d",&x);
}
printf("执行操作\n");
printf("\n");
printf("程序结束,欢迎下次使用,按任意键结束");
getchar();
return 0;
}

浙公网安备 33010602011771号