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 详解/全面总结

posted @ 2025-03-14 23:16  gdyyx  阅读(84)  评论(0)    收藏  举报