c语言编程问题-
/*一个程序,其功能是:从键盘输入一个正整数,若为奇数,则将各个数位的数字求和并输出;若为偶数,则逆序输出。例如:若输入361,则输出10;若输入48,则输出84。*/这个问题,应该用什么方法来判断输入的是几位数,具体应该怎么编程?非常期待能够得到大家帮助。 本帖最后由 jitianmoshen 于 2020-12-10 13:44 编辑
#include <stdio.h>
int sum_odd(int num);
void reverse(int num);
int main(void)
{
int num;
scanf("%d",&num);
if (num % 2)
printf("%d\n",sum_odd(num));
else
reverse(num);
return 0;
}
int sum_odd(int num)
{
int sum = 0;
int m;
while (num) //不需要判断是几位数,int类型除法是取整的,一直除以10就好了
{
m = num % 10;
sum += m;
num /= 10;
}
return sum;
}
void reverse(int num)
{
int m;
while(num)
{
m = num % 10;
printf("%d",m);
num /= 10;
}
} jitianmoshen 发表于 2020-12-10 13:37
再次感谢
页:
[1]