如何获得单数字的O / P? [英] How Do I Get The O/P In Single Digit?

查看:89
本文介绍了如何获得单数字的O / P?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

 #include< stdio.h> 
int dob(int num);
main()
{
int num,c;
printf(输入数字);
scanf(%d,& num);
printf(数字之和为%d,dob(num));
返回0;
}
int dob(int num)
{
int temp = 0,c;
if(num> 10)
{
temp = num%10;
num = num / 10;
返回temp +(dob(num));
}
}

解决方案

您是否正在尝试计算 num 递归?

如果是这样的话,这样的事可能适合你;



< pre lang =c> #include < < span class =code-leadattribute> stdio.h >

int dob( int num);
int calc( int num);

int main(){
int num,c;
printf( 输入数字);
scanf( %d,& num);
printf( 数字之和为%d,calc(num)) ;
return 0 ;
}

int calc( int num){
int sum = num;
{
sum = dob(sum);
} while (sum> 9 );
return sum;
}

int dob( int num){
if (num< 10
return num;
else
return dob(num / 10 )+ dob(num% 10 );
}







希望这会有所帮助,

Fredrik


#include<stdio.h>
int dob(int num);
main()
{
        int num,c;
        printf("enter the number ");
        scanf("%d",&num);
        printf("the sum of the digits is %d",dob(num));
        return 0;
}
int dob(int num)
{
        int temp=0,c;
        if(num>10)
        {
                temp=num%10;
                num=num/10;
                return temp+(dob(num));
        }
}

解决方案

Are you trying to calculate the sum of the digits in num recursively?
If that is the case, something like this might work for you;

#include<stdio.h>

int dob(int num);
int calc(int num);

int main() {
    int num, c;
    printf("enter the number ");
    scanf("%d", &num);
    printf("the sum of the digits is %d", calc(num));
    return 0;
}

int calc(int num) {
    int sum = num;
    do {
        sum = dob(sum);
    } while (sum > 9);
    return sum;
}

int dob(int num) {
    if (num < 10)
        return num;
    else
        return dob(num / 10) + dob(num % 10);
}




Hope this helps,
Fredrik


这篇关于如何获得单数字的O / P?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆