• 第八次作业


        1.输入若干名学生的成绩(输入人数或用负数结束均可),求其平均分,最高分和最低分,并指出最高分和最低分的学生(给出下标即可),输入一个成绩,说明是第几个学生的成绩。

    # include<stdio.h>
    # define N 100
    int main()
    {
        int i,a,b,c,d,e,sum,max,min;
        double average;
        int score[N];
        printf("请输入学生的人数
    ");
        scanf("%d",&a);
        b=0;
        c=0;
        d=0;
        e=0;
        sum=0;
        for(i=0;i<a;i++)
        {
            printf("请输入学生的成绩
    ");
            scanf("%d",&score[i]);
            sum=sum+score[i];
        }
        average=(double)sum/a;
        printf("学生成绩平均数为%.2f
    ",average);
        max=score[0];
        min=score[0];
        for(i=0;i<a;i++)
        {
            
          if(score[i]>=max)
            {
                b=i+1;
            }
        }
        for(i=0;i<a;i++)
        {
            if(score[i]<=min)
            {
                c=i+1;
            }
        }
        printf("取得最大分数的学生为%d
    ",b);
        printf("取得最小分数的学生为%d
    ",c);
        printf("请输入一个分数,我将输出他是第几名
    ");
        scanf("%d",&d);
            for(i=0;i<a;i++)
           {
             
              if(score[i]==d)
            {
                e=i+1;
                printf("他是第%d名学生
    ",e);
            }
         } 
         return 0;
     }

        2.现有一个有序正整数数组(从小到大排序),输入一个数,插入到数组中,要求插入后的数组仍然有序。对插入到最前、最后、中间位置三种情况进行验证。

    #include<stdio.h>
    int main()
    {
        int i,a,b;
        int number[11]={0,10,20,30,40,50,60,70,80,90};
        printf("0,10,20,30,40,50,60,70,80,90,请输入一个数插入数据中的数
    ");
        scanf("%d",&b);
        if(b>=number[9])
        {
            printf("0,10,20,30,40,50,60,70,80,90,%d",b);
        }
        else
        {
            for(i=0;i<10;i=i+1)
            {
                if(b<number[i])
                {
                    a=i;
                    break;
                }
            }
            for(i=10;i>=a;i=i-1)
            {    
                number[i+1]=number[i];
            }
            number[a]=b;
            printf("现在数据为");
            for(i=0;i<11;i=i+1)
            {
                printf("%d ",number[i]);
            }
        }
        return 0;
    }

        3.用数组实现火柴棍等式

    # include <stdio.h>
    int main()
    {
        int x,y,sum;
        int gen[10]={6,2,5,5,4,5,6,3,7,6};
        for(x=0;x<=9;x++)
        {
        for(y=0;y<=9;y++)
        {
            sum=x+y;
            if(sum>9)
            {
                break;
            }
            if(gen[x]+gen[y]+gen[sum]==12)
            {
                printf("%d+%d=%d
    ",x,y,sum);
            }
        }
        }
    return 0;
    }

    知识点总结1.数组的下标是从0开始的。

                   2.在数组定义后对数组进行动态赋值,通常通过循环结构实现。

    实验总结1.:元素应该是同种数据类型,元素在内存中是连续依次排列的。

                2.使用#define声明多行函数与声明单行函数没有本质区别。

  • 相关阅读:
    Windows Phone 7 电话本相关的操作
    Windows CE 下判断 URL 地址是否有效
    cigarettes
    开灯问题
    日期计算
    小学生算术
    另一种阶乘问题
    鸡兔同笼
    笨小熊
    6174问题
  • 原文地址:https://www.cnblogs.com/li1252204077/p/6107825.html
Copyright © 2020-2023  润新知