c语言 函数const
本题要求实现一个函数,可统计任一整数的每一位数字中的奇数之和。例如对于整数-31252,该函数应该返回9。
函数接口定义:
int Count_Digit ( const int N );
其中 N 是用户传入的参数。 N 的值不超过int的范围。函数须返回 N 的每一位数字中的奇数之和。
裁判测试程序样例:
#include <stdio.h>
int Count_Digit ( const int N );
int main()
{
int N;
scanf("%d", &N);
printf("%d", Count_Digit(N));
return 0;
}
/* 请在这里填写答案 */
输入样例:
-31252
输出样例:
9
int Count_Digit(const int N) {
int n = N; // 将N的值复制到局部变量n中
if (n < 0) {
n = -n; // 如果n为负数,取其绝对值
}
int he = 0; // 初始化he为0,用于累加奇数位数字
int count = 0; // 用于记录当前处理到的位数
while (n > 0) {
int ge = n % 10; // 取出个位数字
n /= 10; // 去掉个位数字
count++; // 位数加1
if (ge % 2 != 0 && count % 2 != 0) { // 如果是奇数位的奇数数字,则累加
he += ge;
}
}
return he; // 返回所有奇数位数字的和
}
修改点如下:
- 添加了一个局部变量
n来存储N的值。 - 对
n进行操作,而不是对N进行操作,因为N是const的。
浙公网安备 33010602011771号