实验7

巩固分支结构、循环结构、函数和数组的使用方法。

一、填空:阅读下列程序说明和程序,在可选答案中,挑选一个正确答案。填补(1) (2) (3) (4)处空白,并注释说明为什么

#include <stdio.h>
void main( )
{
    int i, b = 1;
    double s;
    s=0;       /*对s进行赋值,初始值为0*/
    for(i = 1; i <= 15; i++)
    {
        s = s + double(i)/double(b);      /*对s进行赋值*/
        b=b+2;      /*对b进行赋值*/
    }
    printf("sum=%f\n", s);       /*输出sum的值,为实数型*/
}

二、填空:阅读下列程序说明和程序,在可选答案中,挑选一个正确答案。填补(1) (2) (3) (4)处空白,并注释说明为什么。。

#include <stdio.h>
void main( )
{
    int i, j, t, a[10];
    printf("Enter 10 integers: ");
    for(i = 0; i < 10; i++)       /*对i赋值初始值为0*/
        scanf("%d",&a[i]);
    for(i = 1; i < 10; i++)
        for(j=0;j<10-i; j++)      /*循环语句,对j赋初始值为0,j<10-i时循环,完成一个循环j+1*/
            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("\n");
}

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

#include<stdio.h>
#include<math.h>
int main(void)
{
    double x,y;                /*定义两个双精度浮点型变量*/
    printf("Enter x:\n");      /*输入提示*/
/*调用scanf()函数输入数据,变量名x前面要加&,%lf中的l是long的首字母*/
        scanf("%lf",&x);
/*if-else语句*/
    if(x<-2){
        y=x*x;
    }
    if(x>=-2&&x<=2){
        y=2+x;
    }
    else{
        y=sqrt(x*x+x+1);
    }
    printf("y=f(%f)=%.2f\n",x,y);/*调用printf()函数输出结果*/

    return 0;
}

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

# include<stdio.h>
int main(void)
{
    int i,mark,good,pass,failure,n;        /*good中放优秀,pass中放及格,failure中放不及格*/
    printf("Enter n:");       /*输入提示*/
    scanf("%d",&n);     /*输入数据个数*/
    printf("Enter %d marks:",n);       /*提示输入n个成绩*/
    scanf("%d",&mark);      /*读入第一个成绩*/  
    good=mark;            /*假设第一个成绩是优秀*/
    for(i=1;i<n;i++)      /*由于已经读了第一个数,循环执行n-1次*/
    {
        scanf("%d",&mark);       /*读入下一个成绩*/
        if(mark>85)         /*如果该成绩大于85*/
        {
            good=mark;        /*则该成绩符合,将被记录*/
        }
        for(i=1;i<n;i++)
        {
            scanf("%d",&mark);/*读入一个成绩*/ 
            if(mark>=60&&mark<=84)      /*如果它符合条件*/      
{ pass
=mark; /*则该成绩符合,将被记录*/ } printf("pass=%d\n",pass); /*输出成绩*/ for(i=1;i<n;i++) { scanf("%d",&mark); /*读入一个成绩*/ if(mark<60) /*如果它符合条件*/ { failure=mark; /*则它将被记录*/ } printf("failure=%d\n",failure); /*输出成绩*/ } } } return 0; }

 

posted @ 2013-10-31 09:54  跃映峰影  阅读(133)  评论(1编辑  收藏  举报