关于while(scanf("%d",&b)!= EOF )解决读入未知行数据

7-5 练习题 (9 分)
输入若干行,每行输入两个绝对值不大于100的整数,求这两个整数的和、差、乘积中不超过100的最大数。
输入样例:
3 9
-5 15
22 7
输出样例:
27
20
29

AC代码 :

#include<iostream>
using namespace std;
int add[3];
void order(int n[3])
{
	int k,swap;
 for(int i=0;i<2;++i)
	{
		k = i;
		for(int j=i+1;j<3;++j)
		{
			if(n[k]>=n[j])
			{
				k=j;
			}
		}
		if(k!=i)
		{
			swap = n[i];
			n[i]=n[k];
			n[k]=swap;
		}
	}
}
int main()
{
	int a,b;
	while(scanf("%d%d",&a,&b)!= EOF )
	{
  		add[0]=a+b;
      add[1]= (a-b)>(b-a)? (a-b):(b-a);
  		add[2]= a*b;
  		order(add);
  		for(int i=2;i>=0;--i)
  		{
  			if(add[i]<100)
  			{
  				cout<<add[i]<<endl;
  				break;
  			}
	  	}
	}

	return 0;
}

参考资料 

猜你喜欢

转载自blog.csdn.net/qq_42580577/article/details/88069397
EOF
今日推荐