c语言 输入一个整数,求它的位数以及各位数字之和懿例如,123的位数是3,各位数字之和是6懿

2024-11-23 21:23:40
推荐回答(3个)
回答1:

#include
#define error -1
int atoi(char c)
void main()
{
char a[20];
printf("input number:");
scanf("%s",a);
int sum =0 ;
for(char *c=a; *c != '\0'; c++)
{
sum = atoi(*c) + sum;
}
printf("各个位之和为 %d",sum);
printf("一共有 %d位数子",c-a);
}

int atoi(char c)
{
if(c>=48 && c<= 58)
{
return (int)(c-48);
}
return error;
}

具体的你可以做做修改,我只是随便写了一个

回答2:

这样
#include
#include
int main(void)
{
int n,sum=0,count=0,s;
printf("输入一个整数:");
scanf("%d",&n);
while(n)
{
s=n%10;
n=n/10;
sum+=s;
count++;
}
printf("整数的个数为:%d\n个位数的和为:%d\n",count,sum);

system("pause");
return 0;
}
就可以了

回答3:

#include
#include
int main(void)
{
int n,sum=0,count=0,s;
printf("输入一个整数:");
scanf("%d",&n);
while(n)
{
s=n%10;
n=n/10;
sum+=s;
count++;
}
printf("整数的个数为:%d\n个位数的和为:%d\n",count,sum);

system("pause");
return 0;
}