永发信息网

关于C语言编程的一些问题

答案:5  悬赏:10  手机版
解决时间 2021-05-01 17:43

本人新学C语言,但是有一个问题不会请大家解答。

题目:要求将各位数求和,例如:1234求和就是10,如此类推。

以下是我所编的程序:

#include <stdio.h>
void main()
{
int f(int x);
int a,b;
scanf("%d",&a);
b=f(a);
printf("%d",b);

}
int f(int x)
{
int c,sum;
if (x<10)
sum=x;
else
for (x;(x/10)<1;x=x/10)
{
c=x%10;
sum=0;
x=x/10;
sum=sum+c;
}
return(sum);
}

本人清楚在我的循环那里出现了错误,但是就是不知道应该怎么改正才对,请各路高手指教。。

最佳答案

一些小问题. 帮你改正了. 你看看加粗的部分



#include <stdio.h>


void main()
{
int f(int x);
int a,b;
scanf("%d",&a);
b=f(a);
printf("%d",b);

}


int f( int x )
{
int c,sum = 0;


if ( x < 10 )
sum = x;
else
{
for( x; x; x=x/10 ) //条件错了.
{
c=x%10;
//sum=0; //每次循环都将sum置0了.
//x=x/10; //for的步长就是x/10
sum=sum+c;
}
}


return(sum);
}

全部回答

#include <stdio.h> void main() { int f(int x); int a,b; scanf("%d",&a); b=f(a); printf("%d",b); } int f(int x) { int c,sum=0; if (x<10) sum=x; else //for (x;(x/10)>0;x=x/10) { c=x%10; //sum=0; //x=x/10; sum=c+f(x/10); } return(sum); }

你那个FOR语句问题很严重.下面的赋值也一塌糊涂.而且函数完全不是你想要实现的功能.

你在每次循环里,都把sum重新清0了。

其实你想得太复杂了,以下是我写的,给你参考一下

#include<stdio.h> int f(int x); int main() { int a,b; scanf("%d",&a); printf("%d\n",fun(a)); return 0; } int f(int x) { int res=0; while(x){ res+=x%10; x=x/10; } return res; }

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
分手后真的可以做朋友么?
八卦达人怎么完成
快手上发明星的唱歌视频怎么样才能发一整短?
现在南宁有哪些广告公司招平面设计实习生或学
英明房产地址有知道的么?有点事想过去
蹲下多长时间才能晕倒??
计算机软件系统一般包括哪两种软件……
有关高一必修四的三角函数公式
怎学好英语
梦想世界个人心法3的问题
生铁吸多了会怎样?
熬的笔顺笔画怎么写,物的笔画顺序怎么写
谁给个日本战国时期诸大名及重要人物的简介与
亲们,求几首QQ空间悲伤的背景音乐
仁善堂医药冶金店在什么地方啊,我要过去处理
推荐资讯
远宏装饰我想知道这个在什么地方
阳谷周易协会在哪里啊,我有事要去这个地方
谁有好听的歌?拿出来介绍介绍啊
谁知道在哪有好的ASP模版下啊?
大家认为炫舞伴侣自定义戒指,哪个脚下的光环
圣诞节送女朋友什么好?
姓黎的女孩取什么名字好听呢
表示人很多的歇后语,10个描写老鼠的歇后语
在酒店忽然遇见前男友,是主动上前打招乎还是
如何根治盆腔积液
和文宾馆在哪里啊,我有事要去这个地方
谁可以给把战刃给我,最上级的?我给50分
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?