本章重点?
- 1、if-else if-else
- 2、while
- 3、for( ; ; )
- 4、continue、break退出循环
1、if-elseif-else
| 12
 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
| 12
 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
| 12
 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
🌺🌺🌺题解ヾ(^▽^)ゞ🌼🌼🌼
| 12
 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!的值。
🌺🌺🌺题解ヾ(^▽^)ゞ🌼🌼🌼
| 12
 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张,且每种票子至少一张。问:有几种换法?
输入:无输入
输出:一个数,表示共有多少种换法
🌺🌺🌺题解ヾ(^▽^)ゞ🌼🌼🌼
| 12
 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;
 }
 
 |