第八次实验

一、实验内容

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

代码:

# include <stdio.h>
# define N 100
int main()
{
    int score[N],sum,max,min,grade,n,m,i;
    double average;
    printf("请输入一个小于100的值
",&n);
    scanf("%d",&n);
    sum=0;
    for(i=0;i<n;i++)
    {
        printf("请输入学生的成绩:
");
        scanf("%d",&score[i]);
        sum=sum+score[i];
    }
    average=(double)sum/n;
    printf("平均分为%.2lf
",average); 
    max=0;
    for(i=0;i<n;i++)
    {
        if(score[max]<score[i])
        {
            max=i;
         } 
    }
    printf("最高分为%d,是第%d个数
",score[max],max);
    min=0;
    for(i=0;i<n;i++)
    {
        if(score[min]>score[i])
        {
            score[min]=score[i];
        }
    }
    printf("最低分为%d,是第%d个数
",score[min],min);
    printf("请输入一个你想要查找的成绩
"); 
    scanf("%d",&grade);
    m=0;
    for(i=0;i<n;i++)
    {
        if(grade==score[i])
        {
            printf("%d
",i);
            m=m+1;
        }
    }
    printf("符合要求的一共有%d个
",m);
    return 0;
 } 

程序运行结果:

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

代码:

# include <stdio.h>
int main()
{
    int a,i,n;
    int num[10]={6,18,28,39,48,56,67,78,89};
    printf("请输入一个正整数
");
    scanf("%d",&a);
    for(i=0;i<9;i++)
    {
        if(a<=num[i+1]&&a>num[i])
        {
            for(n=10;n>=i;n--)
            {
                num[n]=num[n-1];
            }
            num[i+1]=a;
        }
        else if(num[0]>a)
        {
            num[0]=a;
        }
        else if(num[8]<a)
        {
            num[9]=a;
        }
        printf("%d ",num[i]);
    }
    return 0;
 } 

程序运行结果:

3、实验要求:

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

程序运行结果:

二、知识点总结

  1. 数组的基本格式 :数组类型    数组名称  【数组长度】
  2. 数组中如果少于数组长度,则其它未写出的数据为0
  3. 数据的下标从0开始
  4. 数组必须先定义,再使用

三、实验总结

  1. 在第二个实验中会出现数据重叠的问题,在内层循环中要让数组中的前一个值赋给后一个值
  2. 在for后面不能加分号,否则会出现越界问题
原文地址:https://www.cnblogs.com/1997zjx/p/6093407.html