| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3806 人关注过本帖
标题:给一个不多于5位的正整数,要求:分别输出没一位数字
只看楼主 加入收藏
ibiancheng
Rank: 1
等 级:新手上路
帖 子:148
专家分:0
注 册:2007-4-3
收藏
 问题点数:0 回复次数:9 
给一个不多于5位的正整数,要求:分别输出没一位数字
给一个不多于5位的正整数,要求:
分别输出没一位数字

问下这道题的算法...
搜索更多相关主题的帖子: 整数 数字 输出 
2007-04-23 16:07
限量版猪头
Rank: 2
等 级:论坛游民
威 望:1
帖 子:165
专家分:30
注 册:2006-2-5
收藏
得分:0 
具体自己想,用/和%运算即可...

呵呵~有些东西还是自己解决的好~总之就这两种运算就能解决问题

2007-04-23 16:09
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 
char *itoa(int value,char *string,int radix)
将整数value转化为以radix基数的字符串,这个字符串存入到string中.
例如:
itoa(100,string,10);string中的结果:100
itoa(100,string,8); string中的结果:144
itoa(100,string,16); string中的结果:64
itoa(100,string,2); string中的结果:1100100

wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2007-04-23 16:51
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 

试一试这个函数.


wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2007-04-23 16:51
ibiancheng
Rank: 1
等 级:新手上路
帖 子:148
专家分:0
注 册:2007-4-3
收藏
得分:0 

谢谢2楼的,我想我知道怎么算了,谢谢


执著的信念,坚定的自信,勤奋的努力才是通向成功的捷径! !!
2007-04-23 17:52
wen1000
Rank: 1
等 级:新手上路
帖 子:52
专家分:0
注 册:2007-4-5
收藏
得分:0 

这个函数不大懂?????????????

2007-04-23 17:54
限量版猪头
Rank: 2
等 级:论坛游民
威 望:1
帖 子:165
专家分:30
注 册:2006-2-5
收藏
得分:0 
#include<stdio.h>
void main()
{ int num,i,j=10,k=1,sum=0,a,bit=1;//bit为数的位数

scanf("%d",&num);

a=num;

while((a=a/10)!=0)
bit++;

for(i=0;i<bit;i++)
{ a=num%j;
a=a/k;
j*=10;
k*=10;
sum=sum+a;
}
printf("the sum is %d ",sum);
getch();
}


2007-04-23 18:17
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 
以下是引用wen1000在2007-4-23 17:54:46的发言:

这个函数不大懂?????????????

就是把整型数据转化为字符串.


wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2007-04-23 21:50
jojoviclly
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-4-17
收藏
得分:0 
main( )
{
long a;
int digits ,a5,a4,a3,a2,a1;
printf("\nInput a number(<100000) ");
scanf("%ld",&a);
if(a/10000>0) digits=5;
else if(a/1000>0) digits=4;
else if(a/100>0) digits=3;
else if(a/10>0) digits=2;
else digits=1;
printf("The number %ld contains %d digits",a,digits);
printf("\n");
switch(digits)
{
case 5:printf("%d ",a5=a/10000);
case 4:printf("%d ",a4=a%10000/1000);
case 3:printf("%d ",a3=a%1000/100) ;
case 2:printf("%d ",a2=a%100/10);
case 1:printf("%d ",a1=a%10);
}
printf("\n");
switch(digits)
{
case 5:printf("%d %d %d %d %d",a1,a2,a3,a4,a5);break;
case 4:printf("%d %d %d %d ",a1,a2,a3,a4);break;
case 3:printf("%d %d %d ",a1,a2,a3);break;
case 2:printf("%d %d ",a1,a2);break;
case 1:printf("%d ",a1);
}
printf("\nEnd");
}
试一试这个嘛,我们刚刚也在做这个程序,我用了这个,感觉不错

い水能载舟灬也能煮粥う
2007-04-24 09:48
限量版猪头
Rank: 2
等 级:论坛游民
威 望:1
帖 子:165
专家分:30
注 册:2006-2-5
收藏
得分:0 
以下是引用限量版猪头在2007-4-23 18:17:10的发言:
#include<stdio.h>
void main()
{ int num,i,j=10,k=1,sum=0,a,bit=1;//bit为数的位数

scanf("%d",&num);

a=num;

while((a=a/10)!=0)
bit++;

for(i=0;i<bit;i++)
{ a=num%j;
a=a/k;
j*=10;
k*=10;
sum=sum+a;
}
printf("the sum is %d ",sum);
getch();
}

我的方法是正解~而且可以大于5位,只要把输入的数类型改成double就可


2007-04-24 11:05
快速回复:给一个不多于5位的正整数,要求:分别输出没一位数字
数据加载中...
 
   



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

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