zoukankan      html  css  js  c++  java
  • 第八次作业

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

    #include<stdio.h>
    #include<stdlib.h>
    #define N 40
    int main()
    {
        int n,i,sum=0,max,min,grade,a=1,b=1,c=1;
        int score[N]={0},imax[N],imin[N],grades[N];
        double average;
        char x;
        printf("请输入学生的数量(<40)
    ");
        scanf("%d",&n);
        printf("请输入学生成绩:
    ");
        for(i=1;i<=n;i++)
        {
            scanf("%d",&score[i]);
            sum=sum+score[i];
        }
        average=(double)sum/n;
        printf("平均成绩为%.2lf
    ",average);
        max=score[1];
        min=score[1];
        for(i=1;i<=n;i++)
        {
            if(score[i]==max)
            {
                imax[a++]=i;
            }
            else if(score[i]>max)
            {
                max=score[i];
                a=1;
                imax[a++]=i;
            }
            if(score[i]==min)
            {
                imin[b++]=i;
            }
            else if(score[i]<min)
            {
                min=score[i];
                b=1;
                imin[b++]=i;
            }
        }
        printf("成绩最高的同学为:");
        for(i=1;i<a;i++)
        {
            printf("%d  ",imax[i]);
        }
        printf(""); 
        printf("成绩最低的同学为:");
        for(i=1;i<b;i++)
        {
            printf("%d  ",imin[i]);
        }
        printf("");
        printf("是否查询?(Y)
    ");
        fflush(stdin);
        if((x=getchar())=='Y'||x=='y') 
        printf("请输入你想查找的成绩。
    ");
        scanf("%d",&grade);
        for(i=1;i<=n;i++)
        {
            if(score[i]==grade)
            {
                grades[c]=i;
                c++;
            }
        }
        if(c==1)
        printf("成绩不存在。
    "); 
        else
        {
            printf("符合你所查找成绩的学生有:");
            for(i=1;i<c;i++)
            printf("第%d名学生  
    ",grades[i]);
            printf("总共有%d名学生。",c-1);
        }
    }

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

    #include<stdio.h>
    int main()
    {
        int i,x,a,b[11]={1,3,5,7,9,11,13,15,17,19};
        scanf("%d",&a); 
        for(i=10;i>=0;i--)
        {
            if(a>=b[i-1])
            {
                for(x=10;x>i;x--)
                {
                    b[x]=b[x-1];
                }
                b[i]=a;
                break;
            }
            if(i==0)
            {
                for(x=10;x>i;x--)
                {
                    b[x]=b[x-1];
                }
                b[0]=a;
                break;
            }
        }
        for(i=0;i<11;i++)
        {
            printf("%d ",b[i]);
        }    
    }

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

    #include<stdio.h>
    int main()
    {
        int a,b,c,i[10]={6,2,5,5,4,5,6,3,7,6};
        for(a=0;a<=9;a++)
        {
            for(b=0;b<=9;b++)
            {
                for(c=0;c<=9;c++)
                {
                if(a+b==c&&i[a]+i[b]+i[c]==12)
                {
                    printf("%d+%d=%d  ",a,b,c);
                }
                }
            }
        }
     }

    二、知识点总结

    1、数组在定义的时候一定要有范围声明,这是由于c语言要先划定储存空间。

    2、c语言不能定义动态数组。

    三、实验报告

    1、我只想说一件事,大家以后没事别重装系统!!!!!!!

  • 相关阅读:
    ASP.NET 实现邮件发送和接受的功能(Sockets)
    使用Sql server进行分布式查询
    Sqlserver中的一些技巧
    使用sql server中的全文索引
    水晶报表的装载和修改文本
    创建作业的通用存储过程
    MS SQL数据库备份和恢复
    数据库运用XML操作
    安装程序自动安装数据库
    ASP.NET 实现邮件发送和接受的功能(Mail)
  • 原文地址:https://www.cnblogs.com/wxc123/p/6107630.html
Copyright © 2011-2022 走看看