您的位置:首页 > 编程语言 > C语言/C++

C语言 用递归法将一个整数n转换成字符串

2015-05-10 14:26 423 查看
#include<stdio.h>

int main(void)

{

int n;

int enter_n();

void print_n(int n);

n=enter_n();

print_n(n);

return 0;

}

int enter_n()

{

int n;

printf("Please enter an integer:\n");

scanf("%d",&n);

return n;

}

void print_n(int n)

{

void convert(int n);

printf("\nOutput:\n");

if(n<0)

{

n=-n;

printf("-");

}

convert(n);

printf("\n");

}

void convert(int n)

{

int i;

if(i=n/10)

convert(i);

putchar(n%10+'0');

}

不用递归:

#include<stdio.h>

#include<math.h>

int main(void)

{

int n;

int enter_n();

void print_n(int n);

n=enter_n();

print_n(n);

return 0;

}

int enter_n()

{

int n;

printf("Please enter an integer:\n");

scanf("%d",&n);

return n;

}

void print_n(int n)

{

void convert(int n);

printf("\nOutput:\n");

if(n<0)

{

n=-n;

printf("-");

}

convert(n);

printf("\n");

}

void convert(int n)

{

char str[100];

int i=0,j,k;

while((n/(int)pow(10,i))!=0)

i++;

k=i-1;

for(j=0;j<i;j++,k--)

{

str[j]=n/(int)pow(10,k)+'0';

n%=(int)pow(10,k);

}

str[j]='\0';

printf("%s\n",str);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐