码迷,mamicode.com
首页 > 其他好文 > 详细

第八次作业

时间:2016-11-22 23:42:35      阅读:289      评论:0      收藏:0      [点我收藏+]

标签:类型   长度   pre   平均数   数组   改变大小   正整数   位置   core   

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

#include<stdio.h>
#define N 100
int main()
{
    int score[N],i,n,grade,m=0;
    double ave,max,min,sum;    
    for(i=0;i<N;i++)
    {
        printf("请输入学生的成绩");
        scanf("%d",&score[i]);
        if(score[i]==-1)
        {
            break;
        }    
        m++;
    }
    sum=0;
    for(i=0;i<m;i++)
    {
        sum+=score[i];
        ave=sum/(double)m;
    }
    printf("平均数为%.2lf",ave);
    //最大最小值
    max=score[0];
    for(i=0;i<=m;i++)
    {
        if(score[i]>max)
        {
            max=score[i];
        }
    }
    printf("最大值为%.2lf",max);
    min=score[0];
    for(i=0;i<m;i++)
    {
        if(score[i]<min)
        {
            min=score[i];
        }
    }
    printf("最小值为%.2lf\n",min);
    //查找 
    printf("请输入你想找的分数");
    scanf("%d",&grade);
    for(i=0;i<m;i++)
    {
        if(grade==score[i])
        {
            printf("你想找的分数在%d位\n",i+1);
        }
    }
    return 0;
}

技术分享

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

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

技术分享技术分享技术分享

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

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

技术分享

二、知识点总结

    (1)数组的定义:定义方式:数据类型  数据名【数据长度】

    (2)数组必须先定义,后使用

    (3)C语言不会对数组下标做越界检查

    (4)数组名不能被赋值

三、实验总结

     (1)  数组名【下标】   下标从0开始

     (2)  数组一旦创建,不能改变大小

     (3)  数组中的元素在内存中是连续一次排列的

第八次作业

标签:类型   长度   pre   平均数   数组   改变大小   正整数   位置   core   

原文地址:http://www.cnblogs.com/faner10110/p/6091409.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!