c语言 从外界输入n个数,放到一维数组中,逆序输出,要求,用函数调用的方式?
2个回答
展开全部
#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,这个情况你也没有考虑到
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,这个情况你也没有考虑到
追问
嗦嘎
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
void func()
{
int n;
printf("请输入n:");
scanf("%d",&n);
int a[n];
printf("\n请输入数组:");
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
printf("\n倒序输出:");
for(int i=n;i>0;i--)
printf("%d ",a[i-1]);
}
int main()
{
func();
return 0;
}
void func()
{
int n;
printf("请输入n:");
scanf("%d",&n);
int a[n];
printf("\n请输入数组:");
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
printf("\n倒序输出:");
for(int i=n;i>0;i--)
printf("%d ",a[i-1]);
}
int main()
{
func();
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询