zoukankan      html  css  js  c++  java
  • 实验 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;    /*i=1时,对s赋值为1*/

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

     8     {

     9         s = s +     (2)i/b; /*算各项和,通项为i/b*/

    10         (3) 11    b=b+2;  /*分母递增2,为下一次计算做准备*/

    12     printf(    (4) "sum = %f "   /*各项和为浮点型*/

     

        , 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( (1) "%d", &a[i] ); /*定义数组元素为整型int,调用scanf函数,在元素前加&地址符*/

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

     9         for( (2) j = 1;(3) j < 10 - i; j++)    /*循环从1到10-j*/

    10             if( (4) a[j] < a[j+1]  )   /*完成相临元素的比较,将大数放到前面,小数放后*/

    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值。

    /*计算y的值*/
    #include<stdio.h>
    #include<math.h>
    int main(void)
    {
        double x,y;
        int squr(int x);
        
        printf("Enter x:
    ");
        scanf("%lf",&x);
        if(x<-2){
            y=x*x;
        }
        else if(x<=2){
            y=2+x;
        }
        else{
            y=squr(x*x+x+1);
        }
        printf("f(%.2f)=%.2f
    ",x,y);
    
        return 0;
    }

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

    运行示例:

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

    >=85:2

    60-84:7

    <60   : 2

    /*统计并输出学生成绩人数*/
    #include<stdio.h>
    int main(void)
    {
        int count1,count2,count3,num;     /*num记录输入的个数,coun1,2,3分别记录各分数层人数*/
        double grade;   /*存放成绩*/
    
        num=0;
        count1=0;count2=0;count3=0;
        printf("Enter grades:");
        scanf("%Lf",&grade);
    
         /*当输入数据grade大于0时,执行程序*/
        while(grade>0){
            if(grade<60){
                count++;
            printf("%d",count);
            scanf("%lf",&grade);/*重新输入数据,为下一次做准备*/
            }
            else if(grade<85){
                count++;
             printf("%d",count)
            scanf("%lf",&grade);
            }
            else(grade>90){
                count++;
            printf("%d",count);
            }
    
        }
        else
            printf("Number failure",count);
    
        return 0;
    }

     改正:逻辑问题??有错么??

     心得:这次实验不是很难,但却没找着正确的思路和应用的结构,导致编程时错误百出,还是没能充分熟悉例题和课本,编程时离不开课本,这得注意。

     

  • 相关阅读:
    (原)Vs中debug和release结果不一致
    (原)mkl用到的函数
    JAVA JDBC 批量操作
    JAVA JDBC 操作blob数据
    JAVA JDBC 利用反射对一个表动态查询
    JAVA JDBC 查询数据
    JAVA JDBC 插入中文时声明utf8编码
    JAVA JDBC prepareStatement 添加数据
    JAVA JDBC 连接数据库
    unzip命令指定编码格式
  • 原文地址:https://www.cnblogs.com/zhangling213549/p/3398589.html
Copyright © 2011-2022 走看看