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

输入一个整数,求它的位数以及各位数字之和。例如,123的位数是3,各位数字之和是6。【输入形式】从键盘输入一个整数。【输入输出样例1】(下划线... 输入一个整数,求它的位数以及各位数字之和。例如,123的位数是3,各位数字之和是6。
【输入形式】
从键盘输入一个整数。
【输入输出样例1】(下划线部分表示输入)
Input an integer: 1280
count=4 sum=11
【输入输出样例2】(下划线部分表示输入)
Input an integer: -99
count=2 sum=18
我c语言没学过多长时间,有一些看不懂
展开
 我来答
忆萧123
推荐于2018-05-07 · TA获得超过832个赞
知道小有建树答主
回答量:602
采纳率:0%
帮助的人:332万
展开全部
#include<stdio.h>
#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;
}

具体的你可以做做修改,我只是随便写了一个
chen_rong_hua
2012-04-22 · 超过54用户采纳过TA的回答
知道小有建树答主
回答量:251
采纳率:0%
帮助的人:88.9万
展开全部
这样
#include <stdlib.h>
#include <stdio.h>
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;
}
就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
donghelou
2012-04-22 · TA获得超过885个赞
知道答主
回答量:37
采纳率:22%
帮助的人:12.9万
展开全部
#include <stdlib.h>
#include <stdio.h>
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;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式