C语言寒假大作战04

这个作业属于哪个课程 班级链接
这个作业要求在哪里 作业链接
**这个作业的目标 ** 熟悉使用git命令,理解代码用途
其他参考文献 %g与%d的区别
作业正文 本篇博客

1.1 设计思路和遇到的问题

  • 设计思路:直接在题目后面加上一个参数计算出答案。
  • 遇到的问题:除数不能为0,我用的是穷举法,所以需要多次分类,略显麻烦,但答案正确。

1.2程序结果截图

1.3程序代码

#include<stdio.h>
#include <stdlib.h>
#include <time.h>
void one()
{
	printf(":)
");
	printf("
");
	printf("现在是一年级题目:
");
	printf("操作完成

");
    srand((int)time(0));
    int i;
    for(i=1;i<=10;i++)
    {
    	int a=rand() % (10);
    	int b=rand() % (10);
    	if(rand()%2==1)
    	{
    		printf("%d + %d =%d
",a,b,a+b);
		}
		else 
		    printf("%d - %d =%d
",a,b,a-b);

	}
    
}
void two()
{
	printf(":)
");
	printf("
");
	printf("现在是二年级题目:
");
	printf("操作完成
");
    srand((int)time(0));
    int i;
    for(i=1;i<=10;i++)
    {
    	if(rand()%2==1)
    	{
    		int a=rand() % (10);
    	    int b=rand() % (10);
    		printf("%d * %d =%g
",a,b,a*1.0*b);
		}
		else 
		{
			int a=rand() % (10);
    	    int b=rand() % (10)+1;
		    printf("%d / %d =%g
",a,b,a*1.0/b);			
		}
	}
}
void three()
{
	printf(":)
");
	printf("
");
	printf("现在是三年级题目:
");
	printf("操作完成
");
    srand((int)time(0));
    int i;
    for(i=1;i<=10;i++)
    {
    	int a=rand() % (101);
    	int b=rand() % (101);
    	int c=rand()%(101);
    	if(rand()%17==0)
    		printf("%d + %d + %d=%g
",a,b,c,a+b+c);
		else if(rand()%17==1)
			printf("%d + %d - %d=%g
",a,b,c,a+b-c);
		else if(rand()%17==2)
		    printf("%d + %d * %d=%g
",a,b,c,a+b*1.0*c);
		else if(rand()%17==3)
		{
			int c=rand()%(101)+1;
			printf("%d + %d / %d=%g
",a,b,c,a+b*1.0/c);
		}
		else if(rand()%17==4)
		{
			int c=rand()%(101)+1;
			printf("%d * %d / %d=%g
",a,b,c,a*1.0*b/c);
		}
        else if(rand()%17==5)
		    printf("%d * %d - %d=%g
",a,b,c,a*1.0*b-c);
        else if(rand()%17==6)
		    printf("%d * %d * %d=%g
",a,b,c,a*1.0*b*c);
        else if(rand()%17==7)
        {
        	int b=rand()%(101)+1;
        	int c=rand()%(101)+1;
        	printf("%d / %d / %d=%g
",a,b,c,a*1.0/b/c);
		}
        else if(rand()%17==8)
        {
            int b=rand()%(101)+1;
            printf("%d / %d - %d=%g
",a,b,c,a*1.0/b-c);
		}
        else if(rand()%17==9)
		    printf("%d - %d - %d=%g
",a,b,c,a-b-c);
        else if(rand()%17==10)
		    printf("%d - %d + %d=%g
",a,b,c,a-b+c);
        else if(rand()%17==11)
		    printf("%d * %d + %d=%g
",a,b,c,a*1.0*b+c);
        else if(rand()%17==12)
        {
        	int b=rand()%(101)+1;
        	printf("%d / %d + %d=%g
",a,b,c,a*1.0/b+c);
		}
        else if(rand()%17==13)
		    printf("%d - %d * %d=%g
",a,b,c,a-b*1.0*c);
        else if(rand()%17==14)
        {
            int c=rand()%(101)+1;
            printf("%d - %d / %d=%g
",a,b,c,a-b*1.0/c);
		}
        else
        {
        	int b=rand()%(101)+1;
        	 printf("%d / %d * %d=%g
",a,b,c,a*1.0/b*c);
		}
	}	
}
void mistake()
{
	printf("Error!
");
	printf("错误操作指令,请重新输入
");
	printf("
");
}
void four()
{
	printf("
");
	printf("帮助信息
");
	printf("你需要输入命令代号来进行操作,且
");
	printf("一年级题目为不超过十位数的加减法;
");
	printf("二年级的题目为不超过百位数的乘除法;
");
	printf("三年级的题目为不超过百位的加减乘除的混合题目.

");
}
int main()
{
	printf("======口算生成器======
");
	printf("欢迎使用口算生成器:

");
	printf("帮助信息
");
	printf("您需要输入命令代号来进行操作,且
");
	printf("一年级的题目为不超过十位数的加减法;
");
	printf("二年级的题目为不超过百位数的乘除法:
");
	printf("三年级的题目为不超过百位数的加减乘除的混合题目.

");
	printf("操作列表:
");
	printf("1)一年级 2)二年级 3)三年级
");
	printf("4)帮助 5)退出程序
");
	printf("请输入操作:");
	int n;
	
	scanf("%d", &n);
	while (1)
	{
		if (n == 5)
		{
			break;
		}
		switch (n)
		{
		case 1: one(); break;
		case 2: two(); break;
		case 3: three(); break;
		case 4: four(); break;
		default: mistake(); break;
		}
		printf("操作列表:
");
		printf("1)一年级 2)二年级 3)三年级
");
		printf("4)帮助 5)退出程序
");
		printf("请输入操作:");
		n = 0;
		scanf("%d", &n);
	}
	printf(":)
");
	printf("
");
	printf("程序结束,欢迎下次使用,按任意键结束");
	getchar();
	return 0;
}

1.4Gitee上传截图与链接

solokill的主页##

原文地址:https://www.cnblogs.com/solokill/p/12294936.html