C 语言函数练习专题
原创2023年9月6日大约 3 分钟...约 751 字
Question 1
题目: 数字分隔与求和
编写一个 C 语言函数,实现以下功能:
- 从用户那里接受一个不超过10位的正整数。
- 使用函数对该数字进行分隔,输出每一位数字。
- 对这些数字求和并输出。
函数原型:
void processAndSumDigits(long num);
示例:
输入:
12345
输出:
Digits: 1 2 3 4 5
Sum: 15
提示:
你可以使用循环来遍历整数的每一位,并进行相应的运算。
祝你编码愉快!
#include <stdio.h>
// 声明函数原型
void processAndSumDigits(long num);
int main() {
long number;
// 从用户那里接受一个不超过10位的正整数
printf("Enter a positive integer (up to 10 digits): ");
scanf("%ld", &number);
// 处理数字并求和
processAndSumDigits(number);
return 0;
}
// 函数定义
void processAndSumDigits(long num) {
int digits[10]; // 存储最多10位的整数
int count = 0; // 计数器用于确定数字的位数
int sum = 0; // 初始化和为0
// 分隔数字并存储在数组中
while (num > 0) {
digits[count] = num % 10; // 获取数字的最后一位
sum += digits[count]; // 将该数字添加到总和中
num /= 10; // 移除数字的最后一位
count++; // 递增计数器
}
// 输出每一位数字
printf("Digits: ");
for (int i = count - 1; i >= 0; i--) {
printf("%d ", digits[i]);
}
printf("\n");
// 输出数字的和
printf("Sum: %d\n", sum);
}
注释解释:
int digits[10];
这行定义了一个数组,用于存储整数的每一位。- 我们使用
while
循环来逐位处理整数。 - 在
while
循环中,我们使用num % 10
来获取整数的最后一位,并将其添加到数组中。 - 之后,我们将整数除以10,以便移除其最后一位。
- 在
for
循环中,我们从数组的最后一个元素开始遍历(即整数的第一位),并输出每一位。
此代码将接受用户输入的整数,然后输出它的每一位和这些数字的总和。
公众号:AI悦创【二维码】
AI悦创·编程一对一
AI悦创·推出辅导班啦,包括「Python 语言辅导班、C++ 辅导班、java 辅导班、算法/数据结构辅导班、少儿编程、pygame 游戏开发、Linux、Web、Sql」,全部都是一对一教学:一对一辅导 + 一对一答疑 + 布置作业 + 项目实践等。当然,还有线下线上摄影课程、Photoshop、Premiere 一对一教学、QQ、微信在线,随时响应!微信:Jiabcdefh
C++ 信息奥赛题解,长期更新!长期招收一对一中小学信息奥赛集训,莆田、厦门地区有机会线下上门,其他地区线上。微信:Jiabcdefh
方法一:QQ
方法二:微信:Jiabcdefh
你认为这篇文章怎么样?
- 0
- 0
- 0
- 0
- 0
- 0