pta 循环结构程序设计测试

循环结构程序设计测试

1.若变量已正确定义,执行以下while语句将陷入死循环。

i = 1;

while (i <= 10) ;

    i++;

T

2.以下程序段计算级数 s= 1+1/3+1/5+...的前若干项之和,1/101这项没有被加入。

item = 1.0;

denominator = 1;

sum = 0.0;

while( item > 0.01)

{

        item = 1.0/denominator;

    sum += item;

    denominator += 2;

}

F

3.执行以下程序段,sum的值是55。

int i, sum;

for (i = 1; i <= 10; i++){

    sum = sum + i;

}

F

4.运行包含以下代码段的程序将可能进入死循环。 int i = 1; while(i>0){ i++; printf("%d ",i); }

F

5.for语句循环体可能一次也不执行。

T(首先会执行判断条件,不符合就跳过,所以最少执行一次)

6.执行以下循环语句时,下列说法正确的是()。

x = -1;

do {

      x = x * x;

} while (x == 0);

A.循环体将执行一次

B.循环体将执行两次

C.循环体将执行无限次

D.系统将提示有语法错

A

7.运行以下程序后,如果从键盘上输入65 14<回车>,则输出结果为()。

int main(void)

{  

      int  m, n;

      printf("Enter m,n;");   

      scanf("%d%d", &m,&n);

      while (m != n)

      {   while (m > n)       m = m - n;

          while (n > m)       n = n - m;    

      }

      printf("m=%d\n",m);    

      return 0;

}

m=1;

8.在下列选项中,没有构成死循环的程序段是( )。

A.int i=100; while (1) { i=i%100+1; if(i>100) break; }

B.for ( ; ;);

C.int k=1000; do {++k;}while (k>=10000);

D.int s=36; while (s) ; --s;

C

9.下列程序段执行后s值为__。

int i=5, s=0;

while(--i!=0){

        if (i%2==1)

            continue;

        s+=i;  

    }

C

10.设E为表达式,以下与do … while(E);不等价的语句是( )。

A.do … while(!E==0);

B.do … while(E>0||E<0);

C.do … while(E==0);

D.do … while(E!=0);

C;

11.
设有程序段

int k=10;

while(k=10)

    k=k-1;

则下面描述中正确的是()。

A.循环执行了10次

B.循环一次也不执行

C.循环是无限循环

D.循环执行一次

C;

12.
请问下面哪个选项与程序段中while(x)含义一样?

int x,sum=0;

scanf("%d",&x);

while(x)

 sum+=x;

A.while(x!=0)

B.while(x>0)

C.while(x<>0)

D.while(x==0)

A

13.
当执行以下程序段时,以下答案正确的是?

x=-1;

do {

   x=x*x;

} while(!x);

A.循环体将执行一次

B.循环体将执行两次

C.循环体将执行无限次

D.系统将提示有语法错误

A

14.统计均分

#include <stdio.h>

int main() {

    double sum = 0;

    int num = 0;

    double input;

    while (scanf("%lf", &input) == 1 && input != 0) {

        num++;

        sum += input;

    }

    if (num > 0) {

        printf("%.2f\n", sum / num);

    }

}

15.输出整数的各个位 

#include<stdio.h>

int main()

{

    int cock=0,hen=0,chicken=0;

    for(cock=0;cock<20;cock++)

        {

            for(hen=0;hen<33;hen++)

            {

                for(chicken=0;chicken<100;)

                {

                    if(cock+hen+chicken==100)

                    {

                     if(5*cock+3*hen+chicken/3==100)

                     {

                       printf("cock=%d,hen=%d,chicken=%d\n",cock,hen,chicken);

}

                      

                    }

                    chicken+= 3;

                }

            }

        }

     

    return 0;

}

16.百钱百鸡

#include<stdio.h>

int main()

{

    int cock=0,hen=0,chicken=0;

    for(cock=0;cock<20;cock++)

        {

            for(hen=0;hen<33;hen++)

            {

                for(chicken=0;chicken<100;)

                {

                    if(cock+hen+chicken==100)

                    {

                     if(5*cock+3*hen+chicken/3==100)

                     {

                       printf("cock=%d,hen=%d,chicken=%d\n",cock,hen,chicken);

}

                      

                    }

                    chicken+= 3;

                }

            }

        }

     

    return 0;

}

17.求平均成绩和优秀率

#include<stdio.h>

int main()

{

    int n;

    double naverage=0,sum=0;

    scanf("%d",&n);

    int a[n+1];

    for(int flag=1;flag<=n;flag++)

    {

        scanf("%d",&a[flag]);

        naverage+=(double)a[flag];

        if(a[flag]>=90)

            sum++;

    }

    printf("average=%.2lf\n",naverage/n);

    printf("rate=%.2lf",sum/n);

    return 0;

}

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

莫名其_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值