• 作业 八


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

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

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

    #include<stdio.h>
    #define N 11
    int main()
    {
        int num[N]={1,3,5,7,9,11,13,15,17,19},x,y,i;
        printf("请输入一个数:
    ");
        scanf("%d",&x);
        for(i=0;i<N;i++)
        {
            if(x<=num[i]&&x>=num[i-1])
            {
                y=i;
                break;
            }
            else if(x>num[9])
            {
                y=i;
            }
        }
        for(i=N-1;i>y;i--)
        {
            num[i]=num[i-1];
        }
        num[i]=x;
        for(i=0;i<N;i++)
        {
            printf("%d ",num[i]);
        }
        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
    ",x,y,z);
                }
            }
        return 0;
    }

    二、知识点总结

    1、c语言中只能逐个引用数组元素 而不能一次引用整个数组。

    2、只给部分数组元素附初值,则其后的元素被初始化为0.

    3、数组必须先定义后使用。

    4、一般在主函数前定义#define N[*],便于改变N值。

    三、实验总结

    1、输出学生是第几个人时,下标最好加一。

    2、第二题不会的话,可以问问别人。

    3、for里面的语句要用;分开。

    4、#define语句后面不能加;。

  • 相关阅读:
    springcloud将多个微服务的swagger文档整合到同一个地址访问
    git 强制回滚到某个commit版本
    常用几个 mvn 命令
    @Resource @Autowired
    我们需要深度沟通
    python 中文乱码解决方案
    同一台电脑使用多个ssh私钥配置不同的github账号
    pyinstaller 打包 sentry_sdk 出现 ModuleNotFoundError 的解决方法
    Linux系统下强制踢掉登录用户
    zsh Ctrl+U 从当前位置删除到行首
  • 原文地址:https://www.cnblogs.com/1998li/p/6105535.html
Copyright © 2020-2023  润新知