| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1792 人关注过本帖
标题:[求助]c程序设计题
只看楼主 加入收藏
blue_lr
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-4-30
收藏
 问题点数:0 回复次数:11 
[求助]c程序设计题

背景:

一个正整数的倒数是1除以那个整数。举例来说,37 的倒数是 1/37。有些正整数的倒数是可以用十进制的有限不循环小数表示的,这些正整数包括:

  • 10 的幂;
  • 2 的幂;
  • 2 的幂并跟着数个 0;
  • 5 的幂;
  • 5 的幂并跟着数个 0。

你的任务是求出这样一些整数的倒数,并用十进制表示出来。

输入:

输入的第一行是要处理的正整数的个数,后面每一行输入一个正整数。每一个正整数都符合以下条件:

  • 都会从行首开始,
  • 其第一列的数字不为 0,
  • 最多包含 72 个数字。

输出:

对于每一个正整数,输出以精确的十进制表示的该数的倒数。每个结果一行。

测试用例 0
测试输入
1 4
2 2
3 100
4 6250000
5 1048576
期待的输出
1 0.5
2 0.01
3 0.00000016
4 0.00000095367431640625
时间限制 1秒
内存限制 无限制
这个题目,用什么算法好呢
搜索更多相关主题的帖子: 程序设计 
2006-04-30 13:40
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
收藏
得分:0 
呵呵,兄弟,这个程序编起来挺费劲的,
估计你得出钱,
大家才能帮你编哦~!

对不礼貌的女生收钱......
2006-04-30 13:46
飞跃无限
Rank: 1
等 级:新手上路
威 望:1
帖 子:180
专家分:0
注 册:2006-4-16
收藏
得分:0 
不要理他哈哈
特别是楼上的
2006-04-30 13:46
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
收藏
得分:0 
以下是引用blue_lr在2006-4-30 13:40:00的发言:

背景:

一个正整数的倒数是1除以那个整数。举例来说,37 的倒数是 1/37。有些正整数的倒数是可以用十进制的有限不循环小数表示的,这些正整数包括:

  • 10 的幂;
  • 2 的幂;
  • 2 的幂并跟着数个 0;
  • 5 的幂;
  • 5 的幂并跟着数个 0。

你的任务是求出这样一些整数的倒数,并用十进制表示出来。

输入:

输入的第一行是要处理的正整数的个数,后面每一行输入一个正整数。每一个正整数都符合以下条件:

  • 都会从行首开始,
  • 其第一列的数字不为 0,
  • 最多包含 72 个数字。

输出:

对于每一个正整数,输出以精确的十进制表示的该数的倒数。每个结果一行。

测试用例 0
测试输入
1 4
2 2
3 100
4 6250000
5 1048576
期待的输出
1 0.5
2 0.01
3 0.00000016
4 0.00000095367431640625
时间限制 1秒
内存限制 无限制
这个题目,用什么算法好呢

帖子少写个0.25吧?

期待的输出
1 0.25
2
0.5
3 0.01
4 0.00000016
5 0.00000095367431640625


对不礼貌的女生收钱......
2006-04-30 13:53
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 

我不钱 ,给点金币就满足了
[CODE]
#include "stdio.h"
#include "malloc.h"
#include "math.h"
#define MAX 100

int main()
{
long *resource,k;
int result[MAX]={0},num,i,j;

printf("please input the num of tese data:\n");
scanf("%d",&num);
resource=(long *)malloc( sizeof(long) *num );
printf("please input the test data:\n");
for(i=0;i<num;i++)
scanf("%ld",&resource[i]);
for(i=0;i<num;i++)
{
j=0; k=1;
if(resource[i]==1)
{
printf("1\n");
continue;
}
while(resource[i]%10==0)
{
result[j++]=0;
resource[i]/=10;
}
if ( resource[i]==1 )
{
result[j-1]=1;
k=0;
}

while(k!=0&&j<MAX)
{
while( (k*=10)<resource[i] )
result[j++]=0;
result[j++]=k/resource[i];
k %= resource[i];
}
printf("0.");
for(k=0;k<j;k++)
{
printf("%d",result[k]);
result[k]=0;
}
printf("\n");
}
free(resource);
return 0;
}
[/CODE]

C-Free(XP) 正确运行


叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-05-01 00:16
ScanH
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2005-11-12
收藏
得分:0 
发现一个问题`!楼上的总喜欢在最后带上 return 0;
是习惯还是这样做比较好`?

my bolg : http://fengjing.
2006-05-01 02:18
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
收藏
得分:0 

真没想到版主数学也这么强!
至于那习惯,估计是学C的时候留下的后遗症~,呵呵


对不礼貌的女生收钱......
2006-05-01 08:51
abingchem
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:716
专家分:0
注 册:2004-12-30
收藏
得分:0 

带个return,一般的编译器就不会找麻烦了


此人已消失
2006-05-01 09:29
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
收藏
得分:0 
Dev C++不带return 0,你试试,报警,必须带

日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-05-01 09:50
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
收藏
得分:0 
哦?那俺错了,不好意思,俺就用TC系列的产品。

对不礼貌的女生收钱......
2006-05-01 11:45
快速回复:[求助]c程序设计题
数据加载中...
 
   



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

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