Welcome to Leon's Blog
日历
<
2008年5月
>
日
一
二
三
四
五
六
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
统计
随笔 - 27
文章 - 0
评论 - 46
引用 - 0
导航
C++博客
首页
发新随笔
发新文章
联系
聚合
管理
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(3)
给我留言
查看公开留言
查看私人留言
随笔分类
c++学习(7)
(rss)
windows编程(2)
(rss)
编译学习(1)
(rss)
随笔档案
2009年4月 (1)
2009年3月 (2)
2008年12月 (3)
2008年10月 (4)
2008年9月 (3)
2008年8月 (2)
2008年7月 (2)
2008年6月 (2)
2008年5月 (8)
ACM
AClayton
bon
sicheng
SKYIV STUDIO
搜索
最新评论
1. re: std:string学习
评论内容较长,点击标题查看
--killer
2. re: std:string学习
评论内容较长,点击标题查看
--killer
3. re: std:string学习
评论内容较长,点击标题查看
--The_Moment
4. re: acm1007探讨
评论内容较长,点击标题查看
--99dreamer
5. re: 网上面试题疑问
(int&)a我觉得不是引用。
我也实在搞不清楚,为什么公司希望用这些东西来衡量一个人C++语言的水平,但是也没有办法。
--Leon916
阅读排行榜
1. 1001题探讨(1231)
2. acm pku 1010 程序(1193)
3. 1006求助(1079)
4. 1005探讨(1053)
5. acm1002探讨(1049)
评论排行榜
1. 1003题探讨(8)
2. 删除病毒求助(6)
3. 求助程序(6)
4. 网上面试题疑问(4)
5. 1006求助(4)
1003题探讨
今天做的
这道题
感觉上面很奇怪,按照题目要求写了代码,但总觉得哪里有什么地方不对,还请大家多多指教!
1
#include
<
stdio.h
>
2
int
main(
int
argc,
char
*
argv[])
3
{
4
float
s,sum
=
0
;
5
int
i,j;
6
while
(scanf(
"
%f
"
,
&
sum)
==
1
)
7
{
8
if
(sum
!=
0
)
9
{
10
j
=
2
; s
=
0
;
11
while
(s
<
sum)
12
{
13
s
+=
1.0
/
j;
14
j
++
;
15
}
16
printf(
"
%d card(s)\n
"
, j
-
2
);
17
}
18
else
19
break
;
20
}
21
return
0
;
22
}
posted on 2008-05-24 10:35
Leon916
阅读(983)
评论(8)
编辑
收藏
引用
评论:
#
re: 1003题探讨
h0rus1ee
Posted @ 2008-05-24 11:10
我当时是这样写的,好像结果正确:
#include <stdio.h>
int main (void)
{
int i;
int counter;
float sum;
float c;
scanf("%f", &c);
while(c != 0.00 && c >= 0.01 && c <= 5.20) {
counter = sum = 0;
for(i = 2; sum < c; i++) {
sum += 1.00/i;
counter++;
}
printf("%d card(s)\n", counter);
scanf("%f", &c);
}
return 0;
}
回复
更多评论
#
re: 1003题探讨[未登录]
ron
Posted @ 2008-05-24 14:25
h0rus1ee的代码清晰些,
回复
更多评论
#
re: 1003题探讨
Leon916
Posted @ 2008-05-24 16:10
是的,谢谢 h0rus1ee 。
回复
更多评论
#
re: 1003题探讨
Leon916
Posted @ 2008-05-24 16:13
做如下修改:
1#include <stdio.h>
2int main(int argc, char* argv[])
3{
4 float s,sum = 0;
5 int j;
6 while((scanf("%f", &sum) == 1)&& (sum!=0))
7 {
8
9
10 j = 2; s = 0;
11 while(s < sum)
12 {
13 s += 1.0/j;
14 j++;
15 }
16 printf("%d card(s)\n", j-2);
17
18
19
20 }
21 return 0;
22}
回复
更多评论
#
re: 1003题探讨
foxtail
Posted @ 2008-05-25 01:16
没几行代码呀 是做什么的呢??
回复
更多评论
#
re: 1003题探讨
Leon916
Posted @ 2008-05-25 08:26
你可以通过链接去看看题目。
回复
更多评论
#
re: 1003题探讨[未登录]
diwulechao
Posted @ 2008-05-25 14:51
#include<stdio.h>
int main()
{
float t,x,i;
scanf("%f",&t);
while (t>0)
{
x=0.5;i=2;
while (x<t) {i++;x+=1/i;}
printf("%.f card(s)\n",i-1);
scanf("%f",&t);
}
}
回复
更多评论
#
re: 1003题探讨[未登录]
Leon916
Posted @ 2008-05-25 19:12
x+=1/i;
我觉得这句话写的好像有些问题,应该是x+=1.0/i吧
回复
更多评论
刷新评论列表
标题
姓名
主页
验证码
*
内容(提交失败后,可以通过“恢复上次提交”恢复刚刚提交的内容)
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
.NET频道
博客园社区
闪存
网站导航:
博客园
BlogJava
博客生活
IT博客网
C++博客
PHP博客
博客园社区
管理
Copyright © Leon916
Powered by:
博客园
模板提供:
沪江博客