| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 930 人关注过本帖
标题:有关EOF的运用问题,求解答,谢谢
只看楼主 加入收藏
纯情小郎君
Rank: 2
等 级:论坛游民
帖 子:84
专家分:80
注 册:2011-12-12
收藏
得分:0 
回复 9楼 beyondyf
真是汗死了啊,原来是这里,我纠结了很久啊,忽视了每次运算都要初始化了,谢谢了啊

老师说,2B是通向梦想的第一步
2011-12-25 23:35
纯情小郎君
Rank: 2
等 级:论坛游民
帖 子:84
专家分:80
注 册:2011-12-12
收藏
得分:0 
回复 10楼 TonyDeng
抱歉啊,我没有表达清楚我的意思,谢谢你积极参与啊

老师说,2B是通向梦想的第一步
2011-12-25 23:38
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
在你不給出程序目的時,單純貼代碼,是沒人可以知道你口中的錯誤是這個的,只會認爲那是你本來希望如此,這也是編譯器不會出任何提示原因。對邏輯錯誤,編譯器既然不出警告,就是沒有語法問題,只有運行時是否合你意圖的問題。

授人以渔,不授人以鱼。
2011-12-25 23:43
纯情小郎君
Rank: 2
等 级:论坛游民
帖 子:84
专家分:80
注 册:2011-12-12
收藏
得分:0 
回复 9楼 beyondyf
帅哥你知不知道怎么把形式改成输入一系列数据,每两个数据一行,然后输出结果,一个数据一行

老师说,2B是通向梦想的第一步
2011-12-25 23:43
clarencezi
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-11-14
收藏
得分:0 
问题其实很简单,每次while循环你应该都得从新对sum和t赋值为0  下面是在你上面改一点的可行的
#include"stdio.h"
int main()
{
    int a,n,i;
    int t=0,sum=0;
    while(scanf("%d%d",&a,&n)!=EOF)
    {   
        t=0;sum=0;
        for(i=0;i<n;i++)
        {
            t=t+a;
            sum=sum+t;
            a=a*10;
        }
            printf("%d\n",sum);
    }
    return 0;
}
2011-12-25 23:44
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
回复 14楼 纯情小郎君
你的代码已经达到要求了,不需要改。我明白你的想法,这需要解释什么是输入流,什么是输出流。今天太晚了,我就不解释了。以前在这个论坛里我回答过这个问题,你可以自己搜一下。

重剑无锋,大巧不工
2011-12-26 00:00
纯情小郎君
Rank: 2
等 级:论坛游民
帖 子:84
专家分:80
注 册:2011-12-12
收藏
得分:0 
回复 16楼 beyondyf
高手大哥,我查了不少资料,可是都没能实现我的多行输入多行输出的要求,我目前大一,还在学C而已,多行输入和多行输出才能符合标准啊,我很多题都有这个要求,要掌握才行啊,麻烦你帮我修改一下程序,我想知道该怎样才能实现,谢谢了啊

老师说,2B是通向梦想的第一步
2011-12-26 21:14
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
唉,你要掌握的是什么是输入什么是输出,什么是流模型。

我说你的代码已经实现了多行输入多行输出,但你认为没有。

因为你看到它们在屏幕上混在了一起,对不对?

我要跟你说那只是表象,屏幕既作为输入的反馈端又作为输出端才表现成这个样子,你能理解么?

这样吧,按我下面说的做个小实验。
假设你上面的代码编译后名字为test.exe
1、打开记事本,将输入数据按要求格式输入,保存在与test.exe同一目录下,文件命名为in.txt
2、打开控制台,将路径切换到test.exe的目录下
3、输入test.exe<in.txt回车(看到了什么?)
4、输入test.exe<in.txt>out.txt回车(当前目录下会出现out.txt文件,打开看看)
完成以上步骤后,谈谈你的理解。

如果你非要在屏幕上手工输入全部数据,然后看所有一起输出的效果,那你就在程序中建一个缓存数组,缓存输出结果,直到输入结束后再一并输出。

重剑无锋,大巧不工
2011-12-27 10:37
纯情小郎君
Rank: 2
等 级:论坛游民
帖 子:84
专家分:80
注 册:2011-12-12
收藏
得分:0 
回复 18楼 beyondyf
我明白了,我的系统是64位win7的,好像运行那个exe文件有冲突,不过我那道题被接收了,嗯,我弄错意思了,谢谢你的热心指导啊,那个printf放在while循环里面,每循环一次就输出一次结果,所以打出这样的结果,估计是题目形式误导了我,总之谢谢了啊

老师说,2B是通向梦想的第一步
2011-12-27 20:20
快速回复:有关EOF的运用问题,求解答,谢谢
数据加载中...
 
   



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

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