这个作业属于哪个课程 | C语言程序设计I |
---|---|
这个作业要求在哪里 | https://www.cnblogs.com/douqi/p/12303521.html |
这个作业的目标 | 了解rand()函数的运用 |
作业正文 | https://www.cnblogs.com/lsq47/p/12312591.html |
其他参考文献 | %g与%d |
2本次作业
2.2.2 设计思路和遇到的问题
这次作业也是在上一次作业的基础上进行添加,所以没有特别多的思路。
问题在于后面两个运算的设计,理清之后,问题就得以解决。
2.2.3 程序截图
2.2.4 程序代码
include
include
include
include
include
void fact();void one();
void two();void three();
void help();void five();void error();
int main()
{
int number=1,i=1;
printf("===========口算生成器===========\n");
printf("欢迎使用口算生成器 :)\n");
printf("\n");
printf("帮助信息:\n");
printf("您需要输入命令代号来进行操作,且\n");
printf("一年级题目为不超过十位数的加减法:\n");
printf("二年级题目为不超过百位数的乘除法:\n");
printf("三年级题目为不超过百位数的加减乘除混合题目。\n");
while(i!=0){
printf("\n");
printf("操作列表:\n");
printf("1)一年级 2)二年级 3)三年级\n");
printf("4)帮助 5)退出程序\n");
printf("请输入操作> ");
scanf("%d",&number);
printf("<执行操作:)\n");
printf("\n");
switch(number){
case 1:printf("请输入生成个数>");
one();break;
case 2:printf("请输入生成个数>");
two();break;
case 3:printf("请输入生成个数>");
three();break;
case 4:help();break;
case 5:five();i=0;
break;
default:error();break;}}
return 0;
}
void fact(){
printf("\n");
printf("操作列表:\n");
printf("1)一年级 2)二年级 3)三年级\n");
printf("4)帮助 5)退出程序\n");
printf("请输入操作> ");
}
void help(){
printf("帮助信息:\n");
printf("您需要输入命令代号来进行操作,且\n");
printf("一年级题目为不超过十位数的加减法:\n");
printf("二年级题目为不超过百位数的乘除法:\n");
printf("三年级题目为不超过百位数的加减乘除混合题目。\n");
}
void one(){
int i,n,x,y,z;
scanf("%d",&n);
srand((unsigned)time(NULL));
for(i=1;i<=n;i++){
x=rand()%10;
y=rand()%10;
z=rand()%2;
if(z==0){
printf("%2d + %2d = %2d",x,y,x+y);}
else{
printf("%2d - %2d = %2d",x,y,x-y);
}
printf("\n");
}
}
void two(){
int i,n,x,y;
float z;
scanf("%d",&n);
srand((unsigned)time(NULL));
for(i=1;i<=n;i++){
x=rand()%100;
y=rand()%100;
z=rand()%2;
if(z==0){
printf("%2d * %2d = %2d",x,y,xy);}
else{
y!=0;
z=x/(y1.0);
printf("%2d / %2d = %g",x,y,z);
}
printf("\n");
}
}
void three(){
int o,d,i,a,b,c;
float z;
char fh1[2],fh2[2];
time_t t;
srand((unsigned) time(&t));
printf("现在是三年级题目:\n");
printf("请输入生成个数>\n");
scanf("%d",&o);
printf("<执行操作:)\n");
char fh[4][6] = {"","/","+","-"};
for (int i=0; i
a=rand() % 100;
b=rand() % 100;
c=rand() % 100;
while (a==0||b==0||c==0)
{
a=rand() % 100;b=rand() % 100;c=rand() % 100;
}
strcpy(fh1,fh[rand() % 3]);
strcpy(fh2,fh[rand() % 3]);
if(strcmp(fh1,"
{
z = a b * c;
printf("%2d %s %2d %s %2d = %g\n",a,fh1,b,fh2,c,z);
}
else if(strcmp(fh1,"")==0&&strcmp(fh2,"/")==0)
{
z = a b / (c1.0);
printf("%2d %s %2d %s %2d = %g\n",a,fh1,b,fh2,c,z);
}
else if(strcmp(fh1,"")==0&&strcmp(fh2,"+")==0)
{
z = a * b + c;
printf("%2d %s %2d %s %2d = %g\n",a,fh1,b,fh2,c,z);
}
else if(strcmp(fh1,"")==0&&strcmp(fh2,"-")==0)
{
z = a b - c;
printf("%2d %s %2d %s %2d = %g\n",a,fh1,b,fh2,c,z);
}
else if(strcmp(fh1,"/")==0&&strcmp(fh2,"+")==0)
{
z = a / (b1.0) + c;
printf("%2d %s %2d %s %2d = %g\n",a,fh1,b,fh2,c,z);
}
else if(strcmp(fh1,"/")==0&&strcmp(fh2,"-")==0)
{
z = a / (b1.0) - c;
printf("%2d %s %2d %s %2d = %g\n",a,fh1,b,fh2,c,z);
}
else if(strcmp(fh1,"/")==0&&strcmp(fh2,"/")==0)
{
z = a / (b1.0) / (c1.0);
printf("%2d %s %2d %s %2d = %g\n",a,fh1,b,fh2,c,z);
}
else if(strcmp(fh1,"+")==0&&strcmp(fh2,"-")==0)
{
z = a + b - c;
printf("%2d %s %2d %s %2d = %g\n",a,fh1,b,fh2,c,z);
}
else if(strcmp(fh1,"+")==0&&strcmp(fh2,"+")==0)
{
z = a + b + c;
printf("%2d %s %2d %s %2d = %g\n",a,fh1,b,fh2,c,z);
}
else if(strcmp(fh1,"-")==0&&strcmp(fh2,"-")==0)
{
z = a - b - c;
printf("%2d %s %2d %s %2d = %g\n",a,fh1,b,fh2,c,z);
}
else if(strcmp(fh1,"/")==0&&strcmp(fh2,"")==0)
{
z = a / (b1.0) * c;
printf("%2d %s %2d %s %2d = %g\n",a,fh1,b,fh2,c,z);
}
else if(strcmp(fh1,"+")==0&&strcmp(fh2,"/")==0)
{
z = a + b / (c1.0);
printf("%2d %s %2d %s %2d = %g\n",a,fh1,b,fh2,c,z);
}
else if(strcmp(fh1,"+")==0&&strcmp(fh2,"")==0)
{
z = a + b * c;
printf("%2d %s %2d %s %2d = %g\n",a,fh1,b,fh2,c,z);
}
else if(strcmp(fh1,"-")==0&&strcmp(fh2,"/")==0)
{
z = a - b / (c1.0);
printf("%2d %s %2d %s %2d = %g\n",a,fh1,b,fh2,c,z);
}
else if(strcmp(fh1,"-")==0&&strcmp(fh2,"+")==0)
{
z = a - b + c;
printf("%2d %s %2d %s %2d = %g\n",a,fh1,b,fh2,c,z);
}
else if(strcmp(fh1,"-")==0&&strcmp(fh2,"")==0)
{
z = a - b * c;
printf("%2d %s %2d %s %2d = %g\n",a,fh1,b,fh2,c,z);
}
}
}
void five(){
printf("\n");
printf("程序结束,欢迎下次使用,任意键结束.....\n");
}
void error(){
printf("\n");
printf("Error!!!\n");
printf("错误操作指令,请重新输入\n");
}