混合四则运算 王奕炜

 #include <stdio.h>
#include <stdlib.h>
#include <time.h>
char getSignal(); //获取随机运算符函数

int getResult(int,int,char); //结果计算函数

int main()
{
int i,k,p,a[1000],b[1000];//用于保存10个产生的随机数
k=0;
char signal;
int get=0;
srand((unsigned int)time(NULL));//设置当前时间为种子
for (i = 0; i < 1000; ++i){
a[i] = rand()%100+1;//产生1~100的随机数
}
//打印生成的随机数
for (i = 0; i < 1000; ++i){
b[i] = rand()%100+1;//产生1~100的随机数
}

for(i=0;i<1000;i++) //开始算 
{ signal=getSignal();
if(signal=='-')
{
if(a[i]<b[i])
{
int temp;
temp=a[i];
a[i]=b[i];
b[i]=temp;
}
}
if(signal=='/')
{
if(b[i]==0)
{
int temp;
temp=a[i];
a[i]=b[i];
b[i]=temp;
}

p=getResult(a[i],b[i],signal);
if(k<=300)
{
if(p<=100)
{
printf("%d%c%d=%d",a[i],signal,b[i],p);

fflush(stdout);
printf ("\n");
Sleep(1000);
fflush(stdin); //清空输入缓冲区
k=k+1; 
}
else{/*printf("我爱学习!");*/}
}
else
{
return 0;
}
}
}


char getSignal()
{
char signal[4]={'+','-','*','/'};
srand((unsigned)time(NULL));
return signal[rand()%4];
}
int getResult(int num1,int num2,char signal)
{
int res;
switch(signal)
{
case '+':
res=num1+num2;break;
case '-':
res=num1-num2;break;
case '*':
res=num1*num2;break;
case '/':
res=num1/num2;break;
default:
printf("运算符错误!\n");
}
return res;
}
posted @ 2019-03-19 22:21  Nee4l  阅读(174)  评论(0编辑  收藏  举报