八、循环总结

总结作业

作业1:

用3种循环计算 从1累到100和 并把结果打印出来。
答案

#include <stdio.h>

int main()
{
    // int i;
    // int sum = 0;
    // for (i = 1; i <= 100; i++)
    // {
    //  sum+=i;
    //  /* code */
    // }
    // printf("%d\n",sum);

    // int i = 1;
    // int sum = 0;
    // while(i  <=100){
    //  sum +=i;

    //  i++;
    // }
    // printf("1到100间的和是:%d\n",sum);

    int i = 1;
    int sum = 0;
    do{
        sum +=i;
        i++;
    }while(i<=100);
    printf("1~~100间的和是:%d\n", sum);

    /* code */
    return 0;
}

作业2

使用for语句,求1~20之间所有的奇数的乘积.
答案

#include <stdio.h>
int main()
{
    int sum = 1;


    for (int i = 1; i < 20; i+=2)
    {
        sum *=i;
        // sum = sum *i;  相当于   sum *=i
        /* code */
    }
    printf("%d\n",sum);
    /* code */
    return 0;
}

作业3

使用while语句,求1~50之间所有7的倍数之和.

#include <stdio.h>
int main()
{
    int i = 1;
    int sum = 0;
    while(i<=50){
        if (i % 7 == 0)
        {
            sum +=i;
        }
        i++;
    }

    printf("1~50 能被7整除的和是%d\n", sum);

    /* code */
    return 0;
}

作业4

使用do...while语句,求1+2+3+4+...+10的和

#include <stdio.h>
int main()
{
    int i = 1;
    int sum = 0;
    do{
        sum +=i;
        i++;
    }while(i<=10);
    printf("1~10之间的和是%d\n",sum);
}

作业5

编写程序,求1~ 100中 2,3,5公倍数的程序。

#include <stdio.h>
int main()
{
    
    for (int i = 1; i <=100; i++)
    {
        if (i%2 ==0 && i%3==0 && i%5==0)
        {
            printf("2 3  5的公倍数是%d\n", i);
            
        }

        
    }

}

作业6

编写程序,判断整数n (n>=2)是否为素数。

#include <stdio.h>
#include <stdlib.h>

int main()
{

    printf("请从控制台输入一个大于2的整数:");
    int n;
    scanf("%d",&n);
    int flag = 1;   // 0代表不是素数   1代表是素数


//    //这里来判断是否是素数
//    //flag = 1;
    int i = 2;
    while(i<n){
        if(n%i==0){
            flag = 0;
            break;
        }
        i++;
    }

    if(flag){
        printf("%d是素数",n);
    }else{
        printf("%d不是素数",n);
    }

    return 0;
}

作业7

编写程序,连续输入若干数,统计其中为正数的个数.

#include <stdio.h>
int main()
{
    int n = 10;
    int count =0;
    for (int i = 0; i < n; i++)
    {
        printf("请输入第%d个数\n",i+1);
        int number ;
        scanf("%2d",&number);
        printf("______%d",number );

        if (number>0)
        {
            count++;
            /* code */
        }
        /* code */
    }

    printf("输入的%d个数是有%d个数是正数\n",n,count);
}

作业8

使用do...while打印下面形状。


图形1
#include <stdio.h>

int main()
{   
    int i = 6;
    do{
        //这个循环是打印空格的  开始
        int j = i;
        while(j>0){
            printf(" ");
            j--;
        }
        //这个循环是打印空格的  结束 
        printf("* * * * * * *");  //打印列
        printf("\n");  //换行
        i-=2;
    }while(i>=0);
    /* code */
    return 0;
}

作业9

使用外层 do...while 循环,内层用for循环实现下面图形

图形9
#include <stdio.h>

int main()
{   
    //最外层循环控制行
    for (int i = 1; i <= 4; ++i)
    {
        //打印 空格
        for (int j = 8-i*2; j > 0; j--)
        {
            printf(" ");
        }

        //打印数字
        for (int k = i; k > 0; k--)
        {
            printf("%d   ", i);
        }
        printf("\n");
    }

}

作业10

某人工资为1600元,若每年增长工资的3%,编写程序,求5年后此人的工资是多少?

#include <stdio.h>

int main()
{
    int gz = 1600;
    int i = 1;
    for (;;)
    {
        if (i>5)
        {
            break;
        }
        gz = gz+ gz*0.03;
        printf("第%d年后的工资是%d\n", i,gz);
        i++;
        /* code */
    }
    
    
    /* code */
    return 0;
}

作业11

请在控制台输入一个5位数的整数,然后分别求出个位数,十位数,百位数,千位数,万位数的和。

#include <stdio.h>
int main()
{
    int number = 35365;
    int i = 1;
    int sum = 0;
    while(i<=10000){
        sum += number / i % 10;
        i*=10;
    }
    // int gewei =  number % 10;  //个位数:
    // int shiwei = number /10 % 10;  //十位数
    // int baiwei = number /100 % 10;  //百位数
    // int qianwei = number /1000 % 10;  // 千位数
    // int wanwei = number /10000 % 10;  //万位数
    // printf("%d\n",wanwei);
 //    int sum = gewei + shiwei +baiwei+qianwei+wanwei;

    printf("每位数的和是%d\n", sum);

    /* code */
    return 0;
}

作业12

3.2 让程序要求用户输入一个大写字母,使用嵌套循环产生像下面这样的金字塔图案:

B56E787FFA33D141C87A2937563A3191.jpg
#include <stdio.h>
int main()
{
    
    for (int i = 1; i <= 5; ++i)
    {
        for (int j = 5-i; j > 0; j--)
        {
            printf(" ");
            /* code */
        }

        char c = 'A';
        int f = i*2-1;
        for (int k = f; k > 0; k--)
        {
            printf("%c", c);
            if(k <= f/2+1){
                c--;
            }else{
                c++;
            }   
        }
        printf("\n");
        /* code */
    }
    /* code */
    return 0;
}

上课练习13

打印下面图形


3FAC3ED8-CAF0-4DFF-95A9-05FE609AB654.png
#include <stdio.h>
int main()
{
     int pp = 0;
     int p = 1;
    //控制行
    for (int i = 1; i <= 6; ++i)
    {
        //控制空格
        for (int j = 6-i; j > 0; j--)
        {
            printf(" ");
            /* code */
        }
       //控制每行打印个数 和打印内容
 
        int current = pp + p;
        for (int k = i; k > 0; k--)
        {
            printf("%d ", current);
            
        }
        if (i==1)
        {

        }else{
            pp = p;
            p = current;
        }
        
        printf("\n");
        /* code */
    }
    /* code */
    return 0;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,084评论 19 139
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 14,352评论 2 33
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 11,870评论 0 17
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,136评论 18 399
  • 大学讲堂内,学生们都敬慕地听着他在讲课。 “同学们,今天我讲的内容和狗有关系。有人说,狗是人类最好的朋友,因为我们...
    清书_阅读 8,413评论 4 51

友情链接更多精彩内容