zoukankan      html  css  js  c++  java
  • C语言寒假大作战03

    1.1作业头

    这个作业属于哪个课程 班级链接
    这个作业的要求在哪里 C语言寒假大作战03
    我在这门课程的目标是 学习C 库函数 - rand()随机数的产生;continue,for(),while(),switch-case-default循环的熟练运用;以及函数调用和上传代码至码云
    作业正文 (https://www.cnblogs.com/chenyiAndy/p/12300567.html)
    参考文献 随机数rand

    2.2设计思路和遇到的问题

    设计思路

    心路历程:开始做的时候,没有什么思路,光想着怎么做好这个随机数,而没有付诸实践,主要是不知道怎么去做,有崩溃的想法;
    设计思路:首先利用rand函数实现数值的随机产生,然后利用switch()函数实现加减乘除的随机分配;

    遇到的问题

    (1)不知道怎么运用rand函数,使数值随机产生;
    (2)在排版加减运算的时候,会出现错位,一上一下。

    3.3 程序结果截图

    4.4 程序代码

    include<stdio.h>

    define _CRT_SECURE_NO_WARNINGS

    include<stdlib.h>

    include<time.h>

    int menu()
    {
    printf("=口算生成器= ");
    printf("欢迎使用口算生成器 : ");
    return 0;
    }
    int help()
    {
    printf("帮助信息: ");
    printf("你需要输入命令代号来进行操作,且 ");
    printf("一年级题目为不超过十位的加减法: ");
    printf("二年级题目为不超过百位的乘除法: ");
    printf("三年级题目为不超过百位的加减乘除混合题目. ");
    return 0;
    }
    int error()
    {
    printf("Error!!! ");
    printf("错误操作指令,请重新输入 ");
    return 0;
    }
    void first()
    {
    printf("现在是一年级题目: ");
    int a, b, c, d,i;
    srand((unsigned)time(NULL));
    printf("请输入生成个数>");
    scanf_s("%d",&d);
    printf("<执行操作:) ");
    for (i = 0; i < d; i++)
    {
    a = rand() % 10 + 0;
    b = rand() % 10 + 0;
    c = rand() % 2 + 1;
    printf("%d", a);
    switch (c)
    {
    case 1:printf(" + %d", b); break;
    case 2:printf(" - %d", b); break;
    }

    	printf(" = ___
    ");
    
    }
    

    }
    void second()
    {
    printf(" 现在是二年级题目: ");
    int a, b, c, d,i;
    srand((unsigned)time(NULL));
    printf("请输入生成个数>");
    scanf_s("%d", &d);
    printf("<执行操作:) ");
    for (i = 0; i < d; i++)
    {
    a = rand() % 100 + 0;
    b = rand() % 100 + 0;
    c = rand() % 2 + 3;
    if (c == 4 && b == 0)
    {
    i--;
    continue;
    }
    printf("%d", a);
    switch (c)
    {
    case 3:printf(" * %d", b); break;
    case 4:printf(" / %d", b); break;
    }

    	printf(" = ___
    ");
    }
    

    }
    void third()
    {
    printf(" 现在是三年级题目: ");
    int a, b, c, d,i;
    srand((unsigned)time(NULL));
    printf("请输入生成个数>");
    scanf_s("%d", &d);
    printf("<执行操作:) ");
    for (i = 0; i < d; i++)
    {

        a = rand() % 100 + 0;
    b = rand() % 100 + 0;
    c = rand() % 4 + 1;
    if (c == 4 && b == 0)
    {
    	i--;
    	continue;
    }
    printf("%d", a);
    switch (c)
    {
    case 1:printf(" + %d", b); break;
    case 2:printf(" - %d", b); break;
    case 3:printf(" * %d", b); break;
    case 4:printf(" / %d", b); break;
    }
    int j;
    j = rand() % 100 + 0;
    c = rand() % 4 + 1;
    if (c == 4 && j == 0)
    {
    i--;
    continue;
    }
    switch (c)
    {
    case 1:printf(" + %d", j); break;
    case 2:printf(" - %d", j); break;
    case 3:printf(" * %d", j); break;
    case 4:printf(" / %d", j); break;
    }
    
    printf(" = ___
    ");
    }
    

    }
    int main()
    {
    menu();
    printf(" ");
    help();
    printf(" ");
    int n=-1;
    while (n != 5)
    {
    printf("操作列表: ");
    printf("1)一年级 2)二年级 3)三年级 ");
    printf("4)帮助 5)退出程序 ");
    printf("请输入操作:");
    scanf_s("%d",&n);
    printf(" <执行操作:) ");
    printf(" ");
    switch (n)
    {
    case 1:
    first();
    printf(" ");
    break;
    case 2:
    second();
    printf(" ");
    break;
    case 3:
    third();
    printf(" ");
    break;
    case 4:
    help();
    printf(" ");
    break;
    case 5:
    printf("程序结束,欢迎下次使用,任意键结束 ");
    printf(" ");
    break;
    default:
    error();
    printf(" ");
    break;
    }
    }
    return 0;
    }

    5.5 Gitee上传截图与链接

    6.6Gitee链接

    https://gitee.com/chen_yi1/git20199311

  • 相关阅读:
    H
    G
    hdu1430魔板
    1104. Don’t Ask Woman about Her Age(数论)
    bellman_ford寻找平均权值最小的回路
    bellman_ford算法
    强联通块tarjan算法
    割点算法
    字符串的最小表示法
    扩展KMP
  • 原文地址:https://www.cnblogs.com/chenyiAndy/p/12300567.html
Copyright © 2011-2022 走看看