C语言的这道题怎么做呀?没看懂什么意思

能不能给个程序呀?实验内容:要求:编写函数,实现将输入的数字转换为字符串。绘制此函数的流程图。编写代码,以及调试、输入、输出、通过过程。并给出至少5组测试用数据以及对应的... 能不能给个程序呀?

实验内容:

要求:
编写函数,实现将输入的数字转换为字符串。
绘制此函数的流程图。编写代码,以及调试、输入、输出、通过过程。并给出至少5组测试用数据以及对应的输出。

函数名:
Int fIntToString(charstr[] , int n , int number)
返回值:
函数成功转换,返回0;
出错,比如输入的number大于str可保存的总位数,此时返回1;
函数参数:
Str: 保存转换后的字符串,
n: str数组的长度,也就是可以保存的总位数-1;
number:待转换的整数。

用法举例1:
char str[10];
int result;
result=fIntToString( str , 9 , 3456);

则,result中的值为0,且str中的内容为:“3456”

用法举例2:
char str[3];
int result;
result=fIntToString( str ,2 , 3456);

因此时str最多只能保存2位数,但3456是4位数,故无法实现转换,此时result的值为1,表明出错,未实现转换。
展开
 我来答
xoaxa
2015-01-11 · TA获得超过8608个赞
知道大有可为答主
回答量:6415
采纳率:72%
帮助的人:3429万
展开全部
#include <stdio.h>

int fIntToString(char str[],int n, int number) {
int m = 0,i,t;
while(number) {
if(m >= n - 1) {
str[0] = '\0';
return 1;
}
str[m++] = number % 10 + '0';
number /= 10;
}
str[m] = '\0';
for(i = 0; i < m / 2; ++i) {
t = str[i];
str[i] = str[m - 1 - i];
str[m - 1 - i] = t;
}
return 0; 
}

int main() {
int n,result;
char s[5];
printf("n = ");
while(scanf("%d",&n) == 1 && n) {
result = fIntToString(s,5,n);
if(result) printf("数组空间太小,转换失败!\n");
else printf("%-d : \"%s\"\n",n,s);
printf("n = ");
}
return 0;
}
okGODArrogant
2015-01-11 · 超过40用户采纳过TA的回答
知道答主
回答量:94
采纳率:0%
帮助的人:68.3万
展开全部
#include<stdio.h>
int fIntToString(char str[5] , int n , int number)
{
int i,x;
if(n>5) return 1;
for(i=0;i<n;i++)
{
x=number%10;
str[n-1-i]=x+48;
number/=10;
}
return 0;
}
main()
{
char str[5];
int n,result,i;
long number,t;
scanf("%ld",&number);
t=number;
for(n=0;t!=0;n++)
t/=10;
result=fIntToString(str,n,number);
if(result==1)
printf("超出长度(长度为10)");
else for(i=0;i<n;i++)
printf("%c",str[i]);
printf("\n");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式