• 实验 7 综合练习


    实验目的:巩固分支结构、循环结构、函数和数组的使用方法。
    习题

    一、填空:阅读下列程序说明和程序,在可选答案中,挑选一个正确答案。填补(1) (2) (3) (4)处空白,并注释说明为什么。
    程序说明
    求 1 + 2/3 + 3/5 + 4/7 + 5/9 + … 的前15项之和。
    运行示例:
    sum = 8.667936
    程序如下:

     

     1 #include <stdio.h>

     2 void main( )

     3 {

     4     int i, b = 1;

     5     double s;

     6     (1)s=1 B       /*对s赋初值 */  ;

     7     for(i = 1; i <= 15; i++)

     8     {

     9         s = s + B    (2)   /* 把s+i/b的值赋给s,用分式把i,b定义为双精度浮点型*/

    10        b = b+2 (3)/*计算的值*/

    11     }

    12     printf(  "sum = %f "  (4)  C  , s);/*和为单精度浮点型*/

    13 }

     

    【供选择的答案】
    (1)   A、s = 0       B、s = 1       C、s = -1       D、s = 2
    (2)   A、i/b                           B、double(i)/double(b)
           C、i/2*i-1                     D、(double)i/(double)b
    (3)   A、;                             B、b = 2 * i – 1;
           C、b = 1.0 * b;             D、b = b + 2;
    (4)   A、"sum = %d "          B、"s = %c "
           C、"sum = %f "           D、"s = %s "

    ---------------------------------题目分割线-----------------------------------

    二、填空:阅读下列程序说明和程序,在可选答案中,挑选一个正确答案。填补(1) (2) (3) (4)处空白,并注释说明为什么。。
    【程序说明】
    输入10个整数,将它们从大到小排序后输出。
    运行示例:
    Enter 10 integers: 1 4 -9 99 100 87 0 6 5 34
    After sorted: 100 99 87 34 6 5 4 1 0 -9
    程序如下:

     

     1 #include <stdio.h>

     2 void main( )

     3 {

     4     int i, j, t, a[10];

     5     printf("Enter 10 integers: ");

     6     for(i = 0; i < 10; i++)

     7         scanf(B (1) );/*双精度浮点型*/

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

     9         for( (2)B ; (3) D; j++)/*J的初值为1*/

    10             if( (4)C )/*将这十个数按从大到小的顺序排列*/

    11             {

    12                 t = a[j];

    13                 a[j] = a[j+1];

    14                 a[j+1] = t;

    15             }

    16     printf("After sorted: ");

    17     for(i = 0; i < 10; i++)

    18         printf("%d ", a[i]);

    19     printf(" ");

    20 }

     

    【供选择的答案】

    (1) A、"%f", a[i]          B、"%lf", &a[i]           C、"%s", a              D、"%d", &a[i] 
    (2) A、j = 0                B、j = 1                    C、j = i                   D、j = i - 1
    (3) A、j > i                 B、j < 9 - i                C、j < 10 - i            D、j > i - 1
    (4) A、a[i-1] < a[i]      B、a[j+1] < a[j+2]     C、a[j] < a[j+1]       D、a[i] < a[j]

    ---------------------------------题目分割线-----------------------------------

    三、编程,输入x后,根据下式计算并输出y值。

     

    #include<stdio.h>

    Int main(void)

    {

    Double  x,y;    /*定义两个双精度浮点型变量*/

    Printf(“Enter  x:”);/*输入提示*/

    Scanf(“%lf”,&x);/*输入double型数据用%lf*/

    If(x<-2){         /*满足x<-2*/

        y=x*x;

    }

    else if(-2<=x<=2){     /*满足-2<=x<=2*/

        y=2+x;

    }

    Else{

        Y=2/1(x*x+x+1);    /*满足x>2*/

    }

       Printf(“f(%.2.0f)=%.2.0f ”,x,y);

       Return 0;

    }

    ---------------------------------题目分割线-----------------------------------

    四、编写程序,输入一批学生的成绩,遇0或负数则输入结束,要求统计并输出优秀(大于85)、通过(6084)和不及格(小于60)的学生人数。

    运行示例:

    Enter scores: 88 71 68 70 59 81 91 42 66 77 83 0

    >=85:2

    60-84:7

    <60   : 2

    /*输入一批学生的成绩, 要求统计并输出优秀, 通过, 和不及格(小于60)的学生人数.*/

    #include<stdio.h>

    Int main(void)

    {

      Int A B C;    /*定义三个变量分别存放统计结果*/

      A=B=C=0;  /*置存放统计结果的三个变量的初值为0*/

    Char ch;       /*定义一个字符变量ch*/

    Int I;

    Printf(“Enter a number:”);

    For(i=1,i<=12;i++){       /*循环执行了12次*/

       Ch=getchar();         /*从键盘输入一个字符,赋值给变量ch*/

    If(ch>85)

      A++;                 /*如果ch大于85,累加A。*/

    Else if(60<=ch<=84)

      B++;                 /*如果ch大于60且小于84,累加B。*/

    Else(ch<60)

      C++;                 /*如果ch小于60,累加C。*/

    }

     Printf(“A=%d,B=%d,C=%d ”,A,B,C);

    Return 0;

    }

  • 相关阅读:
    Python 数据处理 正则匹配,清洗脏数据
    Pycharm自用激活码
    编程杂谈 集群与分布式
    win10 向右键添加管理员级CMD
    win10 笔记本键盘永久屏蔽Numlk键
    Golong 环境搭建
    python 各种锁机制归纳整理
    MySQL数据库操作
    Web框架本质
    Django框架
  • 原文地址:https://www.cnblogs.com/wangyanchao1994/p/3398570.html
Copyright © 2020-2023  润新知