用C语言将一个整数逆序输出(用自定义函数)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用C语言将一个整数逆序输出(用自定义函数)相关的知识,希望对你有一定的参考价值。
用C语言将一个整数逆序输出(用自定义函数)#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int daoXupai(int x)
int n,b,d=0;
while(n)
b=n%10;
d=d*10+b;
n=n/10;
return d;
int main()
int x,result;
printf("输入一个整数:",x);
scanf("%d",&x);
result=daoXupai(x);
printf("倒序排后的数为:\n",result);
system("pause");
return 0;
printf("倒序排后的数为:\\n",result); //少了%d
不过加上后输出结果也不正确
这类问题用数组很方便, 或者在scanf时直接用字符数组获取数据更方便
#include<stdlib.h>#include<stdio.h>
#include "string.h"
int daoXupai(int x)
char s[10]="\\0";
sprintf(s,"%d",x);
int len=strlen(s);
int i,t;
for(i=0;i<len/2;i++)
t=s[i];
s[i]=s[len-1-i];
s[len-1-i]=t;
t=atoi(s);
return t;
int main()
int x,result;
printf("输入一个整数:",x);
scanf("%d",&x);
result=daoXupai(x);
printf("倒序排后的数为:%d\\n",result);
system("pause");
return 0;
追问
可是,不能用数组,怎么办
追答void daoXupai(int n)while(n>0)
printf("%d",n%10);
n=(n-n%10)/10;
int main(int argc, char *argv[])
int n;
scanf("%d",&n);
daoXupai(n);
return 0;
////或者/////////////
int daoXupai(int n)
int s=0,t;
while(n>0)
t=n%10;
n=(n-n%10)/10;
s=s*10+t;
return s;
int main(int argc, char *argv[])
int n;
scanf("%d",&n);
printf("%d",daoXupai(n));
return 0;
参考技术A 整个代码没什么大问题
最复杂的算法部分你都写的很好
然后 犯了一个很低级的错误...
printf("倒序排后的数为:\n",result);
输出没有加格式符...
printf("倒序排后的数为:%d\n",result);
加个%d就好啦。 参考技术B #include<stdio.h>
#include<stdlib.h>
#include<math.h>
int daoXupai(int n)
int s=0,t;
while(n>0)
t=n%10;
n=(n-n%10)/10;
s=s*10+t;
return s;
int main()
int x,result;
printf("输入一个整数:",x);
scanf("%d",&x);
result=daoXupai(x);
printf("倒序排后的数为:%d\\n",result);
system("pause");
return 0;
输入一个整数:123
倒序排后的数为:321
请按任意键继续. . .
C语言,写一个函数,使输入的字符串逆序
如果说用两个数组的话,我会做。我想知道,可不可以用一个数组,然后使用指针来完成?
完整的。。
#include<stdio.h>#include <stdlib.h>
#include <string.h>
int main()
char str[100];
gets(str);
int i = 0;
char ch;
int len = strlen(str);
for(i = 0; i < len / 2; i++)
ch = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = ch;
puts(str);
return 0;
结果:
假设我有一个char s[100],然后使用gets(s),让用户输入,能行么
追答你想让用户输入的字符串逆序存到s中去?
参考技术B 你学过链表么?就是要用数组做么???追问链表没学到。不过您也可以写一下链表方法。用数组和指针不能么?
追答你是在函数里面的话就这样写
// m是总共有多少字符
char temp
for(int i = 0;i<(m/2);i++)
temp = a[m-1-i];
a[m-1-i] = a[i];
a[i] = temp;
以上是关于用C语言将一个整数逆序输出(用自定义函数)的主要内容,如果未能解决你的问题,请参考以下文章