实验七

1.

#include <stdio.h>
void main( )
  {
     int i, b = 1;
     double s;
     s=0;  /*输入一个初始值*/
      
      for(i = 1; i <= 15; i++)
      {
          s=s+double(i)/double(b);/*输入为整型*/      
          b = b + 2; /*编辑公式便于下部运算*/
      }
     printf("sum = %f
", s);/*输出结果为浮点型*/
 }

2.

#include <stdio.h>
void main( )
 {
    int i, j, t, a[10];
    printf("Enter 10 integers: ");
    for(i = 0; i < 10; i++)
        scanf("%d", &a[i]);/*输入的标号为整型*/
    for(i = 1; i < 10; i++)
        for(j=0; j < 10 - i ; j++) /*按照标号顺序代入,便于后期比较大小*/
            if(a[j] < a[j+1])/*作比较,便于按从大到小顺序排列*/
            {
                 t = a[j];
                a[j] = a[j+1];
                 a[j+1] = t;
            }
     printf("After sorted: ");
     for(i = 0; i < 10; i++)
         printf("%d ", a[i]);
    printf("
");
 }

3.

#include "stdafx.h"
#include <stdio.h>
#include<math.h>  //开方函数的头文件

void DoData() 
{
    double x;  //存放输入的数
    double y;  //存放计算结果
    printf("Enter x:");   //提示用户输入一个数x
    scanf_s("%lf",&x);  //输入X

    if(x<-2)
    {
        //如果输入的x小于-2,则进行求平方计算
        y=x*x;
    }
    else if(x<=2)
    {
        //如果-2<=x<=2,则进行+2操作
        y=2+x;
    }
    else
    {
        //如果x大于2,则进行平方+x+1再平方根操作
        y=sqrt(x*x+x+1); 
    }
    printf("y=%.2f
",y);  //输出计算结果到屏幕上
    return;
}

int main(void)
{
    //循环
    while(true)
    {
        //调用函数
        DoData();
    }
    return 0;
}

swich语句用不来 就用自定义函数了

4.

#include "stdafx.h"
#include<stdio.h>
int main(void)
{
    //定义变量
    int i;
    int m;
    int mark;
    int k;
    //初始化变量
    i = 0;
    m = 0;
    k = 0;
    mark = 1;
    //循环
    printf("Enter marks:
");//请输入学生的成绩,用0或负数结束输入
    while(mark>0)
    {


        scanf_s("%d",&mark);//读入一个成绩
        if(mark>0)
        {
            //判断该成绩在哪个档次,并给相应档次的数量+1
            if(mark>=85)
            {
                i++;
            }
            else if(mark<60)
            {
                m++;
            }
            else
            {
                k++;
            }
        }
    }
    //输出结果
    printf("成绩>=85的人数为:%d
",i);
    printf("成绩介于60-84之间的人数为:%d
",k);
    printf("成绩<60的学渣人数为:%d
",m);
    scanf_s("%d",&mark);
    return 0;
}

题目

实验 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)    ;

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

 8     {

 9         s = s +     (2)   

10         (3)   

11     }

12     printf(    (4)    , 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) );

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

 9         for( (2) ; (3) ; j++)

10             if( (4) )

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

 

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

四、编写程序,输入一批学生的成绩,遇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

原文地址:https://www.cnblogs.com/sally959/p/3398604.html