C语言寒假大作战04

问题 答案
这个作业属于那个课程 2019级计算机4班
这个作业要求在哪里 C语言寒假大作战04
这个作业的目标 使用switch编写菜单程序,使用rand函数来产生随机数,并算出生成口算题的结果
作业正文 作业正文
其它参考文献 %g与%d

2.2.2 设计思路和遇到的问题

思路:在03的基础上,进行轻微修改,打印出答案。

2.2.3 程序结果截图



2.2.4 程序代码

#include<stdio.h>
#include <windows.h> 
#include<stdio.h>
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
void help();
void error();
void one();
void two();
void three();
int main()
{
	int a;
	printf("========== 口算生成器 ==========\n"); 
	printf("欢迎使用口算生成器 :");
	help();
	while(1)
	{
			Sleep(1000);
	printf("\n\n操作列表:\n");
	printf("1)一年级    2)二年级    3)三年级\n4)帮助      5)退出程序\n请输入操作> ");
	scanf("%d",&a);
	printf("\n<执行操作:)\n");
		Sleep(1000);
	switch(a)
	{
		case 1:one();break;
		case 2:two();break;
		case 3:three();break;
		case 4:help();break;
		case 5:printf("\n\n程序结束, 欢迎下次使用\n任意键结束……\n");break;
		default:error();break;
	}
	if(a==5)
	break;
}
 Sleep(3000);
 } 
 
void three()
{
	printf("\n\n现在是三年级题目:\n");
 int a,b,c,i,w;
srand((unsigned)time( NULL ));
printf("请输入生成个数>");
scanf("%d",&w);
	printf("\n<执行操作:)\n");
for(i=0;i<w;i++)
{

  	a=rand()%100+0;
   b=rand()%100+0;
  c=rand()%4+1;
  if(c==4&&b==0)
  {
  	i--;
  	continue;
  }
  

  printf("%d",a);
   switch(c) 
   {
   case 1:printf(" + %d",b);break;
   case 2:printf(" - %d",b);break;
   case 3:printf(" * %d",b);break;
   case 4:printf(" / %d",b);break;
}
		int k,c1;
		k=rand()%100+0;
  		c1=rand()%4+1;
  		if(c1==4&&k==0)
 	 {
  			i--;
  			continue;
 	 }

   		switch(c1) 
 	  {
  			case 1:printf(" + %d",k); switch(c) 
   {
   case 1:printf(" = %d\n",a+b+k);break;
   case 2:printf(" = %d\n",a-b+k);break;
   case 3:printf(" = %d\n",a*b+k);break;
   case 4:printf(" = %g\n",a/(b*1.0)+k);break;
};break;
   			case 2:printf(" - %d",k); switch(c) 
   {
   case 1:printf(" = %d\n",a+b-k);break;
   case 2:printf(" = %d\n",a-b-k);break;
   case 3:printf(" = %d\n",a*b-k);break;
   case 4:printf(" = %g\n",a/(b*1.0)-k);break;
};break;
   			case 3:printf(" * %d",k); switch(c) 
   {
   case 1:printf(" = %d\n",a+b*k);break;
   case 2:printf(" = %d\n",a-b*k);break;
   case 3:printf(" = %d\n",a*b*k);break;
   case 4:printf(" = %g\n",a/(b*1.0)*k);break;
};break;
   			case 4:printf(" / %d",k); switch(c) 
   {
   case 1:printf(" = %g\n",a+b/(k*1.0));break;
   case 2:printf(" = %g\n",a-b/(k*1.0));break;
   case 3:printf(" = %g\n",a*b/(k*1.0));break;
   case 4:printf(" = %g\n",a/(b*1.0)/k);break;
};break;
		}
	
	
}
}

void one()
{
	printf("\n\n现在是一年级题目:\n");
 int a,b,c,i,w;
srand((unsigned)time( NULL ));
printf("请输入生成个数>");
scanf("%d",&w);
	printf("\n<执行操作:)\n");
for(i=0;i<w;i++)
{
a=rand()%10+0;
   b=rand()%10+0;
  c=rand()%2+1; 
  
 

  printf("%d",a);
   switch(c) 
   {
   case 1:printf(" + %d = %d\n",b,a+b);break;
   case 2:printf(" - %d = %d\n",b,a-b);break;
}
}
}
void two()
{
	printf("\n\n现在是二年级题目:\n");
	int a,b,c,i,w;
srand((unsigned)time( NULL ));
printf("请输入生成个数>");
scanf("%d",&w);
	printf("\n<执行操作:)\n");
for(i=0;i<w;i++)
{
  
  	a=rand()%100+0;
   b=rand()%100+0;
  c=rand()%2+3;
  if(c==4&&b==0)
  {
  	i--;
  	continue;
  }

  printf("%d",a);
   switch(c) 
   {
   case 3:printf(" * %d = %d\n",b,a*b);break;
   case 4:printf(" / %d = %g\n",b,a/(b*1.0));break;
}

}
}
void help()
 {
 	printf("\n\n帮助信息\n");
	printf("您需要输入命令代号来进行操作, 且\n");
	printf("一年级题目为不超过十位的加减法;\n");
	printf("二年级题目为不超过百位的乘除法;\n");
	printf("三年级题目为不超过百位的加减乘除混合题目.");
 }
 void error()
 {
 	printf("\n\nError!!!\n错误操作指令, 请重新输入\n");
 }

2.2.5 Gitee上传截图与链接

链接:https://gitee.com/ning_fan/winter_vacation_battle/tree/master

posted @ 2020-02-12 14:06  宁凡  阅读(178)  评论(0编辑  收藏  举报