何嘉政

导航

C语言寒假大作战03

这个作业属于哪个课程 班级链接
这个作业要求在哪里 作业链接
这个作业的目标 学会使用rand函数生成随机数
作业正文 此篇博客
其他参考文献 文章链接

1.设计思路和遇到的问题

设计思路:

在上次作业的基础上使用rand函数使算式生成随机数。

遇到的问题:

1.符号漏写。
2.三年级题目里一开始输入了4个数,以及第一个符号和第二个符号没有分开讨论。


2. 程序结果截图


3.程序代码

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main ()
{
	int n=-1, m, i, x, y;
	char c, d;
	time_t t;
	srand((unsigned) time(&t));
	printf ("====口算生成器====\n");
    printf ("欢迎使用口算生成器:\n");
    printf(" \n");
    printf(" \n");
    printf ("帮助信息\n");
    printf ("您需要输入命令代号来进行操作,且\n");
    printf ("一年级题目为不超过十位数的加减法;\n");
    printf ("二年级的题目为不超过百位数的乘除法;\n");
    printf ("三年级的题目为不超过百位的加减乘除的混合题目.\n");
    while (n!=0)
    {
    	printf(" \n");
        printf(" \n");
    	printf("操作列表:\n");
        printf("1>一年级    2>二年级     3>三年级\n");
        printf("4>帮助      5>退出\n"); 
        printf("请选择:\n");
    	scanf ("%d", &n);
    	printf (">>>执行操作:\n"); 
    	switch (n)
    	{
    		case 1: printf ("这是一年级的题目:\n");
    		printf ("请给出需要生成的题目个数:\n");
    		scanf ("%d", &m);
    		printf (">>>执行操作:\n");
    		for (i=1;i<=m;i++)
    		{
    			x=rand()%2;
    			if (x==1)
    			printf (" %d + %d =  \n", rand()%10, rand()%10);
    			else
    			printf (" %d - %d =  \n", rand()%10, rand()%10);
			}
			break ;
			case 2: printf ("这是二年级的题目:\n");
			printf ("请给出需要生成的题目个数:\n");
    		scanf ("%d", &m);
    		printf (">>>执行操作:\n");
    		for (i=1;i<=m;i++)
    		{
    			x=rand()%2;
    			if (x==1)
    			printf (" %d * %d =  \n", rand()%100, rand()%100);
    			else
    			printf (" %d / %d =  \n", rand()%100, rand()%100);
			}
			break ;
			case 3: printf ("这是三年级的题目:\n");
			printf ("请给出需要生成的题目个数:\n");
    		scanf ("%d", &m);
    		printf (">>>执行操作:\n");
    		for (i=1;i<=m;i++)
    		{
    			x=rand()%4;
    			switch (x)
    			{
    				case 0:c='+'; break;
    				case 1:c='-'; break;
    				case 2:c='*'; break;
    				case 3:c='/'; break;
				}
				y=rand()%4;
    			switch (y)
    			{
    				case 0:d='+'; break;
    				case 1:d='-'; break;
    				case 2:d='*'; break;
    				case 3:d='/'; break;
				}
				printf (" %d %c %d %c %d =  \n", rand()%100, c, rand()%100, d, rand()%100);
			}
			break ;
			case 4:printf(" \n");
            printf("帮助信息\n");
            printf ("您需要输入命令代号来进行操作,且\n");
            printf ("一年级题目为不超过十位数的加减法;\n");
            printf ("二年级的题目为不超过百位数的乘除法;\n");
            printf ("三年级的题目为不超过百位的加减乘除的混合题目.\n");
            break;
            case 5:printf ("程序结束,欢迎下次使用,按任意键结束");
            return 0;
            default:printf ("Error!!!\n");
            printf ("错误操作指令, 请重新输入\n");
		}
	}
}

4.Gitee上传截图与链接

何嘉政的主页

posted on 2020-02-12 19:36  何嘉政  阅读(155)  评论(0编辑  收藏  举报