循环结构

//

//  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;

}

 

你可能感兴趣的:(循环)