首页 > 代码库 > 第八次作业

第八次作业

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

#include <stdio.h>
#define N 100
int main()
{
    int n=0,grade[N],sum=0,number,i,max,min,find,m;
    double average;
    printf("请输入需要统计的学生个数:");
    scanf("%d",&number);
    for(i=0;i<number;i++)
    {
        printf("请输入第%d名同学的成绩:",i+1);
        scanf("%d",&grade[i]);
        sum+=grade[i];
    }
    average=(double)sum/number;
    printf("平均分为%.3f分\n",average);
    max=grade[0];
    for(i=0;i<number;i++)
    {
        if(grade[i]>=max)
        {
        max=grade[i];
        m=i+1;
        }
    }
    printf("获得最高分的是第%d名同学,他的分数为%d分\n",m,max); 
    min=grade[0];
    for(i=0;i<number;i++)
    {
        if(grade[i]<=min)
        {
        min=grade[i];
        m=i+1;
        }
    }
    printf("获得最低分的是第%d名同学,他的分数为%d分\n",m,min); 
    printf("请输入你要查询的成绩:");
    scanf("%d",&find);
    for(i=0;i<number;i++)
    {
        if(grade[i]==find)
        {
            printf("第%d名",i+1); 
            n++; 
        }
    }
    if(n==0)
    {
        printf("未找到符合条件的同学\n");
    }
    else
    { 
    printf("同学获得了%d分",find);
    }
    return 0;
 } 

  技术分享

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

#include<stdio.h> 
int main() 
{
    int i,m,x,n[11]={2,3,4,9,10,12,15,44,63,89};
    printf("原数组为:2 3 4 9 10 12 15 44 63 89\n");
    printf("请输入你要插入的数:");
    scanf("%d",&m);
    if(m>n[9])
    {
    n[10]=m;
    }
    else
    {
        for(i=0;i<10;i++)
        {
            if(m<n[i])
            {
               x=i;
               break;
            }        
        }
        for(i=9;i>=x;i--)
        {
           n[i+1]=n[i]; 
        }   
    n[x]=m; 
    } 
    printf("新的数组为:");
    for(i=0;i<=10;i++)
    {
        printf("% d",n[i]);
    }
    return 0;
}

技术分享

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

#include <stdio.h>
int main()
{
    int a,b,c;
    int match[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&&match[a]+match[b]+match[c]==12)
            {
                printf("%d+%d=%d\n",a,b,c);
            }
            }
        }
    }
    return 0;
 }

技术分享

 

第八次作业