[c/c++] programming之路(12)、循环结构
一、求2n
1 #include<stdio.h> 2 3 void main(){ 4 int n=10; 5 int s=1; 6 while(n--){ 7 s*=2; 8 printf("%d,%d\n",s,n); 9 } 10 getchar(); 11 }
二、do while求1到100的和
1 #include<stdio.h> 2 #include<stdlib.h> 3 4 void main(){ 5 int i=0; 6 int sum=0; 7 do 8 { 9 sum+=(++i); 10 printf("%d,%d\t",sum,i); 11 } while (i<100); 12 system("pause"); 13 }
三、do while的运用场合
1 #include<stdio.h> 2 #include<stdlib.h> 3 //do while循环用于一开始就需要输入数据的场合 4 void main(){ 5 char ch; 6 do 7 { 8 ch=getchar(); 9 putchar(ch); 10 } while (ch!='\t');//当ch不等于tab键时,进行循环 11 }
四、for循环
1 #include<stdio.h> 2 #include<stdlib.h> 3 4 void main0(){ 5 for(;;){//for (初始化语句; 条件语句; 控制语句),三者皆省略即为死循环 6 printf("Alice"); 7 } 8 } 9 //求一个整数多少位 10 void main1(){ 11 int num; 12 int wei=0; 13 scanf("%d",&num); 14 printf("num=%d",num); 15 for (;num;num/=10)//num等价于num!=0,num>0 16 { 17 wei++; 18 } 19 printf("%d共有%d位",num,wei); 20 system("pause"); 21 }
1 #include<stdio.h> 2 #include<stdlib.h> 3 //1*2+3*4+5*6+...+99*100 4 void main(){ 5 int sum=0; 6 int i; 7 for (i = 1; i < 101; i+=2) 8 { 9 sum+=i*(i+1); 10 } 11 printf("%d",sum); 12 getchar(); 13 }
五、循环嵌套
1 #include<stdio.h> 2 #include<stdlib.h> 3 4 void main(){ 5 int i,j; 6 for (i = 1; i < 10; i++) 7 { 8 for (j = 1; j <=i; j++) 9 { 10 printf("%d*%d=%d\t",i,j,i*j); 11 } 12 printf("\n"); 13 } 14 getchar(); 15 }
1 #include<stdio.h> 2 #include<stdlib.h> 3 4 void all() 5 { 6 int i,j; 7 for (i = 0; i < 10; i++) 8 { 9 for (j = 0; j < 10; j++) 10 { 11 printf("i=%d,j=%-2d", i, j); 12 } 13 printf("\n"); 14 } 15 } 16 17 void leftdown() 18 { 19 int i,j; 20 for (i = 0; i < 10; i++) 21 { 22 for (j = 0; j < 10; j++) 23 { 24 if (i >= j) 25 { 26 printf("i=%d,j=%-2d", i, j); 27 } 28 else 29 { 30 printf("%8s", ""); 31 } 32 } 33 printf("\n"); 34 } 35 } 36 37 void rightup() 38 { 39 int i,j; 40 for (i = 0; i < 10; i++) 41 { 42 for (j = 0; j < 10; j++) 43 { 44 if (i <= j) 45 { 46 printf("i=%d,j=%-2d", i, j); 47 } 48 else 49 { 50 printf("%8s", ""); 51 } 52 } 53 printf("\n"); 54 } 55 } 56 57 58 void leftup() 59 { 60 int i,j; 61 for (i = 0; i < 10; i++) 62 { 63 for (j = 0; j < 10; j++) 64 { 65 if (i <=9- j) 66 { 67 printf("i=%d,j=%-2d", i, j); 68 } 69 else 70 { 71 printf("%8s", ""); 72 } 73 } 74 printf("\n"); 75 } 76 77 } 78 79 void rightdown() 80 { 81 int i,j; 82 for ( i = 0; i < 10; i++) 83 { 84 for ( j = 0; j < 10; j++) 85 { 86 if (i >= 9 - j) 87 { 88 printf("i=%d,j=%-2d", i, j); 89 } 90 else 91 { 92 printf("%8s", ""); 93 } 94 } 95 printf("\n"); 96 } 97 } 98 99 void down() 100 { 101 int i,j; 102 for ( i = 0; i < 10; i++) 103 { 104 for ( j = 0; j < 10; j++) 105 { 106 if (i >= 9 - j && i>=j) 107 { 108 printf("i=%d,j=%-2d", i, j); 109 } 110 else 111 { 112 printf("%8s", ""); 113 } 114 } 115 printf("\n"); 116 } 117 118 } 119 120 void main() 121 { 122 all(); 123 printf("\n\n"); 124 leftdown(); 125 printf("\n\n"); 126 rightup(); 127 printf("\n\n"); 128 leftup(); 129 130 printf("\n\n"); 131 rightdown(); 132 printf("\n\n"); 133 down(); 134 getchar(); 135 136 137 }
六、goto语句
1 #include<stdio.h> 2 #include<stdlib.h> 3 4 void main5(){ 5 AAAA1:system("ipconfig"); 6 AAAA2:system("title 奋斗的小程序猿"); 7 AAAA3:system("color 5E"); 8 AAAA4:system("echo 奋斗吧,小程序猿!"); 9 goto AAAA4;//跳转到AAAA4行,即进入了死循环 10 } 11 12 void main6(){ 13 int i=0; 14 int sum=0; 15 A:if (i<100) 16 { 17 i++; 18 sum+=i; 19 printf("%d,%d\n",sum,i); 20 goto A;//整数不可以用于标号 21 } 22 system("pause"); 23 } 24 25 void main(){ 26 int i,j; 27 for (i = 0; i < 10; i++) 28 { 29 for (j = 0; j < 10; j++) 30 { 31 if (i==4) 32 { 33 break;//跳出一层循环 34 //goto AA;//跳出多层循环 35 } 36 printf("%d,%-3d",i,j);//%-3d占三位,左对齐 37 } 38 printf("\n"); 39 } 40 AA:system("echo 跳出来"); 41 system("pause"); 42 }