最新C++第6课多重循环教案资料

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

{ 控制空格的个数;
前一半; 后一半;
for (j=1;j<=I;j++) cout<<j; for (j=i-1;j>=1;j--) cout<< j;
cout<<endl;
}
p 10
P1121: N=3时,输出如下的图形:
edcba
54321
cba
321
a
1
分析:i从大到小,第i行的个数是2*i-1,第1行字母从ea对 应的数字从5-->1,用ASCII码来转换,5+961+96
p7
[例3] 编写程序,在屏幕上显示下列图形的n行,每行的个数是m,m、n均 由键盘输入(m<20,n<30),如:n=4, m=6 时输出如下的图形,第一行前 面没有空格。 ******
****** ****** ******
分每析行M:个若,不那考么虑n图行形可的用错计位数关控循k系=制环0,;空实而用格现直来的(接大打循印环一)个,矩每形行的的图个形数,也为可n以行, 用计数循环实现(小循环): 个数
cin>>n;
❖{怎样控制位置}
for (i=n;i>=1; i--)
{
for (j=1;j<=2*i-1;j++)
cout<<“#”;
cout<<endl;
}
p9
P1123: 分析:采用二重循环,大循环产生N行, 小循环产生每一行.
cin>>n; for ( i=1;i<=n;i++)
1 121 12321 1234321 123454321 12345654321 1234567654321 123456787654321 12345678987654321
cin>>n>>m;
for (j=1;j<=k;j++)
for (i=1;i<=n;i++) {
cout<<“ “; //输出K个空格
K=k+1;
for ( j=1;j<=m;j++)
cout<<“*”;
cout<<endl; {每行结束时换行};
}
p8
❖ [例4] 输出如下的n行(n<20)图形,n由键盘输入。
{ a=m/ 100; b=m % 100 / 10; c=m % 10;
if (a*a*a+b*b*b+c*c*c==m) cout<< m; }
p2
P1119: 求1—N中的素数的个数.(1<=N<=10000)
思路:s=0; cin>>n; for(i=2;i<=n;i++)
{ 判断i是不是素数,如果是 s=s+1;
C++第6课多重循环
例1:求三位数中的水仙花数。(若abc是水仙花 数,则有abc=a3+b3+c3) 例如:153= 13+53+33 分析:采用穷举法,从100-999中搜索, 将每个数的三个 数字分解出来, 再计算立方和,最后与原数比较,如果相 等,则是符合条件的三位数. for (m=100;m<=999;m++)
For (j=5;j>=1;j--) { char k=96+j;
cout>>k; } 定义一个字符型变量K,K取一个整数值,输出K的值的 时候就会输出ASCII码对应的字符。
p 11
P1122 1
357 91357
分析:第i行的个数是2*i-1,输出的数字从1开始,每次加2, 如果超过9,则返回1.
❖ 如:n=6时,输出如下的图形,第一行前没有空格
❖ ########### {11个}
6行
❖ ######### {9个}
5行
❖ ####### {7个}
4行
11=6*2-1 9=5*2-1 7=4*2-1
❖ #####
{5个}

###
{3个}

#
{1个}
3行
2行
……
1行
1=1*2-1
分析:用二重与个数的关系式: 个数=2*i-1
for (i=1;i<=n;i++)
if (i% j==0) s=s+j;
{ 求 i 的因子和,用S存放;
if (s==i) cout<<i<<endl;
}
上述做法的运算次数是:N*N 称为时间复杂度
1秒的运算次数=2^25==3.3*10^7(8位数)二重循环 10000*10000,所以上面的的算法只能到10000
cin>>n; x=1; for( i=1;i<=n;i++)
{ 空格控制; for (j=1;j<=2*i-1;j++)
{ if (x>9) x=1; cout<<x; x=x+2;
} cout<<endl;
}
p 12
此课件下载可自行编辑修改,仅供参考! 感谢您的支持,我们努力做得更好! 谢谢!
} cout<<s<<endl;
p6
P1118、求1—N中的完全数,所谓完全数是指因子和正好等于本身
的数。如28=1+2+4+7+14,故28就是一个完全数。 告诉你的是
此范围内的完全数不可能是完全平方数。
输入:N
输出:1-N中的完全数,一行一个数。
数据范围:1<=N<=10000
S=0;
思路:
for (j=1;j<=i/2;j++)
相关文档
最新文档