C语言:编写程序,输入一个整数,将它逆序组成一个整数后输出。要求定义并调用函数reverse(number)

编写程序,输入一个整数,将它逆序组成一个整数后输出。要求定义并调用函数reverse(number),它的功能是返回number的逆序数【输入形式】输入一个整数(可以是负... 编写程序,输入一个整数,将它逆序组成一个整数后输出。要求定义并调用函数reverse(number),它的功能是返回number的逆序数
【输入形式】输入一个整数(可以是负数)
【输出形式】输出逆序数
【样例输入1】123
【样例输出1】321
【样例输入2】-123
【样例输出2】-321
编译错误,我不会改,帮忙修改,谢谢
#include<stdio.h>
double reverse(int number);
int main()
{
int x,y;
scanf("%d",&x);
y=reverse(x);
printf("%d",y);
return 0;}
double reverse(int number){
int sum=0,s;
if(number>=0){
while(number!=0){
s=number%10;
sum=sum+s;
sum=sum*10;
number/10;}
return sum;}
else{
number=-number
while(number!=0){
s=number%10
sum=sum+s;
sum=sum*10;
number/10;}return -sum;}
}
展开
 我来答
止凝竹c
推荐于2017-09-21 · TA获得超过394个赞
知道小有建树答主
回答量:163
采纳率:0%
帮助的人:154万
展开全部
#include<stdio.h>
double reverse(int number);
int main()
{
int x;
double y;
scanf("%d",&x);
y=reverse(x);
printf("%.0lf",y);
return 0;}
double reverse(int number){
int sum=0,s;
if(number>=0){
while(number!=0){
s=number%10;
sum=sum+s;
sum=sum*10;
number/=10;}
return sum;}
else{
number=-number;
while(number!=0){
s=number%10;
sum=sum+s;
sum=sum*10;
number/=10;}
return -sum;
}
}
表达一个数比如m,m自身除以10时,要这样写,m/=10或者m=m/10绝对不能写成m/10;在C中这是非法语句,还有你漏了几个冒号,还有你的算法有问题,多乘了一个10,输入123时输出3210,这个算法问题你一定要仔细独立去寻找自己的函数部分肯定出了问题,还有当你输入是100时你输出的肯定得是1而不是001,这个情况你也没有考虑到
zhaolijun
推荐于2018-11-15 · TA获得超过834个赞
知道小有建树答主
回答量:92
采纳率:100%
帮助的人:88.1万
展开全部
你在这个函数中
double reverse(int number){
int sum=0,s;.....
}
将sum定义为int型
而函数的返回值是double型
最后返回sum时,你说这能匹配吗
根据题目要求,建议将函数返回值改为int型
纯手打 请给分,谢谢!!!!
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ff1fb94
2020-05-29
知道答主
回答量:1
采纳率:0%
帮助的人:544
展开全部
在二楼程序基础上把sum+=s放在sum*=s下面换一下位置,执行1234输出4321,就不会有后面的零了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式