课堂作业第三周
题目要求:1 题目避免重复
2 可定制(数量/打印方式)
3 可控制下列参数:
是否有乘除法,数值范围,加减有无负数,除法有无余数,是否支持分数(真分数,假分数)
思路:用随机数生成两个数,将两个数分别存入两个数组,每出一道题都与以前的每组进行对比,如果两个数分别都与以前的相同,则重新产生两个随机数。设置参数,用for循环控制出题数量。并且可以控制每行的输出题目的个数。设置参数,用if来判断是否有乘除法。由于用roud()函数产生随机数所以用变量控制数值范围。随机数生成后进行判断,若无负数则要求第一个随机数必须大于第二个否则重新产生。若不产生余数,则让计算机进行判断,无法整除的则跳过。
| 日期 | 开始时间 | 结束时间 | 中断时间 | 净时间 | 活动 | 备注 | 
| 3/14 | 10:00 | 11:10 | 10分钟 | 1小时 | 查阅资料,思考题目 | 翻看以前的程序 | 
| 15:30 | 17:00 | 1个半小时 | 进行初步编写规划 | 写出题目避免重复 | ||
| 3/15 | 9:00 | 11:00 | 30分钟 | 1个半小时 | 编写出乘除法,加法的程序 | 和同学聊天,寻找思路 | 
| 16:00 | 17:00 | 1个小时 | 编写是否有无余数 | |||
| 3/16 | 16:00 | 17:00 | 1个小时 | 编写加减有无负数 | 修改错误 | |
| 3/18 | 10:00 | 11:00 | 1个小时 | 调试,修改bug | ||
| 3/19 | 12:00 | 13:00 | 20分钟 | 40分钟 | 进行最后的调试,编写文档 | |
代码
#include<iostream>
#include <iomanip>
#include<cmath>
using namespace std;
void main()
{
	int i,j,m,n,k,g=0,h,w,a[1000],b[1000],e,p,t,l,f,d,v,x,u=0;
	cout<<"请输入出题数目"<<endl;
	cin>>m;
	cout<<"请输入数值范围"<<endl;
	cin>>n;
	cout<<"请输入每行题目的个数:1-5"<<endl;
	cin>>x;
	cout<<"1 有乘除 2 无乘除"<<endl;
	cin>>w;
	if(w==1){
	cout<<"1 无余数 2 有余数"<<endl;
	cin>>v;}
	cout<<"1 无负数 2 有负数"<<endl;
	cin>>t;
    
	for(i=0;i<1000;i++)
	{a[i]=0;b[i]=0;
	}
	for(p=0;p<m;p++)
	{
		if(t==1)
		{
		k=rand()%n+1;
		j=rand()%n+1;}
		else{
			l=rand()%2+1;
			 f=pow(-1.0,l);
			 d=pow(-1.0,l);
           k= f*rand()%n+1;
		   j= d*rand()%n+1;
		}
		e=0;
		if(v==1&&w==1&&k%j!=0)
		{
			m=m+1;}
		else{
        if(t==1&&k<j)
		{
			m=m+1;}
		else{
		if(j==0)
		{m=m+1;
		}
		else{
		for(i=0;i<1000;i++)
		{
			if(a[i]==k&&b[i]==j)
			{ e=1;
			m=m+1;}
		}
		if(e==0)
		{
			g=g+1;
		for(i=g-1;i<g;i++)
		{	a[i]=k;
		    b[i]=j;
		}
		
		if(w==1){
		h=rand()%4+1;
        
		}
		else{
            h=rand()%2+1;
        }
     
		if(h==1)
			cout<<setiosflags(ios::right)<<setw(8)<<k<<"+ "<<j<<"="<<"   ";
        if(h==2)
			cout<<setiosflags(ios::right)<<setw(8)<<k<<"- "<<j<<"="<<"   ";
		if(h==3)
			cout<<setiosflags(ios::right)<<setw(8)<<k<<"* "<<j<<"="<<"   ";
		if(h==4)
			cout<<setiosflags(ios::right)<<setw(8)<<k<<"/ "<<j<<"="<<"   ";
		 u=u+1;
		 if(u%x==0)
			 cout<<endl;
		}
		
		}
		}}
	}
	}
总结
通过这次编程,我知道了编程前策划的重要性,还有要和同学们相互交流沟通可以拓展自己的思路,寻找灵感,特别是当你遇到瓶颈时,要多看资料。
 
                    
                     
                    
                 
                    
                 
                
            
         
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号