循环结构
// // main.c // 循环结构 // // Created by zhangxueming on 15/5/28. // Copyright (c) 2015年 zhangxueming. All rights reserved. // #include <stdio.h> // //goto 无条件跳转语句 // void printHello(void) { int cnt=0; hello: printf("hello world\n"); cnt++; if (cnt<5) { goto hello; } } //int main(int argc, const char * argv[]) { // // insert code here... // int cnt=0; // //printHello(); //print: // printf("cnt = %d Hello, World!\n", cnt); // cnt++; // if (cnt<10) { // goto print; // } // return 0; //} //用goto 语句实现1加到100的和 //int main(int argc,const char *argv[]) //{ // int sum = 0, i=1; //add: // sum+=i; // i++; // if (i<=100) { // goto add; // } // printf("sum = %d\n", sum); // return 0; //} //while(条件表达式) //{ // 循环体; //} //int main(int argc,const char *argv[]) //{ // int cnt = 0; // while (cnt<10) { // printf("cnt = %d hello world\n", cnt); // cnt++; // } // printf("cnt = %d\n", cnt); // return 0; //} //输入n,求1+2+3+...n的值(用while循环做) //int main(int argc, const char *argv[]) //{ // int sum = 0, n, i=1; // scanf("%d", &n); // while (i<=n) { // sum += i; // i++; // } // printf("sum = %d\n", sum); // return 0; //} //asdfg\n //统计从键盘输入一行字符个数(不包含'\n') //int main(int argc, const char *argv[]) //{ // int cnt=0; // char ch; //// while (scanf("%c", &ch), ch!='\n') { //// cnt++; //// } // while (1) { // scanf("%c", &ch); // if (ch=='\n') { // break; // } // cnt++; // } // printf("cnt = %d\n", cnt); // // return 0; //} //int main(int argc,const char *argv[]) //{ // int cnt=0; // while (getchar()!='\n') { // cnt++; // } // printf("cnt = %d\n", cnt); // return 0; //} //do{ // 循环体; //}while(条件表达式); //循环体最少被执行一次 //求1-100以内的奇数的和(do while做) //int main(int argc,const char *argv[]) //{ // int sum=0; // int i=1; // do // { // if (i%2) { // sum+=i; // } // i++; // }while (i<=100); // // printf("sum = %d\n", sum); // return 0; //} //for (初始化表达式; 条件表达式; 自增自减表达式) { // 循环体; //} //int main(int argc,const char *argv[]) //{ // for (int i=0; i<10; i++) { // printf("hello world\n"); // } // return 0; //} // 打印1~100内所有的奇数 //int main(int argc, const char *argv[]) //{ // for (int i=1; i<=100; i++) { // if (i%2) { // printf("%d ", i); // } // } // printf("\n"); // return 0; //} //判断一个数是否为素数(质数) //2 3 5 7 11 13 17 19 23 //int main(int argc, const char *argv[]) //{ // int n; // scanf("%d", &n); // int i=0; // for (i=2;i<n; i++) { // if (!(n%i)) { // break; // } // } // if (n==i) { // printf("质数\n"); // } // else{ // printf("非质数\n"); // } // return 0; //} //break continue //break: 跳出一层循环 //continue: 结束当次循环继续下一次循环 //int main(int argc,const char *arggv[]) //{ // for (int i=0; i<10; i++) { // if (i==5) { // //break; // continue; // } // printf("hello world i = %d\n", i); // } // return 0; //} //循环(计算10个数的平均值) 输入10个数, 计算这十个数的平均值 //int main(int argc,const char *argv[]) //{ // int sum = 0; // int num ; // for (int i=0; i<10; i++) { // scanf("%d", &num); // sum +=num; // } // printf("%d\n", sum/10); // return 0; //} //循环(逆序输出某个数) 整数逆序输出, 例如输入一个整数12345,输出5 4 3 2 1 //num //12345 / 10 --- 5 //1234 / 10 --- 4 //123 / 10 --- 3 //12 / 10 --- 2 //1 / 10 --- 1 //0 //int main(int argc,const char *argv[]) //{ // int num ; // scanf("%d", &num); // while (num) { // printf("%d ", num%10); // num/=10; // } // return 0; //} //循环(计算阶乘) 输入一个数为n, 计算这个数的阶乘, 例如一个数为5,则5的阶乘为 1*2*3*4*5=120 //n! = n* (n-1)! //5! = 5*4! //4! = 4*3! //3! = 3*2! //2! = 2*1! //int main(int argc,const char *argv[]) //{ // int n; // scanf("%d", &n); // int sum = 1; // int i=1; // for (;;) { // if (i<=n) { // sum*=i; // } // else{ // break; // } // i++; // } // printf("sum = %d\n", sum); // return 0; //} //n = 5 //Sn = 5! + 4! + 3! + 2! + 1! //1!*2*3*4*5 // //int main(int argc,const char *argv[]) //{ // int Sn = 0; // int n; // scanf("%d", &n); // int temp=1; // for (int i=1; i<=n; i++) { // temp *=i; // Sn+=temp; // } // printf("Sn = %d\n", Sn); // return 0; //} //7.输入一个整数,求他的各位数字之和.如:178,数字之和为1+7+8 = 16 //int main(int argc, const char *argv[]) //{ // int num; // int sum =0; // scanf("%d", &num); // while (num) { // sum += num%10; // num/=10; // } // printf("sum = %d\n", sum); // return 0; //} //循环嵌套 //int main(int argc, const char *argv[]) //{ // for (int i=0; i<5; i++) { // for (int j=0; j<10; j++) { // printf("*"); // } // printf("\n"); // } // return 0; //} //输出下列4*5的数字矩阵 //1 2 3 4 5 //2 4 6 8 10 //3 6 9 12 15 //4 8 12 16 20 //int main(int argc, const char *argv[]) //{ // for (int i=1; i<=4; i++) { // for (int j=1; j<=5; j++) { // printf("%3d",i*j); // } // printf("\n"); // } // return 0; //} //9.打印九九乘法表 //1*1=1 //1*2=2 2*2=4 //1*3=3 2*3=6 3*3=9 //1*4=4 2*4=8 3*4=12 4*4=16 //1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 //int main(int argc,const char *argv[]) //{ // for (int i=1; i<=9; i++) { // for (int j=1; j<=i; j++) { // printf("%d*%d=%2d ",j, i, j*i); // } // printf("\n"); // } // return 0; //} //多重循环练习 //字母金字塔 //输入:F //\ //输出: // F // EF E // DEF ED // CDEF EDC // BCDEF EDCB //ABCDEF EDCBA int main(int argc,const char *argv[]) { char ch; scanf("%c", &ch); for (int i=0;i<ch-'A'+1; i++) { for (int j=0; j<ch-'A'-i; j++) { printf(" "); } for (int j=i; j>=0; j--) { printf("%c", ch-j); } for (int j=0; j<i; j++) { printf("%c",ch-1-j); } printf("\n"); } return 0; }