输入一个大于零的正整数,计算各位数字之和。若和大于,则对和值数字再各位求和,直到最后得到一个一位数

img

代码如下
有帮助望采纳~

#include<stdio.h>
int add(int n){
    int result = 0;
    while (n)
    {
        result += n % 10;
        n /= 10;
    }
    return result;
}
int main(int argc, char const *argv[]){
    int a=0;
    printf("Input n:");
    scanf("%d",&a);
    while(a>9){
        a = add(a);
    }
     printf("result=");
    printf("%d",a);
};

img


int sumNumber(int num)
{
   int sum=0;
   while(num>0){
     sum+=num%10num/=10;
   }
  return sum;
}
int main()
{
  int a;
  scanf("d",&a);
 while(a>9)
 {
   a=sumNumber(a);
 }
printf("d\n",a);
return 0;
}

望采纳!

供参考:

#include <stdio.h>
int main()
{
    int n, result;
    scanf("%d",&n);
    while(1)
    { 
        result = 0;
        while (n)
        {
            result += n % 10;
            n /= 10;
        }
        if (result < 10) break;
        else
            n = result;
    }
    printf("result=%d", result);
    return 0;
}