|

楼主 |
发表于 2015-4-24 13:19:18
|
显示全部楼层
- #include<stdio.h>
- #include<stdlib.h>
- #include<string.h>
- // 这个turnover函数是为了将字符串调转过来,因为convert函数中将n转换成字符串后字符串是倒着的
- // 就是利用了一个中间变量将字符串数组s首尾依次交换
- char *turnover(char *s)
- {
- int i,j; // 临时变量
- char c; // 临时变量
- j=strlen(s)-1; // 获取字符串有字符的长度因为字符串后又'\0',所以减1
- for(i=0;i<=j/2;i++) // 循环一次交换
- {
- c=s[j];
- s[j--]=s[i];
- s[i]=c;
- }
- return s;
- }
- // 将整数n转换成字符串
- char *convert(int n,char *s)
- {
- char c[]={'0','\0'}; // 临时变量,用于存储从n上一次剥落的字符
- c[0]=n%10+'0'; // 将n的个位转化成字符,存储在c[0]中
- strcat(s,c); // 连接s与c
- n/=10; // n被剥落一位就减去一位
- if(n!=0) // 递归开始。。。
- convert(n,s);
- else
- return turnover(s);
- }
- int main()
- {
- int n;
- char s[100],*str;
- scanf("%d",&n);
- str=convert(n,s);
- printf("%s\n",str);
- }
复制代码 |
|