小学生四则运算

小学生练习题四则运算包括真分数的四则运算和整数的四则运算,我写了八个函数,分别是整数加法、整数减法、整数乘法、整数除法、真分数加法,真分数减法,真分数乘法和真分数除法,利用随机函数rand()产生随机数,可以随意练习多少道题目,写完这个程序用了2个小时,主要用在调试上了。

#include<stdio.h>
#include<stdlib.h>
void add(int a,int b)     //整数加法
{
 a=rand()%100;
 b=rand()%100;
 printf("%d+%d=",a,b);
 return ;

}
void sub(int a,int b)     //整数减法
{
 int c;
 a=rand()%100;
 b=rand()%100;
 if(a<b)
 {
  c=a;
  a=b;
  b=c;
 }
   printf("%d-%d=",a,b);
   return ;
}
void mul(int a,int b)           //整数乘法
{
 a=rand()%100;
 b=rand()%100;
 printf("%d*%d=",a,b);
 return ;
}
void mq(int a,int b)            //整数除法
{
 a=rand()%100;
 b=rand()%100;
 while(b==0)
  b=rand()%100;
 printf("%d/%d=",a,b);
 return ;
}
void add1(int a,int b,int c,int d)          //真分数加法
{  
 int t;
 a=rand()%100;
 b=rand()%100;
 c=rand()%100;
 d=rand()%100;
 while(b==0)
 {
  b=rand()%100;
 }
 while(d==0)
 {
  d=rand()%100;
 }
    if(a>b)
 {
  t=a;
  a=b;
  b=t;
 } 
 if(c>d)
 {
  t=c;
  c=d;
  d=t;
 }
    printf("%d/%d+%d/%d=",a,b,c,d);
 return ;
}
void sub1(int a,int b,int c,int d)           //真分数减法
{  
 int t;
 a=rand()%100;
 b=rand()%100;
 c=rand()%100;
 d=rand()%100;
 while(b==0)
 {
  b=rand()%100;
 }
 while(d==0)
 {
  d=rand()%100;
 }
    if(a>b)
 {
  t=a;
  a=b;
  b=t;
 } 
 if(c>d)
 {
  t=c;
  c=d;
  d=t;
 }
 if(a/b>c/d)
    printf("%d/%d-%d/%d=",a,b,c,d);
 else
    printf("%d/%d-%d/%d=",c,d,a,b);
 return ;
}
void mul1(int a,int b,int c,int d)                    //真分数乘法
{  
 int t;
 a=rand()%100;
 b=rand()%100;
 c=rand()%100;
 d=rand()%100;
 while(b==0)
 {
  b=rand()%100;
 }
 while(d==0)
 {
  d=rand()%100;
 }
    if(a>b)
 {
  t=a;
  a=b;
  b=t;
 } 
 if(c>d)
 {
  t=c;
  c=d;
  d=t;
 }
    printf("%d/%d*%d/%d=",a,b,c,d);
 return ;
}
void mq1(int a,int b,int c,int d)               //真分数除法
{  
 int t;
 a=rand()%100;
 b=rand()%100;
 c=rand()%100;
 d=rand()%100;
 while(b==0)
 {
  b=rand()%100;
 }
 while(d==0)
 {
  d=rand()%100;
 }
    if(a>b)
 {
  t=a;
  a=b;
  b=t;
 } 
 if(c>d)
 {
  t=c;
  c=d;
  d=t;
 }
 printf("(%d/%d)/(%d/%d)=",a,b,c,d);
 return ;
}
void main()
{
   int n,a,b,c,d;
   printf("欢迎进入小学生算数练习系统! ");
   while(1)
   {
   scanf("%d",&n);
     switch(n)
     {
      case 1: add(a,b);break;
      case 2: sub(a,b);break;
      case 3: mul(a,b);break;
      case 4: mq(a,b);break;
      case 5: add1(a,b,c,d);break;
      case 6: sub1(a,b,c,d);break;
      case 7: mul1(a,b,c,d);break;
      case 8: mq1(a,b,c,d);break;
      default:printf("input error!");break;
     }
   }
}

 这个代码虽然实现了基本功能但还有很多缺点,比如不够优化,功能不够完善,希望在以后学习中不断提高,写出更加高效完善的代码。

原文地址:https://www.cnblogs.com/wangzongjie/p/5267990.html