C语言-while循环

循环是结构化程序设计的基本结构之一,它和顺序控制、选择结构共同作为各种复杂程序的基本构造单元(摘自谭浩强的《C程序设计》。

一、while循环:

1、使用while循环控制输出0到9十个数:

int i=0;                    //循环变量赋初值
    int a=0;
    
    while (i<10) {              //循环条件
        scanf("%d",&a);
        printf("%d
",a);       //{}中的是循环体
        
        i++;                    //循环变量的自增,代表的是循环变量的步长
    }

2、循环输入十个数,求出十个数中的最大值、最小值、和、平均值

    int i=0;
    int s=0,a=0;
    int max=0,min=0;
    float avg=0;
    
    printf("请输入10个数字:
");
    
    i=0;
    s=0;
    while (i<10) {
        scanf("%d",&a);
        
        s+=a;
        
        if (i==0) {
            min=a;
            max=a;
        }else{
            if (max<=a) {
                max=a;
                }
            if (min>=a) {
                min=a;
                }
        }
        
        i++;
    }
    
    avg=s/10;
    
    printf("十个数之和=%d,最大值=%d,最小值=%d,平均值=%.1f",s,max,min,avg);

3、利用循环找出是偶数的两位数,且是平方数

    int i;
    
    i=10;
    while (i<100) {
        if (!(i%2) && !(sqrt(i)-(int)sqrt(i))) {
            printf("%d	",i);
        }
        
        i++;
    }
    

4、利用循环找出能被3整除且不能被7整除的大于0小于100的数并输出

    int i;
    
    i=3;
    while (i<100) {
        if (i%7) {
            printf("%d	",i);
        }
        
        i+=3;
    }

5、利用循环找出个位比十位大的两位数,并输出:

    int i;
    int count=0;
    
    i=10;
    while (i<100) {
        if (i/10<i%10) {
            printf("%d	",i);
            count++;
        }
        
        i++;
    }
    printf("
%d
",count);

6、找出个位是奇数,十位是偶数的两位数

    int i;
    int count=0;

    i=10;
    while (i<100) {
        if ((i/10%2==0) && (i%2==1)) {
            printf("%d	",i);
            count++;
        }

        i++;
    }
    printf("
%d
",count);

7、    循环实现1+2+3+。。。+10:

    int i;
    int sum;
    
    i=1;
    sum=0;
    while (i<=10) {
        sum+=i++;
    }
    
    printf("%d
",sum);

8、计算从1到n的求和:

    int i;
    int n;
    int s = 0;
    
    i = 1;
    printf("请输入一个n值:");
    scanf("%d", &n);
    while (i<=n) {
        s=s+i;
        
        i++;
    }
    printf("%d
", s);

9、计算1-2+3-4........n(n位从键盘输入):

    int i;
    int n;
    int s = 0;

    i = 1;
    printf("请输入一个n值:");
    scanf("%d", &n);
    while (i<=n) {
        if (i%2) {
            s=s+i;
        }
        else{
            s=s-i;
        }

        i++;
    }
    printf("%d
", s);

10、    计算1+1/2+1/3+1/4+1/5.。。+1/n的值:

    int i;
    int n;
    float s = 0;

    i = 1;
    printf("请输入一个n值:");
    scanf("%d", &n);
    while (i<=n) {
        
        s=s+(float)1/i;
        
        i++;
    }
    printf("%f
", s);

11、计算1-1/2+1/3-1/4........1/n(n位从键盘输入):

    int i;
    int n;
    float s = 0;

    i = 1;
    printf("请输入一个n值:");
    scanf("%d", &n);
    while (i<=n) {
        if (i%2) {
            s=s+(float)1/i;
        }
        else{
            s=s-(float)1/i;
        }

        i++;
    }
    printf("%f
", s);

12、 嵌套while 计算十组从1到n的累加:

    int i,j;
    int n;
    double s = 0;
   
    j=1;
    
    while (j<=10) {
        printf("请输入一个n值:");
        scanf("%d", &n);
        
        i = 1;
        s = 0;
        while (i<=n) {
            s=s+i;

            i++;
        }
        
        printf("%.0lf
", s);
        
        j++;
    }

二、do() while{}

1、计算从1到n的求和,使用do while

    int i;
    int n;
    int s = 0;

    i = 1;
    printf("请输入一个n值:");
    scanf("%d", &n);
     do{
        s=s+i;

        i++;
     }while (i<=n);
    printf("%d
", s);
原文地址:https://www.cnblogs.com/jiwangbujiu/p/5263470.html