• 电脑四则运算出题


    本次作业是编写一个自动出四则运算的题的编程题目,拿道题后思考了很久,数字随机产生很简单,但如何去随机加减乘除。经过思考和查阅资料决定运用switch的选择结构,来选择出题的加减乘除。还有一个问题,在选择c语言编写的环境下,随机函数与java中并不一样,java中直接用random=new random()便可,可是在C中需要在头文件中加入#include<time.h>的头文件,并且需要加入这行代码,srand(time(0)); a=rand()%100+1;这是随机产生100以内的随机数。随后不断根据老师的要求改编代码,最终完成如下算法:

     1 #include"stdio.h"
     2 #include"stdlib.h"
     3 #include<time.h>
     4 int main(){
     5 int i,a,b,c,d,e; 
     6 printf("请输入要出的题数:");
     7 scanf("%d",&i); 
     8 srand(time(0));
     9 for(int j=0;j<i;j++)
    10     {
    11         a=rand()%100+1;
    12         b=rand()%100+1;
    13         d=rand()%100+1;
    14         e=rand()%100+1; 
    15         c=rand()%8;
    16         if(a<=b){
    17            
    18             switch(c){
    19                 case 0:printf("%d+%d=
    ",a,b);break;
    20                 case 1:printf("%d-%d=
    ",b,a);break;
    21                 case 2:printf("%d×%d=
    ",a,b);break;
    22                 case 3:printf("%d÷%d=
    ",a,b);break;
    23                  
    24                 case 4:{ 
    25                        if(d<=e) printf("%d/%d+%d/%d=
    ",a,b,d,e);
    26                        else printf("%d/%d+%d/%d=
    ",a,b,e,d);    
    27                 }break;
    28                 case 5:{ 
    29                        if(d<=e) printf("%d/%d-%d/%d=
    ",a,b,d,e);
    30                        else printf("%d/%d-%d/%d=
    ",a,b,e,d);    
    31                 }break;
    32                 case 6:{ 
    33                        if(d<=e) printf("%d/%d×%d/%d=
    ",a,b,d,e);
    34                        else printf("%d/%d×%d/%d=
    ",a,b,e,d);    
    35                 }break;
    36                 case 7:{ 
    37                        if(d<=e) printf("%d/%d÷%d/%d=
    ",a,b,d,e);
    38                        else printf("%d/%d÷%d/%d=
    ",a,b,e,d);    
    39                 }break;
    40             }
    41             }
    42             else{
    43                 switch(c){
    44                 case 0:printf("%d+%d=
    ",a,b);break;
    45                 case 1:printf("%d-%d=
    ",a,b);break;
    46                 case 2:printf("%d×%d=
    ",a,b);break;
    47                 case 3:printf("%d÷%d=
    ",b,a);break;
    48                  
    49                 case 4:{ 
    50                        if(d<=e) printf("%d/%d+%d/%d=
    ",b,a,d,e);
    51                        else printf("%d/%d+%d/%d=
    ",b,a,e,d);    
    52                 }break;
    53                 case 5:{ 
    54                        if(d<=e) printf("%d/%d-%d/%d=
    ",b,a,d,e);
    55                        else printf("%d/%d-%d/%d=
    ",b,a,e,d);    
    56                 }break;
    57                 case 6:{ 
    58                        if(d<=e) printf("%d/%d×%d/%d=
    ",b,a,d,e);
    59                        else printf("%d/%d×%d/%d=
    ",b,a,e,d);    
    60                 }break;
    61                 case 7:{ 
    62                        if(d<=e) printf("%d/%d÷%d/%d=
    ",b,a,d,e);
    63                        else printf("%d/%d÷%d/%d=
    ",b,a,e,d);    
    64                 }break;
    65             }
    66             } 
    67     }
    68 }

    题目演示为:

    编写完这个题目收获很多,任何程序都需要一次次的修改,不会在第一遍就能完美完成。一步一个脚印,最好!

  • 相关阅读:
    设计模式
    设计模式
    设计模式
    设计模式
    【Sublime】许可证 及 相关设置
    【Linux】跳过ubuntu grub2引导,使用Windows引导ubuntu
    【Linux】Windows 7下硬盘安装Ubuntu 14.10图文教程
    【ACM】连连看 hdu1175
    【算法】约瑟夫环 C++源代码
    【Java】配置JAVA的环境变量
  • 原文地址:https://www.cnblogs.com/zzkmark/p/5265379.html
Copyright © 2020-2023  润新知