首页 > 其他分享 >明解c语言入门篇练习4-2do语句延伸

明解c语言入门篇练习4-2do语句延伸

时间:2024-10-23 17:45:19浏览次数:8  
标签:min int max sum 明解 整数 入门篇 printf 2do

明解c语言练习4-2我们可以看到题目:

编写一段程序,像右面这样读取两个整数的值,然后计算出他们之间所有整数的和。

上次我发了一段这个练习4-2的代码可以看一下

#include<stdio.h>

int main(void)
{
    int a, b, max, min;
    int sum = 0;

    printf("请输入两个整数: ");
    scanf("%d %d", &a, &b);
    if (a >= b)
    {
        min = b;
        max = a;
    }
    else
    {
        min = a;
        max = b;
    }
    do
    {
        sum = sum + min;
        min = min + 1;
    }while (min <= max);
    printf("这两个整数及其之间所有整数的和为%d.\n", sum);

    return 0;
}

也可以用高中的等差数列求和公式来写出此代码:

#include<stdio.h>

int main()
{int a=0;
do{puts("请输入两个整数。");
int q;
int p;
printf("整数a:");scanf("%d",&q);
printf("整数b:");scanf("%d",&p);
int max=q;
int min=p;
if(p>q)
{max=p;
min=q;}


printf("大于等于%d小于等于%d的所有整数的和是%d",min,max,(max-min+1)*(max+min)/2);
printf("是否要继续\n");
printf("YES——0  NO——1:");
scanf("%d",&a);

}while(a==0);
    return 0;
}

那么我们不由得想起高中某个经典数列{n²}我们是否可以想起如何用do语句来解决这个数列的前n项和呢?

那我们经过思考就可以打出循环:do{sum=sum+min*min;
min=(min+1);
}while(min<=max);

如此便得到代码:

#include<stdio.h>

int main()
{int retry;
puts("请输入两个整数。");
int a;
int b;
int sum=0;
printf("整数a:");scanf("%d",&a);
printf("整数b:");scanf("%d",&b);
 int max=a;
int min=b;
if(b>=a)
{max=b;
min=a;}
do{sum=sum+min*min;
min=(min+1);
}while(min<=max);
printf("%d到%d的平方和为%d",a,b,sum);
    return 0;
}

注意此代码第二个整数值不能太大,不然会输出为0

我们也可以想到高中学习的阶乘是否也可以用do语句来写呢?

我们仔细思考便得到循环:

do{sum*=a;
a--;
}while(a>0);

如此便得到代码:

#include<stdio.h>

int main()
{int a;
int sum=1;
printf("请输入一个正整数");
scanf("%d",&a);
do{sum*=a;
a--;
}while(a>0);
printf("该数的阶乘是%d",sum);
    return 0;
}

该代码用于求出某个正整数的阶乘。

来自一位入门小白的见解。

标签:min,int,max,sum,明解,整数,入门篇,printf,2do
From: https://blog.csdn.net/2401_87607041/article/details/143190087

相关文章

  • 真正的小白入门篇(一),从点亮一颗灯开始
     更多电路设计,PCB设计分享及分析,可关注本人微信公众号“核桃设计分享”!回想起当年做过的愚蠢的事,居然把电源指示灯(LED)串到主回路里面一上电,然后LED就是这个下场了被自己蠢哭了虽然知识点很简单,难度堪比1+1=2,但我相信很多刚入门的小伙伴,也是对点灯电路中一些器件的选型......
  • 1.网工入门篇--------网络硬件通讯媒介介绍
    双绞线数据传输功能双绞线是一种常见的网络通讯媒介,主要用于传输电信号形式的数据。它能够以不同的速率传输数据,例如在常见的以太网应用中,可以支持10Mbps、100Mbps、1000Mbps(即千兆以太网)甚至更高的传输速率。这种传输速率可以满足各种规模网络的数据传输需求,从简单的家庭网......
  • 2.网工入门篇--------OSI七层模型功能介绍
    应用层:功能:应用层是最高层,直接为应用程序提供服务,与用户的交互最为紧密。它负责处理网络通信的各种应用需求,比如文件传输、电子邮件的发送和接收、网页浏览等。应用层的程序可以根据用户的需求发起通信请求,并将数据传递给下一层进行处理。举例:常见的应用层协议有HTTP(用于......
  • 基础架构补全—C语言基础入门篇(二)
    前言:    上一篇博客我仅简单对C语言语法基础进行了简单介绍,这次我将对其中遗漏知识进行补全及延申,但冰冻三尺非一日之寒,现在我也只不过是站在C语言的光辉大门前罢了,尚没有彻底迈出一步,希望各位能共励共勉,在接下来的学习中都能,鹏程发韧,培风图南,日进一卒,功不唐捐!1.注释......
  • 使用PyTorch搭建Transformer神经网络:入门篇
    目录简介环境设置PyTorch基础Transformer架构概述实现Transformer的关键组件5.1多头注意力机制5.2前馈神经网络5.3位置编码构建完整的Transformer模型训练模型总结与进阶建议简介Transformer是一种强大的神经网络架构,在自然语言处理等多个领域取得了巨大......
  • [米联客-XILINX-H3_CZ08_7100] FPGA_SDK入门篇连载-08PS 私有看门狗定时器实验
    软件版本:VIVADO2021.1操作系统:WIN1064bit硬件平台:适用XILINXA7/K7/Z7/ZU/KU系列FPGA实验平台:米联客-MLK-H3-CZ08-7100开发板板卡获取平台:https://milianke.tmall.com/登录“米联客”FPGA社区http://www.uisrc.com视频课程、答疑解惑!目录1概述2系统框图3中断资......
  • [米联客-XILINX-H3_CZ08_7100] FPGA_SDK入门篇连载-18 PL AXI-GPIO实验
    软件版本:VIVADO2021.1操作系统:WIN1064bit硬件平台:适用XILINXA7/K7/Z7/ZU/KU系列FPGA实验平台:米联客-MLK-H3-CZ08-7100开发板板卡获取平台:https://milianke.tmall.com/登录“米联客”FPGA社区http://www.uisrc.com视频课程、答疑解惑!目录1概述2系统框图3AXI-GPI......
  • [米联客-XILINX-H3_CZ08_7100] FPGA_SDK入门篇连载-26PL 自定义 AXI-Lite-频率计
    软件版本:VIVADO2021.1操作系统:WIN1064bit硬件平台:适用XILINXA7/K7/Z7/ZU/KU系列FPGA实验平台:米联客-MLK-H3-CZ08-7100开发板板卡获取平台:https://milianke.tmall.com/登录“米联客”FPGA社区http://www.uisrc.com视频课程、答疑解惑!目录1概述2系统框图3等精度......
  • [米联客-XILINX-H3_CZ08_7100] FPGA_SDK入门篇连载-23PL 自定义 AXI-Lite 协议 IP
    软件版本:VIVADO2021.1操作系统:WIN1064bit硬件平台:适用XILINXA7/K7/Z7/ZU/KU系列FPGA实验平台:米联客-MLK-H3-CZ08-7100开发板板卡获取平台:https://milianke.tmall.com/登录“米联客”FPGA社区http://www.uisrc.com视频课程、答疑解惑!目录1概述2系统框图3AXI总线......
  • 【TS】TypeScript基础入门篇以及实践案例
    Array和Tuple//最简单的方法是使用「类型+方括号」来表示数组:letarrOfNumbers:number[]=[1,2,3,4]//数组的项中不允许出现其他的类型://数组的一些方法的参数也会根据数组在定义时约定的类型进行限制:arrOfNumbers.push(3)arrOfNumbers.push('abc')//报错//元......