作业帮 > 综合 > 作业

C语言问题,高手帮忙,追加分~~ 题目是:编一个函数,输入一个长整数,求出它的位数以及各个位数之和.

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/05 11:28:30
C语言问题,高手帮忙,追加分~~ 题目是:编一个函数,输入一个长整数,求出它的位数以及各个位数之和.
C语言问题,高手帮忙,追加分~~
题目是:编一个函数,输入一个长整数,求出它的位数以及各个位数之和.
//题目是:编一个函数,输入一个长整数,求出它的位数以及各个位数之和
#include
#include
int GetDigits(long input)//取得位数
{
long AbsOfInput = labs(input); //求的输入的长整数的绝对值
int digit=0;
while (input != 0)
{
digit ++;
input /= 10; //让输入的数据每次减少一位
}
return digit;
}
int GetSumOfDigits(long input)//取得位数之和
{
long AbsOfInput = labs(input);
int SumOfDigits = 0;
int remains = 0;
while (input != 0)
{
remains = input % 10; //取得跟10取余的余数
input /= 10; //让输入的数据每次减少一位
SumOfDigits += remains;
}
return SumOfDigits;
}
int main()
{
long l_Input;
int i_Digits = 0;
int i_SumOfDigits = 0;
printf("请输入一个长整数 :");
scanf("%i",&l_Input);
i_Digits = GetDigits(l_Input);
i_SumOfDigits = GetSumOfDigits(l_Input);
printf("您输入的长整数是 :%i,位数是 :%d,各个位数之和是 :%d .\n",l_Input,i_Digits,i_SumOfDigits);
return 0;
}
本程序在 Visual C++ 6.0 下面调试通过.