| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2904 人关注过本帖
标题:[求助]输入一个正整数,求位数
只看楼主 加入收藏
zqj417
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-2-16
收藏
 问题点数:0 回复次数:36 
[求助]输入一个正整数,求位数
输入1到5位的正整数求位数,不管输入什么都是"input wrong",看不出来毛病
main()
{
int bit;
long num;
scanf("num=%ld",&num);
if(num<1||num>99999)
printf("\ninput wrong");
else
{ if(num>9999) bit=5;
else if(num>999) bit=4;
else if(num>99) bit=3;
else if(num>9) bit=2;
else bit=1;
printf("\nbit=%d",bit);
}
}
搜索更多相关主题的帖子: 整数 位数 输入 
2006-02-19 15:49
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 
此题怎解

给一个不多于5位的正证书 要求: 1 求出它是几位数 2. 分别打印出每一个数字 3. 按逆顺序打印出各位数字

请写出程序.并说明应用什么函数~






去看看我发的帖子..应该说比你的难


[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-02-19 16:10
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 

你的方法...太..


main()
{int i,j;
char a[6];
printf("Input the number:\n");
scanf("%s",a);

for(i=0;i<6;i++)
if(a[i]=='\0') break;
printf("This number's bit is:%d\nThis number is:%s\n",i,a);

for(j=i;j>=0;j--)
printf("%c",a[j]);
getch();
}

去试一下


[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-02-19 16:11
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 
>9就是2位书的话..那 1547 就也应该显示是2位数

你最起码也得写 num>9 && num< =99
and so on

[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-02-19 16:14
zqj417
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-2-16
收藏
得分:0 

但是if是顺序执行的啊,如果能执行到else if(num>9) bit=2;这里怎么可能是1547啊

重写了一个还不对路
main()
{
int bit;
long doc,num;
bit=5;
doc=10000;
scanf("num=%ld",&num);
while(num<doc&&doc>=10)
{bit=bit--;doc/=10;}
printf("\nbit=%d,%d",bit,doc);
}

2006-02-19 16:29
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 

你说的也对..我也弄不明白怎么回事..它只运行第一个 printf

我把你的第一个个 "输入错误"的 printf删了 他就只输出 bit=5 了

反正你试试我的..我的那个没问题了

[此贴子已经被作者于2006-2-19 16:41:45编辑过]


[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-02-19 16:40
zqj417
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-2-16
收藏
得分:0 
好痛苦啊,想了2个小时了
2006-02-19 17:35
Fjcyz
Rank: 2
等 级:论坛游民
威 望:1
帖 子:175
专家分:25
注 册:2006-2-6
收藏
得分:0 
scanf("num=%ld",&num);

这个语法错误. scanf("%ld",&num);

最好的域名、虚拟主机、VPS  www.
2006-02-19 17:56
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 
你认为对的编译系统不一定就认为..有对的答案就先弄懂那个吧

[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-02-19 17:57
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 
对哦~~那么写的话 你输入的时候就得输入 num= ... 给忘了 呵呵~~那么样的话 就可以算了

[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-02-19 18:05
快速回复:[求助]输入一个正整数,求位数
数据加载中...
 
   



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

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