目录
前言:
开新专栏了,讲解100道基础语法编程题
用c语言讲解
目的是复习c语言中的基础语法,为单片机中的c语言代码分析做铺垫
专栏链接:
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;
}

589

被折叠的 条评论
为什么被折叠?



