楼主你好。
#include
#include
#include
#define MAX 100
int reverse(int number)
{
char s_no[MAX],t; //定义字符数组,用来存放转换后的字符串。并定义一个字符变量
int i,n;
sprintf(s_no, "%d", number); //将数字转换成字符串存放在字符数组中
n=strlen(s_no)-1; //计算字符串长度
for(i=0;i<=n/2;i++)
{ t=s_no[i],s_no[i]=s_no[n-i],s_no[n-i]=t;} //将字符串前后的对应字符交换
return (atoi(s_no)); //将交换后的字符串转换成数字返回给主函数
}
int main()
{
int no,new_no;
printf("Please input number:");
scanf("%d",&no);
new_no=reverse(no);
printf("The new number is %d:\n",new_no);
return 0;
}
这个程序经试验可以运行成功。如果有问题可以再问我。希望对你有帮助。
跟你说一下思路,如下:
1.首先你应该知道你需要处理多大的数值,并据此分配存储空间用于存储相应的字符串。
2.把输入的数字转化成字符串并存储在步骤1中所指定的存储空间中。
3.对字符串做逆序处理
4.把处理后的字符串转换成数值并输出。
5.结束
#include
#include
int main()
{
int a;
scanf("%d",&a);
char s[256];int n,t;
sprintf(s,"%d",a);
n=strlen(s)-1;
for(int i=n;i>n/2;i--)
t=s[i],s[i]=s[n-i],s[n-i]=t;
sscanf(s,"%d",&a);
printf("%d",a);
}