C语言循环练习PPT教学课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
}
2020/12/10
12
例5 求两个整数的最大公约数。
m=36;n=24; r=m%n; r!=0 m=n; n=r;
r=m%n;
m
n
r=m%n
36
24
12
m
n
r=m%n
24
12
0
2020/12/10
m
n
r=m%n
13
PPT教学课件
谢谢观看
Thank You For Watching
14
【分析】
把100到999之间的所有的数都一一测试,把符合每一位数字的立方和等于该 数本身的数输出。
作法1
#include<stdio.h>
main()
{ int i,a,b,c;
for(m=100;m<=999;m++)
{ a=m%10;
/*a中放个位数字*/
b=(m/10)%10;
/*b中放十位数字*/
c=getchar(); } }
2020/12/10
4
例1:从键盘输入一串小写字母,转换成大写字母输 出。
#include<stdio.h> main() { char c;
for(;(c=getchar())!=‘\n’;) { c=c-32;
printf(“\n%c”,c); } }
#include<stdio.h> main() { char c; while((c=getchar())!=‘\n’) {c=c-32;
putchar(c); } }
2020/12/10
5
例2:打印以下图形
* *** ***** *******
第一行3个空格1个* I=1 第二行2个空格3个* I=2 第三行1个空格5个* I=3 第四行0个空格7个* I=4
2020/12/10
6
行与空格 、行与*的关系 第i=1行 for(j=1;j<=4-i;j++)
2020/12/10
7
程序
main() { int i,j,k;
for(i=1;i<=4;i++) { printf(“\n”);
for(j=1;j<=4-i;i++) printf(“ ”);
for(k=1;k<=2*i-1;k++)
printf(“*”);
}
} 2020/12/10
8
例3:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其 各位数字立方和等于该数本身。例如153就是一水仙花数。 153=13+53+33
三种循环的应用
while(表达式)语句 do {语句}while(表达式); for(表达式;表达式2;表达式3) 语句
2020/12/10
2
例1:从键盘输入一串小写字母,转换成大写字母输出。
c=getchar(); while(c!=‘\n’)
{ c=c-=32; printf(“%c\n”,c); c=getchar();
for(i=1;i<=20;i++) {t=t*i; sum=sum+t; i++; }
2020/12/10
11
main() { int i,j; float t,s=0; for(i=1;i<=20;i++) { t=1; for(j=1;j<=i;j++) t=t*j; s=s+t; } printf("\n%f",s);
}
2020/12/10
这个程序用了双重循环, 内层循环用于从一个数 中截取每一位数字,再 求每一个数的三位数字
的立方和。
10
例4 求 1!+2!+…20!
分析: n!=n*(n-1)! 如:5!=5*4! 4!=4*3! 3!=3*2! 2!=2*1! 1!=1
因此 t=1; while(i<=5) { t=t*i; i++; }
c=m/100;
/*c中放百位数字*/
if(a*a*a+b*b*b+c*c*c==m) printf("\n%4d",m);
}
}
2020/12/10
9
作法2
#include<stdio.h> main() { int s,m,i,r;
for(i=100;i<=999;i++) { m=i; s=0; while(m) { r=m%10; s+=r*r*r; m=m/10; } if(s==i) printf("\n%4d",i); }
}
c=getchar();
for(;c!=‘\n’;)
{ c-=32;
putchar(c); c=getchar())
2020/12/10
c=getchar();
0
c!=‘\n’
1
c-=32;
c=getchar();
3
例1:从键盘输入一串小写字母,转换成大写字母输出。
#include<stdio.h> main() { char c;
c=getchar(); for(;c!=‘\n’;) { c=c-32;
printf(“\n%c”,c); c=getchar(); } }
#include<stdio.h> main() { char c;
c=getchar(); while(c!=‘\n’) {来自百度文库=c-32; putchar(c);
printf(“ ”);
for(k=1;k<=2*i-1;k++) printf(“*”);
行与空格 、行*与的关系 第I=2行 for(j=1;j<=4-i;j++)
printf(“ ”); for(k=1;k<=2*i-1;k++)
printf(“*”);
i从1变到4 for(i=1;i<=4;i++)
2020/12/10
12
例5 求两个整数的最大公约数。
m=36;n=24; r=m%n; r!=0 m=n; n=r;
r=m%n;
m
n
r=m%n
36
24
12
m
n
r=m%n
24
12
0
2020/12/10
m
n
r=m%n
13
PPT教学课件
谢谢观看
Thank You For Watching
14
【分析】
把100到999之间的所有的数都一一测试,把符合每一位数字的立方和等于该 数本身的数输出。
作法1
#include<stdio.h>
main()
{ int i,a,b,c;
for(m=100;m<=999;m++)
{ a=m%10;
/*a中放个位数字*/
b=(m/10)%10;
/*b中放十位数字*/
c=getchar(); } }
2020/12/10
4
例1:从键盘输入一串小写字母,转换成大写字母输 出。
#include<stdio.h> main() { char c;
for(;(c=getchar())!=‘\n’;) { c=c-32;
printf(“\n%c”,c); } }
#include<stdio.h> main() { char c; while((c=getchar())!=‘\n’) {c=c-32;
putchar(c); } }
2020/12/10
5
例2:打印以下图形
* *** ***** *******
第一行3个空格1个* I=1 第二行2个空格3个* I=2 第三行1个空格5个* I=3 第四行0个空格7个* I=4
2020/12/10
6
行与空格 、行与*的关系 第i=1行 for(j=1;j<=4-i;j++)
2020/12/10
7
程序
main() { int i,j,k;
for(i=1;i<=4;i++) { printf(“\n”);
for(j=1;j<=4-i;i++) printf(“ ”);
for(k=1;k<=2*i-1;k++)
printf(“*”);
}
} 2020/12/10
8
例3:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其 各位数字立方和等于该数本身。例如153就是一水仙花数。 153=13+53+33
三种循环的应用
while(表达式)语句 do {语句}while(表达式); for(表达式;表达式2;表达式3) 语句
2020/12/10
2
例1:从键盘输入一串小写字母,转换成大写字母输出。
c=getchar(); while(c!=‘\n’)
{ c=c-=32; printf(“%c\n”,c); c=getchar();
for(i=1;i<=20;i++) {t=t*i; sum=sum+t; i++; }
2020/12/10
11
main() { int i,j; float t,s=0; for(i=1;i<=20;i++) { t=1; for(j=1;j<=i;j++) t=t*j; s=s+t; } printf("\n%f",s);
}
2020/12/10
这个程序用了双重循环, 内层循环用于从一个数 中截取每一位数字,再 求每一个数的三位数字
的立方和。
10
例4 求 1!+2!+…20!
分析: n!=n*(n-1)! 如:5!=5*4! 4!=4*3! 3!=3*2! 2!=2*1! 1!=1
因此 t=1; while(i<=5) { t=t*i; i++; }
c=m/100;
/*c中放百位数字*/
if(a*a*a+b*b*b+c*c*c==m) printf("\n%4d",m);
}
}
2020/12/10
9
作法2
#include<stdio.h> main() { int s,m,i,r;
for(i=100;i<=999;i++) { m=i; s=0; while(m) { r=m%10; s+=r*r*r; m=m/10; } if(s==i) printf("\n%4d",i); }
}
c=getchar();
for(;c!=‘\n’;)
{ c-=32;
putchar(c); c=getchar())
2020/12/10
c=getchar();
0
c!=‘\n’
1
c-=32;
c=getchar();
3
例1:从键盘输入一串小写字母,转换成大写字母输出。
#include<stdio.h> main() { char c;
c=getchar(); for(;c!=‘\n’;) { c=c-32;
printf(“\n%c”,c); c=getchar(); } }
#include<stdio.h> main() { char c;
c=getchar(); while(c!=‘\n’) {来自百度文库=c-32; putchar(c);
printf(“ ”);
for(k=1;k<=2*i-1;k++) printf(“*”);
行与空格 、行*与的关系 第I=2行 for(j=1;j<=4-i;j++)
printf(“ ”); for(k=1;k<=2*i-1;k++)
printf(“*”);
i从1变到4 for(i=1;i<=4;i++)