问题描述?
用c语言随机生成两个整数,并选择一种运算计算这两个随机数的“和、差、商、积”。
大致思路
由于需要生成两个随机数这里我们要使用rand这个这个函数,但是rand函数只会生成一个固定的数,所以我们要播种随机种子srand以生成多个不同的随机数。在选择哪种运算时由于已经有了4种情况这里我们选择switch case语句更加简洁。
整体代码
在进行加、减、乘三种运算时由于都是整型变量所以可以直接进行运算,但是在进行除法运算时如果都是整型变量的话会使计算结果不准,出现误差。所以在进行除法运算之前应当先将这两个整型变量强制转化为浮点型变量。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int a,b,c, sum1;
double sum2;
float a1,b1;
srand((int)time(NULL));
a=rand() % 99+0;
b=rand() % 99+0;//生成随机数的范围为0~99
printf("这两个随机数是%d %d\n",a,b);
printf("选择一种四则运算\n");
printf("1加 2减 3乘 4除\n");
scanf("%d",&c);
switch(c)
{
case 1:
sum1=a+b;
printf("经过加法运算之后两数之和为%d\n",sum1);break;
case 2:
sum1=a-b;
printf("经过减法运算之后两数之差为%d\n",sum1);break;
case 3:
sum1=a*b;
printf("经过乘法运算之后两数之积为%d\n",sum1);break;
case 4:
a1=(float)a,b1=(float)b;//将生成的整型a,b强制转化为浮点型。
sum2=a1/b1;
printf("经过除法运算之后两数之商为%3.2f\n",sum2);break;
default: printf("输入有误"); break;
}
}
以上便是所有代码,下面是代码结果。
|