用算法实现将一个输入的数字颠倒(输入12345->54321),要求不调用任何系统函数,也不能将输入的数字转换为字符串作为中间过渡
1 //用算法实现将一个输入的数字颠倒(输入12345->54321),要求不调用任何系统函数,也不能将输入的数字转换为字符串作为中间过渡 2 #include "stdafx.h" 3 4 long reverse(long num) 5 { 6 long x=0; 7 while(num) 8 { 9 x=x*10; 10 x=x+num%10; 11 num=num/10; 12 } 13 return x; 14 } 15 16 void main() 17 { 18 long number,rev_num; 19 printf("Please input an integer:\n"); 20 scanf("%d",&number); 21 rev_num=reverse(number); 22 printf("The reverse number :%d\n",rev_num); 23 }
1 //将一个数字颠倒输出,用字符串的方式实现 2 #include "stdafx.h" 3 #include <string.h> 4 5 int reverse(char *str) 6 { 7 int len=strlen(str); 8 char *p1=str; 9 char *p2=str+len-1; 10 while(p1<p2) 11 { 12 char ch; 13 ch=*p1; 14 *p1=*p2; 15 *p2=ch; 16 p1++; 17 p2--; 18 } 19 return 0; 20 } 21 22 void main() 23 { 24 char str[]="123456"; 25 printf("str=%s\n",str); 26 reverse(str); 27 printf("reverse str=%s\n",str); 28 }