| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1652 人关注过本帖
标题:{求教]关于如何数字变成字符输出问题...
只看楼主 加入收藏
haroldi
Rank: 1
等 级:新手上路
帖 子:158
专家分:0
注 册:2006-7-22
收藏
 问题点数:0 回复次数:8 
{求教]关于如何数字变成字符输出问题...

我试了好长时间,终于整不明白了...

请教各位:
1、如何在主函数中输出;
2、如何简单的把负号放入数组中;
3、当输入的n的类型为long long型时,为什么数组中的值都不对,应怎样设置?
初学C,请大家多多指教.

//写一函数,输入一个4位数字,
//要求输出4个数字字符,但每两个数字间有一个空格。如输入1990,应输出"1 9 9 0"。
#include <stdio.h>
void n2c1(long);
void n2c2(long,char *);

int main(void)
{
long a;
char ch[81],flag;
printf("Input one number('q'=quit):\n");
while(scanf("%ld",&a)==1)
{
flag=' ';
if(a<0) {flag='-';a=-a;}

printf("The number is: %ld",a);
printf("\n=============1============\nThe string is: ");
printf("%c",flag);
n2c1(a);

printf("\n=============2============\nThe string is: ");
n2c2(a,ch);
puts(ch);
printf("\n\n\nInput one number('q'=quit):\n");
}
}

void n2c1(long n)
{
char c[81],*cp=c;
*cp++=' ';
*cp++=n%10+'0';
n=n/10;
if(n>0) n2c1(n);
*cp='\0';
printf("%s",c);
}


void n2c2(long n,char *ch)
{
*ch++=n%10+'0';
n=n/10;
printf("*ch=%c,n=%ld\n",*ch,n);
// if(n>0) ????
*ch='\0';
}

搜索更多相关主题的帖子: 数字 字符 输出 
2006-07-25 23:22
haroldi
Rank: 1
等 级:新手上路
帖 子:158
专家分:0
注 册:2006-7-22
收藏
得分:0 
感觉我的函数里面好乱,,,应该怎样写?

Do people want thick road ...
2006-07-25 23:23
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 

#include<stdio.h>
int main(void)
{
long value,instead;
int count=0,i;
scanf("%ld",&value);
if(value<0) printf("- "),value=-value;
instead=value;
while(instead)
{
instead/=10;
count++;
}
while(count--)
{
for(i=0,instead=1;(i<count)&&(instead*=10);i++);
printf("%c ",value/instead%10+48);
}
putchar(10);
}


[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-07-26 10:55
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 
#include<stdio.h>
int main(void)
{
long value;
int i=0;
char ptr[10];
scanf("%ld",&value);
sprintf(ptr,"%ld",value);
while(ptr[i]!=0)
printf("%c ",ptr[i++]);
putchar(10);
}


[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-07-26 11:01
ccjamting
Rank: 1
等 级:新手上路
帖 子:46
专家分:0
注 册:2006-7-10
收藏
得分:0 
对这个论坛灰心,以删除,在见。

[此贴子已经被作者于2006-7-31 16:01:14编辑过]


即非出自名门,又系旁门左道,我,就这样笑着。
2006-07-26 11:06
haroldi
Rank: 1
等 级:新手上路
帖 子:158
专家分:0
注 册:2006-7-22
收藏
得分:0 
1、如何调用后在main中输出;
2、如何简单的把负号放入字符串中;
3、当输入的n的类型为long long型时,为什么数组中的值都不对,应怎样设置?
问的太幼稚了我只想试一下,,,55555555555幼稚aa

Do people want thick road ...
2006-07-27 15:06
boyatec
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2006-7-28
收藏
得分:0 
#include<stdio.h>
main()
{
static char a[8];
int num,m,i=8;
scanf("please input the data to be convered:%d",&num);
while(num/10)
{
m=num%10;
a[i--]='0'+m;
a[i--]=' '
num/=10;
}
printf("%s",a);
}



[此贴子已经被作者于2006-7-29 0:32:01编辑过]

2006-07-29 00:26
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-07-29 01:52
haroldi
Rank: 1
等 级:新手上路
帖 子:158
专家分:0
注 册:2006-7-22
收藏
得分:0 
以下是引用穆扬在2006-7-29 1:52:14的发言:
好象有过 类似的讨论
供楼主参考
http://www.bc-cn.net/bbs/dispbbs.asp?boardid=5&replyid=206132&id=75360&page=1&skin=0&Star=1

多谢!学习中...


Do people want thick road ...
2006-07-30 21:56
快速回复:{求教]关于如何数字变成字符输出问题...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023272 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved