永发信息网

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

答案:4  悬赏:40  手机版
解决时间 2021-04-03 05:34
  • 提问者网友:自食苦果
  • 2021-04-02 06:46
如何在C语言里用什么语句可以做到 如输入123 实现输出1+2+3
最佳答案
  • 五星知识达人网友:罪歌
  • 2021-04-02 07:56
//这样就ok啦,欢迎交流
//这样就可以随机的输入啦
#include
int main(){
int tar;
scanf("%d", &tar);
int res_sum = 0;
while(tar!=0){
res_sum+=tar%10;
tar/=10;
}
printf("%d
", 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
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
", tar);
return 0;
}追问谢谢你的热心
恩 
有时可能会超过十位 
因为有可能会要输入电话号码
我试着用你的改了一下
但是却出问题了

追答你的code和我的不一样啊,如果输入超过10位,可以用下面的code:
#include
#include
#define N 100
int main(){
char str_tar[N];
int tar = 0,i, res_sum = 0;
scanf("%s", str_tar);
for(i = 0; i tar+= str_tar[i] - '0';
}
while(tar>10){
while(tar!=0){
res_sum+=tar%10;
tar/=10;
}
tar = res_sum;
res_sum = 0;
}
printf("%d
", tar);
return 0;
}追问恩
谢谢你
全部回答
  • 1楼网友:刀戟声无边
  • 2021-04-02 09:10
#include
int main()
{
int i,s=0;
getchar();
for(i=1;i<4;i++)
s+=i;
printf("%d",s);
return 0;
}
这个就可以啊追问谢谢你
  • 2楼网友:纵马山川剑自提
  • 2021-04-02 09:03
#include
char a[222],b[222];
gets(a);
int n=0,k=0;
n=strlen(a);
for(int i=0;i{
b[k++]=a[i];
b[k]="+"
}
b[k++]="\0";
puts(b);追问谢谢你
  • 3楼网友:鸽屿
  • 2021-04-02 08:24
#include
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;
}追问谢谢你
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯