循环结构

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

 

posted @ 2015-06-01 13:48  sirzhang  阅读(207)  评论(0编辑  收藏  举报
AmazingCounters.com