| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 689 人关注过本帖
标题:EOF如何理解!非常感谢!(直接看5楼,送分了)
只看楼主 加入收藏
qhxxbc
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:163
专家分:174
注 册:2010-9-14
结帖率:95%
收藏
已结贴  问题点数:30 回复次数:8 
EOF如何理解!非常感谢!(直接看5楼,送分了)
有一组数,由零与非零数构成,比如{n=0,0,0,1,2,3,5,0,3,2,1,0,0,4,3,1,0......},数组长度很长
程序需要干两件事情:1.统计所有非零数的个数及其值
                    2.统计这些非零数构成的前100个簇(如,一组红色相连的数为一个簇,上面列出的数有3个簇)

我能想到的一些先表达一下:
定义一个数组a[i],用来存放非零数的个数及其值(即问题1);
定义一个变量c=0,每发现一个簇就加1

int i=0,c=0;
do
{
    if(n!=0)
        {a[i]=n; i++}
    如何同时解决第2个问题,请各位指教!谢谢!
}
while(c<101);

PS:问题1应该为 统计前100个簇中 所有非零数的个数及其值
    这些n是由另一个子程序边计算边产生的,不是事先就有一个确定的数组;如果找到100个簇了,那么程序就完成了,不在需要产生n



[ 本帖最后由 qhxxbc 于 2011-5-19 09:28 编辑 ]
搜索更多相关主题的帖子: 统计 
2011-05-17 22:03
wpwxy
Rank: 2
等 级:论坛游民
帖 子:6
专家分:23
注 册:2011-4-28
收藏
得分:5 
int i=0,c=0;
do
{
    if(n!=0)
        {a[i]=n; i++}
    if(n!=0&&a[i-1]==0)
         c++
   
}
while(c<100);
2011-05-17 22:11
qhxxbc
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:163
专家分:174
注 册:2010-9-14
收藏
得分:0 
回复 2楼 wpwxy
我觉得这句if(n!=0&&a[i-1]==0)
          c++
好像不能达到要求的。
因为一个簇的条件为其前一个数为0,其后一个数也为0

非计算机专业自学新手向大家请教
2011-05-17 22:18
qhxxbc
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:163
专家分:174
注 册:2010-9-14
收藏
得分:0 
上面的问题我放弃了,现在想解决一个新的问题:
如何求每一个簇中的最大值?
这个问题貌似简单,但我思考良久没有答案。
恳请帮忙!

非计算机专业自学新手向大家请教
2011-05-18 20:45
qhxxbc
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:163
专家分:174
注 册:2010-9-14
收藏
得分:0 
没人应助,上面问题全部放弃。
想结贴了,请教一个简单语句吧:
int a[]={0,1,2,3,5,0,3,2,1,0,0,4,3,1,0,1,2,0,0};
while(a[i]!=EOF)
    {...}
这里EOF怎么理解!谢谢!


非计算机专业自学新手向大家请教
2011-05-19 09:27
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:10 
EOF在C中代表End Of File意思就是文件结尾,一般在stdio中定义为-1,在对文件进行读写时判断是否已经达到文件尾。

My life is brilliant
2011-05-19 10:46
qhxxbc
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:163
专家分:174
注 册:2010-9-14
收藏
得分:0 
回复 6楼 lz1091914999
那请教一下,若a{}中有“-1”这个元素,是不是就不能用EOF了啊?谢谢!

非计算机专业自学新手向大家请教
2011-05-19 10:53
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:5 
这里要看C实现,有些C实现EOF并不代表-1。

My life is brilliant
2011-05-20 10:39
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:10 
while(EOF != scanf("%d",&n));
如果输入了-1  不会循环不会跳出

需要输出ctrl+z  也就是转义字符

                                         
===========深入<----------------->浅出============
2011-05-20 11:13
快速回复:EOF如何理解!非常感谢!(直接看5楼,送分了)
数据加载中...
 
   



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

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