C语言中的while(scanf("%d%d",&a,&b)!=EOF)

@[TOC]***

C语言中的while(scanf("%d%d",&a,&b)!=EOF)和while((c=getchar())!=EOF))

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

该语句第一次看见时在VJ上看到的,用在一特殊的输入情况如下图
C语言中的while(scanf(

因为题中输出要求 输入包含多组测试数据,正常使用scanf(“%d%d”,&a,&b)只能输入一组,所以就要加上while循环语句。循环条件为读入不为EOF(文档结束符),可以手动输入ctrl+z跳出循环。
该题的源代码为

#include
int main()
{
 int a,b;
  while(scanf("%d%d",&a,&b)!=EOF)
 {
  int t=2,i,max=0,c,d,j;
  if(a<b)
      max=b;
  else
    max=a;
  for(int i=max;i<=a*b;i++)
  {
        c=i%a;
      d=i%b;
 //     printf("%d %d",c,d);
      if(i%a==0&&i%b==0)
            {
       t=i;
      break;
  }
      
  }
  printf("%d\n",t);
   }
 return 0;
}

运行结果:
C语言中的while(scanf(
while(scanf("%d%d",&a,&b)!=EOF)
{…}

int k=0; int n; scanf ("%d",&n);while(i==n) {scanf("%d%d",&a,&b); ... k++;}//n次循环输入

C语言中的while(scanf(
二者效果相同,前者可以无限输入,后者可以约定输入数据的组数。

你可能感兴趣的:(C语言)