当前位置: 首页 > news >正文

19C++循环结构-多重循环(2)

一、三重循环与程序的优化

教学视频

百钱买百鸡

3文钱可以买1只公鸡,2文钱可以买1只母鸡,1文可以买3只小鸡,要用100文买100只(每种鸡必买1只)。
试编一程序,求公鸡,母鸡、小鸡各有多少只?
如果100文钱全部买公鸡,最多可以买儿?33只;如果100文钱全部买母鸡,最多可以买几只?50只;如果100文全部买小鸡,最多可以买几只?300只?不对,鸡一共有100只。所以小鸡最多是100只。可以用枚举法,依次枚举每种鸡的只数,如果同时满足“百钱”“百鸡”两个条件。那么就输出每种鸡相应的只数。
公母+母鸡+小鸡=100只
买公鸡的钱+买母鸡的钱+买小鸡的钱=100文
三重循环执行:33x50x100=165000次
优化简化为双重循环:

#include <iostream>
#include <iomanip>
using namespace std;
int main()
{int gongji,muji,xiaoji;cout<<setw(5)<<"公鸡"<<setw(5)<<"母鸡"<<setw(5)<<"小鸡"<<endl;for(gongji=1;gongji<=33;gongji++)for(muji=1;muji<=50;muji++){xiaoji=100-gongji-muji;if(gongji*3+muji*2+xiaoji/3.0==100)cout<<setw(5)<<gongji<<setw(5)<<muji<<setw(5)<<xiaoji<<endl;}return 0;
}

练习:

(1)常听说计算机中了“木马”:下面关于“木马”描述正确的是( )
A.是指木头做的马
B.是指计算机中非常隐秘的恶意程序,能直接对计算机产生危害
C.木马病毒是通过特定的木马程序来控另一台计算机
D.如果计算机中了木马,该计算机任何时间都会被木马控制
(2)阅读程序写结果

#include <iostream>
#include <iomanip>
using namespace std;
int main()
{int i, j, ans=0;i=l;while(i<=3){for(j=1;j<=5;j++)ans+=j;i++;}cout << ans<< endl;return 0;
}

i,j,ans输出:________________
(3)完善程序。
有一个三位数,个位数字比百位数字大,而百位数字又比十位数并且各位数字之和等于各位数字相乘之积,求此三位数。

#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;
}

二、四重循环

教学视频
问题:

#include <iostream> 
using namespace std;
int main()
{int a1,a2,a3,a4,n;for(a4=0;a4<=1;a4++)for(a3=0;a3<=1;a3++)	for(a2=0;a2<=1;a2++)for(a1=0;a1<=1;a1++){n=a4*8+a3*4+a2*2+a1*1;cout<<a4<<a3<<a2<<a1<<"B    "<<n<<endl;}return 0;	
}

练习:

(1)
(2)阅读程序写结果

#include <iostream>
#include <iomanip>
using namespace std;
int main()
{int i, j, ans=0;i=l;while(i<=3){j=l;do{ans+=i*i;j++;}while(j<=5);i++;}cout << ans <<endl;
return 0;
}

i,j,ans输出:________________
(3)完善程序。
狐狸老师又布置了一个新任务,完成后可以获得(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;
}

三、超市收费程序

教学视频
比特超市是风之巅小学的同学们用比特童币换购商品的地方,每个月最后一周的周五12:00到12:40开放、由同学们轮流经营。为了能自动算出每位来换购的同学应付的货款,自动算出超市一天的营业额,自动统计一天换购的人数,需要一个简易的超市收费程序。
试编一个超市收费程序,实现上述功能。
超市一天来多少位同学是不确定的,可以用一个结束标志来检查是否一天结束了。每位同学换购的商品种类也不一样,可以在每位同学换购结束时输入一个特殊的数作为结束标志。同时需要设两个累加器,一个累加每位同学应付的贷款,一个累加一天的营业额。设一个计数器,记录换购的人数。
n为每个物品的价格,用素加器sumone累加一位同学应付的货款,用累加器sum累加一天的营业额,用计数器num统计一天换吻的人数。当输入0时为一个人结束,当输入-1时为一天结束。流程图如图

#include <iostream>
using namespace std;
int main()
{int num=0;float n,sumone,sum;bool  flag; flag=true;sum=0.0;while(flag){ sumone=0.0;do{cin>>n; if(n==-1){flag=false;break;}sumone+=n;}while(n!=0);cout<<"当前顾客应付的货款:" ;cout <<sumone<<endl;if(sumone!=0) num++;sum+=sumone;}cout<<"今天的营业额:"<<sum<<endl;cout<<"今天的顾客人数:"<<num<<endl;return 0;
}

练习

(1)下列不属于网络连接设备的是()。

   A.网卡       B.交换机         C. TCP/IP           D.路由器      

(2)阅读程序写结果。

#include <iostream>
using namespace std;
int main()
{int i,j,p,ans=0,i=l;do{p=l;j=l;while(j<=5){ p*=j;j++;}ans+=p;1++;}while(i<=3);
cout << ans<< endl;
return 0;
}

i,j,p,ans输出:_____________
3.完善程序。
输入一个整数,把它分解成若干个质因数乘积的形式。

#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;
}
http://www.vanclimg.com/news/29.html

相关文章:

  • 数据库计算机三级等级考试–网络技术
  • 树03
  • 如何快速做一个矢量格式的Logo?我盘点了6个最火的AI Logo设计工具,可快速生成品牌设计!
  • 【2025-07-25】暑假安排
  • B2013 温度表达转化
  • B2005 字符三角形
  • P5704 【深基2.例6】字母转换
  • B2021 输出保留 3 位小数的浮点数
  • 最新版idea2025有效激活码,idea永久破解激活教程(内附激活码+激活工具)
  • Feign返回text/plain导致DecodeException问题与解决方案总结
  • git ignore 文件,只跟踪特定文件
  • CAXA工艺图表2025 下载安装激活详细教程,5分钟即可安装使用
  • MATCH 查询模式和语法详解
  • 导出内核函数符号并重新编译安装
  • LGP4782 [LG TPLT] 2-SAT 学习笔记
  • Biomu测试手册
  • 老车子ce导航 瑞风s5换大屏安卓导航
  • 老安卓机子延年益寿 更新webview和let x1根证书
  • 手把手玩转本地大模型:Ollama+DeepSeek+Dify 零门槛全流程指南
  • 6N90-ASEMI电源管理专用6N90
  • Biomu测试手册
  • 老车子ce导航 瑞风s5换大屏安卓导航
  • 老安卓机子延年益寿 更新webview和let x1根证书
  • 手把手玩转本地大模型:Ollama+DeepSeek+Dify 零门槛全流程指南
  • 6N90-ASEMI电源管理专用6N90