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

第八次作业

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

#include<stdio.h>
#define N 100
int main()
{
double average;
int score[N],i,sum,max,index1,min,index2,index3,n,grade,a;
printf("请输入学生人数\n");
scanf("%d",&a); 
sum=0;
for(i=0;i<a;i++)
{
printf("请输入学生成绩\n");
scanf("%d",&score[i]);
if(score[i]<=0)
{
break;
}
sum+=score[i];
}
average=(double)sum/a;
printf("average=%.2lf\n",average);
max=score[0];
index1=0;
for(i=0;i<a;i++)
{
if(score[i]>max)
{
max=score[i];
index1=i+1;
}
}
printf("max=%d,index1=%d\n",max,index1);
min=score[0];
index2=0;
for(i=0;i<a;i++)
{
if(score[i]<min)
{
min=score[i];
index2=i+1;
}
}    
printf("min=%d,index2=%d\n",min,index2);
printf("请输入一个人的成绩");
scanf("%d",&grade);
n=0;
for(i=0;i<a;i++)
{
if(grade==score[i])
{
printf("index=%d\n",i+1);
break;
}
}
return 0;
}

技术分享

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

#include <stdio.h>
#define N 11
int main()
{
    int a[N]={1,3,5,7,9,11,13,15,17,19},num,i,m=10;
    printf("请输入一个数字\n");
    scanf("%d",&num);
    for(i=0;i<=N-1;i++)
    {
        if(num<a[i])
        {
            m=i;
            break;
        }
    }
    for(i=N-1;i>m;i--)
    {
        a[i]=a[i-1];
    }
    a[i]=num;
    for(i=0;i<N;i++)
    {
        printf("%d   ",a[i]);
    }
    printf("\n");
    return 0;
}

技术分享

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

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

 

技术分享

 

实验总结:第一题,用负数结束开始不知道怎么结束,想了很久,问了问别人才知道让成绩小于0然后break就可以了。很多点其实特别简单,是自己把它想的太复杂化了。问题可以简单的处理。然后第二题的插入,也是开始做总是替换后面的值,后来看了看别人的程序,才发现自己的问题。然后第三个火柴棍做过很多次了,但是每一次做都有新的发现,可能是因为做的方法不一样,所以程序理解的还是不够透彻不然也不会觉得很新。总之程序千篇一律,要把握住规律技巧和方法才能写对写好。

知识点总结:1.一般在主函数前定义#define N[*],便于改变N值。

2.定义的元素要记得赋初值。

3.数组必须先定义然后再使用。

第八次作业