陈琬琰yoyo

导航

C语言寒假大作战04

问题|答案
-|-|-
这个作业属于哪个课程|班级链接
这个作业的要求在哪里|作业要求
这个作业的目标|在自主设计一个有各年级题目的菜单栏的基础上给出相应答案。
参考文献|作业要求里提供的一系列文献随机数rand,百度百科,dev 码云。

2.1设计思路与遇到的问题。

(1)设计思路:在上次设计出作业的基础上变量改成浮点型变量。
(2)遇到的问题:%g刚开始不知道什么意思,到后面百度后明白了。有时候会忘记改某一个变量,导致编译错误。

2.2程序结果截图




2.3程序代码

'''
#include<stdio.h>
#include<stdlib.h>
#include<time.h> 
void menu();
void error(int a);
void help();
int main()
{
int cj=1;
int b,m,i,g;
double A1,A2,A3,A4,A5;
char ch,ch2;
printf("========口算生成器========\n");
printf("欢迎使用口算生成器:\n");
printf("\n");
help();
while(cj)
{
	menu();
	scanf("%d",&cj);
	if(cj==5)
	break;
	switch(cj)
	{
		case 1:printf("现在是一年级题目:\n");
	           printf("请输入生成题目个数:");
	           scanf("%d",&b);
			   printf("题目列表:\n"); 
			   printf("\n");
			   for(i=0;i<b;i++)
			   {
			   	    A1=rand()%11;
			   	    A2=rand()%11;
			   		m=rand()%2;
			   		if(m==1)
			   		printf(" %.f + %.f = %g\n", A1,A2,A1+A2);
			   		else
			   		printf(" %.f - %.f = %g\n", A1,A2,A1-A2);
			   }
			   
			   break;
		case 2:printf("现在是二年级题目:\n");
			   printf("请输入生成题目个数:");
			   scanf("%d",&b);
			   printf("题目列表:\n"); 
			   printf("\n");
			   for(i=0;i<b;i++)
			   {
			   		A1=rand()%101;
			   		A2=rand()%101;
			   		A3=rand()%100+1;
			   		m=rand()%2;
			   		if(m==1)
			   		printf(" %.f * %.f = %g\n", A1,A2,A1*A2);
			   		else
			   		printf(" %.f / %.f = %g\n", A1,A3,A1/A3);
			   }
			   break;
		case 3:printf("现在是三年级题目:\n");
		       printf("请输入生成题目个数:");
		       scanf("%d",&b);
			   printf("题目列表:"); 
		       printf("\n");
		       for(i=0;i<b;i++)
		       {
		       		A1=rand()%101;
		       		A2=rand()%100+1;
		       		A3=rand()%100+1;
		       		m=rand()%4;
		       		switch(m)
		       		{
		       			case 0:
		       			ch='+';A4=A1+A2;break;
		       			case 1:
		       			ch='-';A4=A1-A2;break;
		       			case 2:
		       			ch='*';A4=A1*A2;break;
		       			case 3:
		       			ch='/';A4=A1/A2;break;
					   }
						g=rand()%4;
						switch(g)
						{
							case 0:
		       				ch2='+';A5=A4+A3;break;
		       				case 1:
		       				ch2='-';A5=A4-A3;break;
		       				case 2:
		       				ch2='*';A5=A4*A3;break;
		       				case 3:
		       				ch2='/';A5=A4/A3;break;
						}
						printf(" %.f %c %.f %c %.f = %g\n", A1,ch,A2,ch2,A3,A5);
			   }
		       break;
		case 4:help();
			   break;
		default:error(cj);
		        break;
	}
	printf("\n");
  }
   printf("\n");
   printf("程序结束,欢迎下次使用....");
     }
   void help()
  {
	printf("帮助信息:\n");
	printf("你需要输入命令代号来进行操作,且\n");
	printf("一年级题目不超过十位数的加减法:\n");
	printf("二年级题目不超过百位的乘除发:\n");
	printf("三年级题目不超过百位的加减乘除混合题目。\n");
	printf("\n");
  }
  void menu()
  {
	printf("操作列表:\n");
	printf("1)一年级  2)二年级  3)三年级\n");
	printf("4)帮助  5)提出程序\n");
	printf("<请输入操作>:");
	printf("\n");
 }
  void error(int a)
  {
	printf("Error!!!");
	printf("错误操作指令,请重新输入\n");
  }

2.4Gitee上穿截图与链接


陈琬琰yoyo

posted on 2020-02-12 15:38  陈琬琰yoyo  阅读(135)  评论(0编辑  收藏  举报