四则运算2
一、实验思想
1.题目避免重复
先输出第一组,输出第二组时每个数与第一组的数字依次进行对比,第三组的时候与第一二组进行比较,以此类推
2.打印方式
控制每行有多少组,然后换行
3.函数式要求
判断有无乘法、余数、负数,范围
二、实验源代码
#include<iostream.h>
#include<stdlib.h>
int main()
{
int num,fanwei,mul,fushu,yushu,num1;
int a[100],b[100],c[4],temp,i,j,k;
cout<<"请输入题目数量:";
cin>>num;
cout<<"请输入题目中数值范围:";
cin>>fanwei;
cout<<"是否有乘除法(1表示有,其余表示没有):";
cin>>mul;
cout<<"是否允许减法结果为负数(1表示允许,其余表示不允许):";
cin>>fushu;
cout<<"除法结果有无余数(1表示允许,其余表示不允许):";
cin>>yushu;
cout<<"一行输出几道题目(不大于6道):";
cin>>k;
while(k<=0||k>6)
{
cout<<"注意输入要求:";
cin>>k;
}
for(i=0;i<num;i++) //进行 题目数量 次循环
{
a[100]=rand()%fanwei; //控制数值范围
b[100]=rand()%fanwei;
if(mul==1) //控制有无乘除法
c[4]=rand()%4; //根据c[4]的值随机出现四则运算
else
c[4]=rand()%2;
if(c[4]==0)
{
cout<<a[100]<<"+"<<b[100]<<"= ";
}
if(c[4]==1)
{
if(fushu != 1)
{
temp=a[100];
a[100]=b[100];
b[100]=temp;
cout<<a[100]<<"+"<<b[100]<<"= ";
}
else
{
cout<<a[100]<<"-"<<b[100]<<"= ";
}
}
if(c[4]==2)
{
while((yushu != 1)&&(a[100]%b[100] != 0));
{
a[100]=rand()%fanwei;
}
cout<<a[100]<<"/"<<b[100]<<"= ";
}
if(c[4]==3)
{
cout<<a[100]<<"*"<<b[100]<<"= ";
}
if((i+1)%k==0)
cout<<endl;
for(j=0;j<i;j++) //判断题目是否重复,若重复则a[i]++
if(a[j]==a[i]&&b[j]==b[i]&&c[j]==c[i])
a[i]++;
}
return 0;
}
三、实验结果截图
四、编不出来的原因
1.对C++语言中部分程序设计方法不熟悉;
2.对关键词的定义不熟悉,出现了好几个部分用一个变量的情况;
3.了解C与C++代码的不同;
4.多编多练