C语言寒假大作战04


这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 C语言寒假大作战04
我在这个课程的目标是 完善计算题生成器
作业正文 博客正文
参考文献 百度知道 ,%g与%d

2.2.2 设计思路和遇到的问题

设计思路:
通过if——else判断随机生成的运算符号来进行计算出相应随机生成的计算题答案
遇到的问题:
此次作业未遇到问题


2.2.3 程序结果截图







2.2.4 程序代码

     #include<stdio.h>
     #include<stdlib.h>
     #include <time.h>
     int menu();
     int help();
     int error();
     int grade1(int b);
     int grade2(int b);
     int grade3(int b); 
     int main()
    {
int n,m=0;
while (m != 1)
{
printf("========口算生成器========\n");
printf("欢迎使用口算生成器 :\n");
printf("\n");
help();
printf("\n");
printf("\n");
menu();
scanf_s("%d", &n);

	switch (n)
	{
	case 1:grade1(n); break;
	case 2:grade2(n); break;
	case 3:grade3(n); break;
	case 4:help(); break;
	case 5:m = 1;printf("程序结束, 欢迎下次使用\n任意键结束……"); break;
	default:error(); break;
	}
     }
      }
   int help()
   {
printf("帮助信息 :\n");
printf("您需要输入命令代号来进行操作,且\n");
printf("一年级题目为不超过十位的加减法:\n");
printf("二年级题目为不超过百位的乘除法:\n");
printf("三年级题目为不超过百位的加减乘除混合运算题目.\n\n");
return 1;
   }
    int menu()
   {
printf("操作列表:\n");
printf("1)一年级  2)二年级  3)三年级\n");
printf("4)帮助    5)退出程序\n");
printf("请输入操作数>");
return 1;
   }
    int error()
   {
printf("Error!!!\n");
printf("错误操作指令,请重新输入\n");
return 1;
   } 
   int grade1(int b)
   {
int i,n,z,m,k,sum=0;
char op;
srand((unsigned)time(NULL));
printf("<执行操作:)\n");
printf("现在是一年级题目:\n");
printf("请输入生成个数>");
scanf_s("%d", &n);
for (i = 0; i < n; i++)
{
	z = rand() % 2;
	if (z == 0) 
		op = '+'; 
		if (z == 1)
			op = '-';
		m = rand() % 10;
		k = rand() % 10;
		if (op == '+')
			sum = m + k;
		else
			sum = m - k;
	printf("%2d%2c%2d=%2d\n",m,op, k,sum);
}
printf("执行完了\n");
return 1;
   }
  int grade2(int b)
  {
double i, n, z,a,m,sum=0;
char op;
srand((unsigned)time(NULL));
printf("<执行操作:)\n");
printf("现在是二年级题目:\n");
printf("请输入生成个数>");
scanf_s("%lf", &n);
for (i = 0; i < n; i++)
{
	z = rand() % 2;
	if (z == 0)
		op = '*';
	if (z == 1)
		op = '/';
	a = rand() % 10;
	if (op=='/'&&a == 0)
		a = rand()%9+1;
	m = rand() % 10;
	if (op == '*')
		sum = m * a;
	else
		sum = m / a;
	printf("%2g%2c%2g=%2g\n",m,op,a,sum);
}
printf("执行完了\n");
return 1;
  }
  int grade3(int b)
  {
double i, n, z1,z2, a,d,c,sum1=0,sum2=0;
char op1,op2;
srand((unsigned)time(NULL));
printf("<执行操作:)\n");
printf("现在是三年级题目:\n");
printf("请输入生成个数>");
scanf_s("%lf", &n);
for (i = 0; i < n; i++)
{
    a = rand() % 100;
	z1 = rand() % 4;
	if (z1 == 0)
		op1= '+';
	if (z1 == 1)
		op1 = '-';
	if (z1 == 2) 
		op1= '*';
	if (z1 == 3) 
		op1 = '/'; 
	d = rand() % 100;
	if (op1 == '/' && d == 0)
		d = rand() % 99 + 1;
	else
		d = rand() % 100;
	if (op1 == '+')
		sum1 = a + d;
	else
		if (op1 == '-')
			sum1 = a - d;
		else
			if (op1 == '*')
				sum1 = a * d;
			else
				sum1 = a / d;
	z2 = rand() % 4;
	if (z2 == 0)
		op2 = '+';
	if (z2== 1)
		op2 = '-';
	if (z2 == 2)
		op2 = '*';
	if (z2 == 3)
		op2 = '/';	
	c = rand() % 100;
	if (op2 == '/' && c == 0)
		c = rand() % 99 + 1;
	else 
		c = rand() % 100;
	if (op2 == '+')
		sum2= sum1 + c;
	else
		if (op2 == '-')
			sum2 = sum1 - c;
		else
			if (op2 == '*')
				sum2 = sum1 * c;
			else
				sum2 = sum1 / c;
	printf("%2g%2c%2g%2c%2g=%2g\n", a,op1,d,op2,c,sum2);
}
printf("执行完了\n");
return 1;
   }

2.2.5 Gitee上传截图与链接



2.2.6Gitee主页

我的主页

posted @ 2020-02-10 20:56  半世微凉  阅读(202)  评论(0编辑  收藏  举报