如何在C语言里用什么语句可以做到 如输入123 实现输出1+2+3

刚学C不久还请大家多帮助帮助输入的数据是随机的长度不定但是都是数字最终的目的是要想把所有的数相加举个例子随机输入20151122247然后执行2+0+1+5+1+1+2+... 刚学C不久 还请大家多帮助帮助
输入的数据是随机的 长度不定 但是都是数字 最终的目的是要想把所有的数相加
举个例子
随机输入20151122247
然后执行2+0+1+5+1+1+2+2+2+4+7
结果是27
然后再执行2+7
最终得到一个个位数字
这里是9
之后对数字进行判断
1执行输出 黑色
2执行输出 绿色
以此类推
判断我倒是可以试试 就是不知道前面该怎么把数字加成个位数
展开
 我来答
寒寒家
推荐于2017-09-15 · TA获得超过2919个赞
知道大有可为答主
回答量:1482
采纳率:100%
帮助的人:1955万
展开全部
//这样就ok啦,欢迎交流
//这样就可以随机的输入啦
#include<stdio.h>
int main(){
int tar;
scanf("%d", &tar);
int res_sum = 0;
while(tar!=0){
res_sum+=tar%10;
tar/=10;
}
printf("%d\n", res_sum);
return 0;
}
更多追问追答
追问
如果我想最终最终得到一个个位数字 怎么办呢

举个例子
随机输入20151122247
然后执行2+0+1+5+1+1+2+2+2+4+7
结果是27
然后再执行2+7
最终得到一个个位数字
这里是9
之后对数字进行判断
1执行输出 黑色
2执行输出 绿色
以此类推
判断我倒是可以试试 就是不知道前面该怎么把数字加成个位数
追答
//明白啦
//如果输入的位数不超过10位的话,那么下面的code就ok了,如果超过了10位,那还得修改下
#include<stdio.h>
int main(){
int tar;
scanf("%d", &tar);
int res_sum = 0;
while(tar>10){
while(tar!=0){
res_sum+=tar%10;
tar/=10;
}
tar = res_sum;
res_sum = 0;
}
printf("%d\n", tar);
return 0;
}
离1018
2015-01-12 · 超过11用户采纳过TA的回答
知道答主
回答量:34
采纳率:0%
帮助的人:16.3万
展开全部
#include<stdio.h>
int main()
{
int n=123;
int a,b,c,sum;//a,b,c分别表示123的百位,十位和个位的数,sum表示结果
a=n/100;
b=(123-a*100)/10;
c=123%10;
sum=a+b+c;
printf("sum %d\n",sum);
return 0;
}
追问
谢谢你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
enjoy刘光瑞
2015-01-12
知道答主
回答量:21
采纳率:0%
帮助的人:12.6万
展开全部
#include<stdio.h>
int main()
{
int i,s=0;

getchar();

for(i=1;i<4;i++)

s+=i;

printf("%d",s);

return 0;
}

这个就可以啊
追问
谢谢你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
楼主_回头是岸
2015-01-12 · TA获得超过724个赞
知道小有建树答主
回答量:799
采纳率:53%
帮助的人:310万
展开全部
#include<string.h>
char a[222],b[222];
gets(a);
int n=0,k=0;
n=strlen(a);
for(int i=0;i<n;i++)
{
b[k++]=a[i];

b[k]="+"

}
b[k++]="\0";
puts(b);
追问
谢谢你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式