编写一个程序将整数n转换为十进制表示的字符串。

最好解释一下什么叫十进制表示的字符串..谢谢 有给力追加的

这个是很多学生的作业题
计算机里的数据都是二进制的,不论是整数还是字符,字符串就是很多个字符的序列。
比如一个整数65,int i=65;
我们打印时用%d,%c,%x分别可以打印出十进制,ASCII字符,十六进制。
在计算机里int作类型内存中十六进制表示为0x41,ASCII码指'A'字符。
所以打印得出65,A,41
我们通过%和后面跟的dcx来控制输出,系统自动将内存中二进制相应显示。

依你的题呢,就是还打出65,但是此65是在内存中新开的内存区,其中是'6','5'两个字符。
以下是我写的简单代码,有考虑不全的地方很多,比如没考虑负数等等。

#include <stdio.h>

int main()
{
int i=0,s[4];
int n=65;

while(n!=0)
{
s[i++]=n%10;
n=n/10;
}

i--;

while(i>=0)
{
printf("s[%d]=%d\n",i--,s[i]);
}

return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-02-18
这是我作业,你广工的吧?
我理解是:首先看问题:编写一个程序,将 整数 转换为 字符串。
目的就是要将一个整数转换为字符串
至于是什么字符串呢?前面有定语:十进制表示的字符串。
我们知道,每个字符都有对应的ASC码,有八进制和十进制
例如,字符A的十进制的字符串就是65.
至于八进制,你大可自己去换算。

因此,核心就是:将一个十进制的整数N,通过程序转换成一个十进制的字符串。
额,就是和wxy同学的一个意思,比如你输入65,输出还是65,但是这时的65是6和5两个字符连成的字符串,具体的代码我不写了,自己努力。
第2个回答  2011-02-17
按我理解,就是将整数 n 转为 字符串。比如将整数 10 转为 字符串的"10 “。
#include <stdio.h>
#include <stdlib.h>

void main()
{
int b;
scanf("%d",&b);
char buf[10];
itoa(b,buf,10);
printf("%s",buf);
}
相似回答