本章重点?
- 1、if-else if-else
- 2、while
- 3、for( ; ; )
- 4、continue、break退出循环
1、if-elseif-else
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| #include <stdio.h>
int main() { int i = 9;
if(i>0) { printf("i is bigger than O\n"); } else { printf("i is not bigger than O\n"); }
if (i>400)printf("1\n"); else if(100<i<=400)printf("2\n"); else if(i>0)printf("3\n"); else printf("4\n");
if(i>1) { if(i<10) printf("i>1 and i < 10\n"); else printf("no\n"); } return 0; }
|
2、while
1 2 3 4 5 6 7 8 9 10 11 12
| #include <stdio.h>
int main() { int i=1,total=0; while(i<=100) { total+=i; i++; } printf("%d",total); return 0; }
|
3、for
1 2 3 4 5 6 7 8 9 10 11
| #include <stdio.h>
int main() { int i,total; for(i=1,total=0;i<=100;i++) { total+=i; } printf("%d",total); return 0; }
|
4、continue、break
continue; 跳出本次循环
break; 结束循环
🌺5、OJ作业
网站:http://oj.lgwenda.com/
1、对称数(Symmetric number)
描述:输入一个整型数,判断是否是对称数,如果是,输出yes,否则输出no,不用考虑这个整型数过大,int类型存不下,不用考虑负值;
例如 12321是对称数,输出yes,124421是对称数,输出yes,1231不是对称数,输出no
输入:一个整型数
输出:输出是yes,或者no
🌺🌺🌺题解ヾ(^▽^)ゞ🌼🌼🌼
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| #include <stdio.h>
int main() { int a,b=0; scanf("%d",&a); int backup_a=a;
while(a) { b = b*10 + a%10; a = a/10 ; }
if(b == backup_a) { printf("yes"); } else{ printf("no"); } }
|
2、阶乘(Factorial)
描述:利用while或者for循环计算n!的值。
输入:一个正整数n,1≤n≤10。
输出:n!的值。
🌺🌺🌺题解ヾ(^▽^)ゞ🌼🌼🌼
1 2 3 4 5 6 7 8 9 10 11
| #include <stdio.h>
int main() { int n,sum=1; scanf("%d",&n); for (int i = 1; i <= n; ++i) { sum=sum*i; } printf("%d",sum); return 0; }
|
3、人民币换零钱
描述:某人想将手中的一张面值100元的人民币换成10元、5元、2元和1元面值的票子。要求换正好40张,且每种票子至少一张。问:有几种换法?
输入:无输入
输出:一个数,表示共有多少种换法
🌺🌺🌺题解ヾ(^▽^)ゞ🌼🌼🌼
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| #include <stdio.h>
int main() { int a,b,c,d,count=0; for(a=1;a<10;a++) { for(b=1;b<20;b++) { for(c=1;c<=37;c++) { for(d=1;d<=37;d++) { if(a+b+c+d ==40 && 10*a+5*b+2*c+d==100) { count++; } } } } } printf("%d\n",count); return 0; }
|