C语言编程完成将一个任意正整数转换成相应的字符串.用函数

2024-11-09 09:56:32
推荐回答(4个)
回答1:

#include
#define LEN 30
int main(){
    void toString(__int64 x,char *p);
    char str[LEN];
    __int64 x;

    printf("请输入要转换的整数: ");
    scanf("%I64d",&x);
    toString(x,str);
    printf("转换成字符串: %s\n",str);
    return 0;
}
void toString(__int64 x,char *p){
    int i,t,r,l;
    //初始化
    for(i=0;i    //转换
    t=1;
    while(t<=x) t*=10;
    t/=10;
    l=0;//长度
    while(x>0){
        r=x/t;
        p[l++]=r+48;
        x%=t;
        t/=10;
    }
}

回答2:

#include 

char* itoa(char* dest, int num) {
int counts = 0, i, j;
char temp;
while (num > 0) {
dest[counts++] = num % 10 + '0';
num /= 10;
}
dest[counts] = '\0';
for (i = 0, j = counts - 1; i < j; i++, j--) {
temp = dest[i];
dest[i] = dest[j];
dest[j] = temp;
}
return dest;
}

int main() {
char buf[20];
int num;
while (scanf("%d", &num) == 1 && num > 0) {
printf("%s\n", itoa(buf, num));
}
return 0;
}

回答3:

#include
#include 
void Convert(char ch[10],int a){
char temp[10];
int i=0,j;
memset(temp,'\0',10*sizeof(char));
while(a>0){
temp[i++]=a%10+'0';
a/=10;
}
for(i-=1,j=0;i>=0;i--,j++){
ch[j]=temp[i];
}
}
void main()
{
int a;
char ch[10];
memset(ch,'\0',10*sizeof(char));
scanf("%d",&a);
Convert(ch,a);
printf("%s\n",ch);
}

回答4:

通过格式操作使任意类型的数据转换成一个字符串