C语言寒假大作战03

2.2.1 作业头:

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/CST2019-2/
这个作业的要求在哪 https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/10271
这个作业的目标 学会并熟悉随机数的使用
作业正文 https://i-beta.cnblogs.com/posts/edit;postId=12296694
其他参考文献 https://www.cnblogs.com/czynb/p/12258780.html,https://www.cnblogs.com/abcd123456/p/12256867.html

2.2.2 设计思路和遇到的问题

在上次作业的基础上加了一个题目输出,这次作业的难点就是随机数和符号的变换,学习完rand函数后明白了随机数的产生,那接下来就是符号变换。

思路:先调用三个函数分别实现三种不同的题目类型,通过for函数实现每种题目十个,定义字符,产生随机符号,然后组合输出,接着大功告成。
问题:(1)在定义字符的时候我把rand()%2也当成一个符号,其实是一个数,所以每次输出的时候符号都是白的。
(2)在产生混合符号的时候我发现每次输出的俩个符号都相同,这显然不符合题目要求,这个时候我发现我只定义了一个字符op。
(3)在我改正第二个问题后,我又发现俩个符号很多次都是同种种类,不能实现混合。
(4)最后我发现我输出的随机数都是一个样,也就是伪随机数。

2.2.3 程序结果截图

C语言寒假大作战03_第1张图片
C语言寒假大作战03_第2张图片
C语言寒假大作战03_第3张图片
C语言寒假大作战03_第4张图片
C语言寒假大作战03_第5张图片

2.2.4 程序代码

#include 
#include 
#include 
int fen1 ()
{
    char ops[2]={'+','-'};
    int i, n=10, op;
    for(i=0; i\n\n");
    int a;
    time_t t;
    srand((unsigned) time(&t));
    scanf("%d", &a);
    printf("开始执行%d命令\n", a);
    switch (a) {
    case 1:fen1();goto sr;
    case 2:fen2();goto sr;
    case 3:fen3(); goto sr;
    case 4:help(a); goto sr;
    case 5:printf("程序结束, 欢迎下次使用\n任意键结束……"); return 0;
    default:printf("Error!!!\n错误操作指令, 请重新输入"); goto sr;
    }
}

2.2.5 Gitee上传截图与链接

C语言寒假大作战03_第6张图片
C语言寒假大作战03_第7张图片

https://gitee.com/he_bridge/xq

你可能感兴趣的:(C语言寒假大作战03)