c语言,从键盘中输入一个正整数n分别求1到n之间所有个位数是3或5的数的和

如题所述

#include <stdio.h>

int main()

{

int n, sum = 0;

printf("请输入一个正整数:");

scanf("%d", &n);

for (int i = 1; i <= n; i++)

{

int digit = i % 10;

if (digit == 3 || digit == 5)

{

sum += i;

}

}

printf("1到%d之间所有个位数是3或5的数的和为:%d\n", n, sum);

return 0;

}

在这个程序中,我们使用 for 循环遍历从 1 到 n 的所有整数,判断它们的个位数是否为 3 或 5,如果是,则将它们的和累加到变量 sum 中。最终输出变量 sum 的值,即为题目所求。

需要注意的是,题目要求输入一个正整数 n,因此我们需要对输入的值进行合法性检查,以确保它是正整数。此外,如果 n 的值非常大,累加过程中可能会导致整数溢出,因此需要对数据类型进行选择和判断,以确保计算结果正确。

温馨提示:答案为网友推荐,仅供参考