[编程题]08、输入两个数,代表一段连续整数,输出其中偶数的平方和以及奇数的立方和

目录

前言:

1、题目展示:

2、问题分析:

 3、最终代码展示:


前言:

开新专栏了,讲解100道基础语法编程题

用c语言讲解

目的是复习c语言中的基础语法,为单片机中的c语言代码分析做铺垫

专栏链接:

c语言基础语法编程题_1zero10的博客-优快云博客

1、题目展示:

 

2、问题分析:

先解决输入问题,输入多组数据,每组占一行,有两个数,m和n,那么还是以前讲过的循环输入问题

详情请见01、ASCII码排序

以下是代码展示:

while (scanf("%d%d", &m, &n) == 2) {

}

然后要开始判断其中哪些是偶数,哪些是奇数

因为首先存在m>ny以及m<=n两种情况,我们首先把它统一

当m>n时,进行变量交换,使m<n

代码如下:

if (m > n) {
        int tmp;
        tmp = m, m = n, n = tmp;
}

然后重头戏,循环遍历m到n中的所有数,并且判断其是奇数还是偶数

先展示代码,用注释进行解释

for (int i = m;i <= n;++i) { //从m遍历到n
        if (i % 2 == 0) {  //判断是否为偶数
                x = (i * i) + x;  //偶数求平方和,注意每次要加上前一次的值
        }
        else {
                y = (i * i * i) + y;//奇数求立方和
        }
}

 3、最终代码展示:

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main() {
        int m, n;
        while (scanf("%d%d", &m, &n) == 2) {
                int x = 0,y = 0;
                if (m > n) {
                        int tmp;
                        tmp = m, m = n, n = tmp;
                }
                for (int i = m;i <= n;++i) { //从m遍历到n
                        if (i % 2 == 0) {  //判断是否为偶数
                                x = (i * i) + x;  //偶数求平方和,注意每次要加上前一次的值
                        }
                        else {
                                y = (i * i * i) + y;//奇数求立方和
                        }
                }
                printf("%d %d\n", x, y);//注意输出的位置,在while循环内,if,for循环外
        }
        return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值