有以下程序  #include<stdio.h>  main()  {   int x,i;   for(i=1;i<=100;i++)   {   x=j;   if(++x%2==0)   if(++x%3==0)  

admin2022-04-02  23

问题 有以下程序
 #include<stdio.h>
 main()
 {
   int x,i;
   for(i=1;i<=100;i++)
   {
     x=j;
     if(++x%2==0)
      if(++x%3==0)
       if(++x%7==0)
        printf("%d",x);
   }
   printf("\n");
 }
 程序运行后的输出结果是(          )。

选项 A、42 84
B、28 70
C、26 68
D、39 81

答案B

解析 for循环中,i取值为1到100。循环体中,三个if语句必须同时满足才会输出x,输出的x取值为i+3,所以x的取值只能是4到104;x必须满足以下条件:1、x%7==0(x必须是7的倍数);2、(x-1)%3==0(x必须是3的倍数+1);3、(x-2)%2==0(x必须是2的倍数)。满足条件3的x取值为:7,14,21,28,35,42,49,56,63,70,77,84,91,98。又满足条件2的x的取值为:7,28,49,70,91;又满足条件1的x的取值为:28,70。本题答案为B选项。
转载请注明原文地址:https://jikaoti.com/ti/86d0FFFM
0

最新回复(0)