C++多重循环练习
练习2
1、完善程序。
输入5个整数,输出最小的数。
#include <iostream>
using namespace std;
int main()
{
int a[5], min, i;
for(i=0;i<5;i++)
{
cin>>a[i];
——————————;
for(i=l;i<5;i++)
if(a[i]<min)min=a[i];
cout<<"最小的数:"<<______;
return 0;
}
2、完善程序。
输入5个整数,输出最小的数。
#include <iostream>
using namespace std;
int main()
{
int a[5], min, i;
for(i=0; i<5;i++)
cin>>a[i];
__________;
for(i=1; i<5;i++)
if(a[i]<min)min=a[i];
cout<<"最小的数:"<<_______;
return 0;
}


完善程序。
输入5个数,排序后按由大到小的顺序输出(选择排序)。
#include <iostream>
using namespace std;
int main()
{
int a[6], i, j, t;
cout <<"输入5个整数:" <<endl;
for(i=1; i<=5; i++)
cin>>a[i];
for(i=1; i<=4; i++)
{
t=i;
for(j=i+1; j<=5; j++)
if(a[i]>a[t]) ________;
if(t!=i)
{
a[0]=a[i];
__________;
a[t]=a[0];
}
}
for(i=l; i<=5; i++)
cout <<_______<<"";
return 0;
}
练习题1
完善程序,输入到计算机运行,得到要求的结果。
1、有一个三位数,个位数字比百位数字大,而百位数字又比十位数并且各位数字之和等于各位数字相乘之积,求此三位数。
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int ge, shi, bai ans;
for(shi=1; shi<=7;shi++)
for(bai=shi+1; bai<=8; bai++)
for(ge=bai+1; ge<=9; ge++)
{
if(______)
{
_________;
cout<<ans<<endl;
}
}
return 0;
}
2、狐狸老师又布置了一个新任务,完成后可以获得(100)2元比特童币.任务要求用0,1.2,3,4.5.6.7八个数字组成三位数的奇数,共有多
少个,分别是那几个?
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int b,s,g,shu,count=0;
for(b=1; b<=7;b++)
for(s=0;s<=7;___)
for(g=1;g<=7;g=g+2)
{
shu=b*100+s*10+g;
cout<<shu <<"";
______________;
}
cout<< endl;
cout<<"个数:"<<count<<endl;
return 0;
}
输入一个整数,把它分解成若干个质因数乘积的形式。
#include <iostream>
using namespace std;
int main()
{
int n,i;
_____________;
cout<<n<<'n';
for(i=2; n!=1;i++) //n没有除尽,就重复操作
{
while(n%i==0) //n能被i整除,就重复做除法操作
{
cout<< i;
_________;
if(n!=1)cout <<'*';
}
}
return 0;
}
完善程序,输入到计算机运行,得到要求的结果。
1、编程序输出如图所示的图形。
11111
22222
33333
44444
#include <iostream>
using namespace std;
int main()
{
int i, j;
for(i=1;____;i++)
{
for(j=1;_______;j++)
cout<<________;
cout <<endl;
}
returm 0;
}
2、
#include <iostream>
using namespace std;
int main()
{
int i,j,ans;
ans=0;
for(i=1;i<=99;i++)
for(j=1;j<=i;j++)
{
____________;
if(i==99&&j==9)_________;
}
cout<<ans<<endl;
return 0;
}
3、求1×1×1×1+2×2×2×2+3×3×3×3+·-n×n×n×n的和是多少?
#include <iostream>
using namespace std;
int main()
{
int i,f,n;
long long sum, sumn;
sum=0;
cout<<"n=";
cin>>n;
for(i=1;i<=n; i++)
{
___________;
for(j=1;j<=4:j++)
sumn*=i;
___________;
}
cout<<sun <<endi;
return 0;
}
编程题
渔夫打鱼晒网问题:如果一个渔夫从 2011年1月1日开始,三天打鱼两天晒网,编程实现当输入 2011年1月1日以后的任意一天,输出该渔夫是在打渔还是在晒网。
本题主要有以下两个思路要点:
(1) 判断输入的年份(2011 年以后包括 2011 年)是否为闰年。该函数的核心内容就是闰年的判断条件即能被 4 整除但不能被 100 整除,或能被 400 整除。
(2) 求输入日期距 2011 年 1 月 1 日有多少天。首先判断 2011 年距输入的年份有多少年,这其中有多少年是闰年就将 sum 加多少个 366,有多少年是平年便将 sum 加上多少个 365。
其次要注意平年2月有28天,闰年2月有29天。
1月:31天。2月:闰年为29天,平年为28天。3月:31天。4月:30天。5月:31天。6月:30天。
7月:31天。8月:31天。9月:30天。10月:31天。11月:30天。12月:31天
最后,将累加结果加上输入的日期便求出了最终结果。
知识链接:
1、闰年的判断
2、switch语句
3、【C/C++】 switch-case 详解/全面总结

浙公网安备 33010602011771号