C语言 - 循环结构程序设计

2023-11-03

一.编写一个程序,依次输入5个学生的7门课程的成绩,每输入一个学生的7门课程成绩后,立即统计并输出该学生的总分和平均分。

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

int main()
{
    int stu,i;
    float score,ave,sum;
    for (stu=1;stu<=5;stu++)
    {
        sum = 0;
        printf("输入第%d名学生的7门成绩:\n",stu);
        for (i=0;i<7;i++)
        {
           scanf("%f",&score);
           sum+=score;
        }
        ave = sum/7.0;
        printf("\n");
        printf("输入第%d名学生的总分:%.2f",stu,sum);
        printf("输入第%d名学生的平均分:%.2f",stu,ave);
        printf("\n");
   }
}

二.设某县2000年工业总产值为200亿元,如果该县预计平均年工业总产值增长率为4.5%,那么多少年后该县年工业总产值将超500亿元。

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

int main()
{
    float x=200;
    int n=0;
    do
    {
        x*=(1+0.045);
        n++;
    }while(x<500);
    printf("%d年后该县年工业生产总值将超过500亿",n);
}

三.编写一个程序,求出所有各位数字的立方和等于1099的三位整数。

#include <stdio.h>
#include <stdlib.h>
//找出各位数字的立方和等于1099的3位整数
int main()
{
    int i,j,k;//i个位,j十位,k百位
    for(i=1;i<=9;i++)
    {
        for(j=0;j<=9;j++)
        {
            for(k=0;k<=9;k++)
            {
                if(i*i*i+k*k*k+j*j*j==1099)
                {
                    printf("%d\n",i*100+j*10+k);
                }

            }
        }
    }
}

四.有一个8层的灯塔,每层的灯数都是上一层的2倍,共有765盏灯,编程求最上层与最下层的灯数。

#include <stdio.h>
#include <stdlib.h>
//变量是每层塔的灯数
int main()
{
    int top=1,bottom,i,sum;
    while(1)
    {
        bottom=top;
		//把最上层的数赋给其下一层,作为下一层是上一层的两倍数的计算基数
        sum=0;
        for(i=1;i<8;i++)\
        {
            bottom*=2;//使得bottom从第七层开始等于它的上一层*2
            sum+=bottom;//计算除第八层外的其他层的总灯数
        }
        sum+=top;//计算1~8层的总灯数
        if(sum==765)
        {
            //判断1~8层的总灯数是不是765
            printf("top=%d",top);
            printf("\nbottom=%d\n\n",bottom);
            break;
        }
        top++;//如果不满足条件则第八层加一,继续穷举
    }
}

五.用C语言打印一个空心圆

思路

每行打印两个点"*"。问题的关键是找到每行这两个"*"的位置,然后打印。

怎么找某行"*"的位置?

#include <stdio.h>
#include <stdlib.h>
#include<math.h>
//利用x ^ 2 + y ^ 2 = R ^ 2可以算出圆上每一点行和列的对应关系。
void main()
{
    double y; //y就是圆的方程中的y
    int x,m;
    for(y=10;y>=-10;y--)   //设置圆的半径为10
    {
        //计算行y对应的列坐标m,
        //2是屏幕纵横比调节系数
        m=2.03*sqrt(100-y*y); //sqrt 求平方根 m是列坐标
        for(x=1;x<30-m;x++)
        {
            printf(" ");
        }
        printf("*");
        for(;x<30+m;x++)
        {
            printf(" ");
        }
        printf("*\n");
    }
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言 - 循环结构程序设计 的相关文章

随机推荐

  • MATLAB数字图像处理系统——边缘检测

    实验4 1 边缘检测 Sobel Prewitt Log边缘算子 一 实验目的 1 熟悉matlab图像处理工具箱及图像边缘检测函数的使用 2 理解和掌握图像边缘检测 Sobel Prewitt Log边缘算子 的方法和应用 二 实验设备
  • ASTGCN

    sample week sample day sample hour sample target time sample sample append hour sample 1 vertices features sequences tim
  • 取消DruidDataSource连接失败自动重试

    背景 最近在业务开发的时候 遇到了一个场景 需要遍历数据库连接信息创建数据库连接 而原来我配置的DruidDataSource在创建数据库连接失败后会自动重试 且是无限重试 而我期望的逻辑是 但创建数据库连接失败后 尝试几次依然失败就跳过该
  • Unity 基于群体寻路的解决方案

    群体寻路是一种模拟群体行为的技术 它使得游戏中的角色能够以一种有组织的方式移动 在群体中 每个角色都有自己的目标位置 并且会根据周围的情况决定如何移动 群体寻路可以帮助我们实现一些有趣的场景 比如鸟群飞行 鱼群游动等 对啦 这里有个游戏开发
  • c/c++编程学习:程序自删除

    程序自删除的方式有很多 不过最终的思想不过是关闭本身进程 开启新进程用于删除自身 下面这个方法是用windows自带命令行程序实现删除 命令行为 cmd exe c del filename 代码示例 C语言形式 include inclu
  • C# 重构之一(提取方法重构)

    提取方法重构 将现有的代码片段提取出来 构造成一个新的方法 优点 1 通过强调离散的可重用方法鼓励最佳的编码做法 2 鼓励通过较好的组织获得自记录代码 3 当使用描述性名称时 高级别方法可以像读取一系列注释一样进行读取 4 鼓励创建细化方法
  • 【华为OD机试】单向链表中间结点(python, java, c++, js)

    单向链表中间结点 前言 本专栏将持续更新华为OD机试题目 并进行详细的分析与解答 包含完整的代码实现 希望可以帮助到正在努力的你 关于OD机试流程 面经 面试指导等 如有任何疑问 欢迎联系我 wechat steven moda email
  • Private无法直接调用,间接调用的方法

    1 未加修饰符默认情况下为private private情况下 没有办法被调用 但是可以使用间接调用的方式进行调用
  • python 画虚线_提取视频中的音频——python三行程序搞定!

    写在开头 身处数据爆炸增长的时代 各种各样的数据都飞速增长 视频数据也不例外 我们可以使用 python 来提取视频中的音频 而这仅仅需要安装一个体量很小的python包 然后执行三行程序 语音数据在数据分析领域极为重要 比如可以分析语义
  • java HttpClient 访问webservice并解析返回json数据

    关于webservice的普及就不多说了 直接进入主题吧 1 导包
  • Qt使用QAxObject写入Excel表格,包括填色、合并单元格、多行写入等

    Qt使用QAxObject写入Excel表格 包括填色 合并单元格 多行写入等 QAxObject可以调用Excel表中的各种函数或者事件 来操控读写Excel表格 Excel表中所有的接口可以查看官方文档 末尾可见源码 第一步 明确自己需
  • 最优化课程设计——单纯形法

    单纯形法的基本原理及实践案例分析应用 摘 要 单纯形法是解决线性规划问题的一个有效算法 同时无约束优化的单纯形法可利用对简单几何图形各顶点的目标函数值进行比较 逐步以目标函数值较小的顶点取代目标数值最大的顶点 从而进行求优 本文将从线性规划
  • 全网最全markdown数学物理公式输入速查表

    全网最全Markdown数学物理公式输入要速查表 如果一个 不行就换成两个 因为我发现再Typora中用 一个 就行 但是csdn里有些只用一个 就不行 公式符号输入 公式 源代码 x a x a xa x a
  • java 作用域

    变量作用域 在 java 编程中 主要的变量就是类中的属性 成员变量 和局部变量 局部变量指的是方法中定义的变量或者块作用域中定义的变量 作用域范围为定义它的代码块中 全局变量 也就是属性 作用域为整个类的大括号 中 全局变量可以不赋值而直
  • 史上最全的SpringMVC教程,终于整理出来了

    1 为啥要学 SpringMVC 1 1 SpringMVC 简介 在学习 SpringMVC 之前我们先看看在使用 Servlet 的时候我们是如何处理用户请求的 配置web xml
  • Python GUI之tkinter的皮肤(ttkbootstrap)打造出你的窗口之美

    Python GUI之ttkbootstrap 前言 官方文档 https ttkbootstrap readthedocs io en latest https ttkbootstrap readthedocs io en latest
  • 2020-03-19

    小程序页面栈控制 转自 https blog csdn net jackjyy article details 82392312 utm source app
  • Talib技术因子详解(八)

    talib安装方式 pip install Ta lib Tushare数据获取请参考 金融量化分析基础环境搭建 数据获取代码请参考 Talib技术因子详解 一 71 CDLDARKCLOUDCOVER名称 Dark Cloud Cover
  • 逻辑地址(段地址,偏移地址)知识点全面回顾

    1 什么是逻辑地址 逻辑地址是用户编程时使用的地址 分为段地址和偏移地址两部分 逻辑地址表示形式 3020 055AH 汇编语言中 数字后面加H表示16进制 2 为什么要用逻辑地址 逻辑地址的产生背景 8086cpu访问存储器时 地址寄存器
  • C语言 - 循环结构程序设计

    一 编写一个程序 依次输入5个学生的7门课程的成绩 每输入一个学生的7门课程成绩后 立即统计并输出该学生的总分和平均分 include