多组数据的输入方法(c语言)

多组数据的输入方法(c语言)

多组数据的输入方法(c语言实现)

1.EOF法

因为在线评测系统的输入数据存放在一个文件中,因此可以通过文件是否结束的方式判断输入的数据是否结束。scanf在读取到文件结束符时,会返回标识EOF(end of life),EOF是一个预定义的常量,等于-1。通过判断scanf的返回值否为EOF决定是否退出循环。

例题:给定两个整数a,b,求这两个数之和

【输入】

输入数据有多行。每行数据中含有两个整数a,b(0<=a,b<=109)

【输出】

对每行数据,输出对应的a+b的值。

【样例输入】

123 500

60 80

70 90

【样例输出】

623

140

160

【代码实现】

#include

int main()

{

int a,b;

while(scanf("%d%d",&a,&b)!=EOF)

{

printf("%d\n",a+b);

}

return 0;

}

2.计数法

在有些题目中,先给一个正整数,告诉数据输入的组数,然后根据这个数组进行读取。

例题:给定两个整数a,b,求这两个数之和

【输入】

输入数据中的第一行是一个正整数T(0<=T<=100)。接下来有T行数据。每行数据中含有两个整数a、b(-103<=a,b<=103)

【输出】

对每行数据,输出对应的a+b的值。

【样例输入】

2

123 500

60 80

【样例输出】

623

140

【代码实现】

#include

int main()

{

int T;

scanf("%d",&T);

for(int i=1;i<=T;i++)

{

int a,b;

scanf("%d%d",&a,&b);

printf("%d\n",a+b);

}

return 0;

}

3.哨兵法

有些问题中不告诉循环次数,而是给定一个特殊值,表示输入的结束。这个特殊值被称为哨兵,因此这个输入方法称为哨兵法。

例题:给定两个整数a,b,求这两个数之和

【输入】

输入数据有多行。每行数据中含有两个整数a,b(0<=a,b<=109)。最后一行数据是0 0,标志输入结束。0 0一行本身不需要计算输出。

【输出】

对每行数据,输出对应的a+b的值。

【样例输入】

123 500

60 80

0 0

【样例输出】

623

140

【代码实现】

#include

int main()

{

int a,b;

scanf("%d%d",&a,&b);

while(a!=0||b!=0)

{

printf("%d\n",a+b);

scanf("%d%d",&a,&b);

}

return 0;

}

比较(纯个人心得体会)

1.EOF法常用于不知道几组数据,用while循环,利用scanf()的返回值结束时为EOF。

2.计数法用于知道几组数据,用for循环。

3.哨兵法用于不知道几组数据,用while循环。利用当遇到特殊值哨兵(最后输入的数据)时结束。

相关推荐

如何聊天不尷尬?避開這 3 種閒聊阻力,讓對話自然不冷場!
为什么女人喜欢和黑人做男女朋友?看完你就明白了|163
365体育app手机版下载

为什么女人喜欢和黑人做男女朋友?看完你就明白了|163

🗓️ 07-02 👁️ 7349
剑网三帮会杀猪猪九戒单刷攻略
365体育app手机版下载

剑网三帮会杀猪猪九戒单刷攻略

🗓️ 07-03 👁️ 1894
春夏秋冬分别吹什么风?
365体育app手机版下载

春夏秋冬分别吹什么风?

🗓️ 06-29 👁️ 7070
游民星空
365bet亚洲真人网址

游民星空

🗓️ 07-16 👁️ 4083
数字时钟和充电专业版下载
365bet亚洲真人网址

数字时钟和充电专业版下载

🗓️ 07-18 👁️ 8389
剑网三帮会杀猪猪九戒单刷攻略
365体育app手机版下载

剑网三帮会杀猪猪九戒单刷攻略

🗓️ 07-03 👁️ 1894
和狼有关的神明(神话中的狼神叫什么名字)
365玩球安全吗

和狼有关的神明(神话中的狼神叫什么名字)

🗓️ 07-23 👁️ 249
WPS-C盘清理大师如何卸载
365体育app手机版下载

WPS-C盘清理大师如何卸载

🗓️ 07-11 👁️ 9581
程序错误
365玩球安全吗

程序错误

🗓️ 07-06 👁️ 5267
微博如何改名称:新手教程及技巧指南
365玩球安全吗

微博如何改名称:新手教程及技巧指南

🗓️ 07-28 👁️ 9868
解决PSP游戏无法运行的终极指南
365体育app手机版下载

解决PSP游戏无法运行的终极指南

🗓️ 07-02 👁️ 638