zoukankan      html  css  js  c++  java
  • 作业(八)

    这不是占坑,这不是占坑,这不是占坑,重要的事情说三遍

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

    实验代码:

    #include<stdio.h>
    #define N 100 
    int main ()
    {
        int grade[N],sum=0,i,n,max,min,inder1,inder2,x,y=1;
        double average;  
        printf("请输入学生的数量。
    ");
        scanf("%d",&n);  
        printf("请输入考试成绩:
    ");
        for(i=0;i<n;i++)        
        {
            scanf("%d",&grade[i]);
            sum=sum+grade[i];
        }
        average=(double)sum/n;                    
        printf("平均分为:%.2lf
    ",average);
        min=grade[0];
        max=grade[0];
        for(i=0;i<n;i++)
        {
            if(grade[i]>max)
            max=grade[i];
            if(grade[i]<min)
            min=grade[i];
        }
        for(i=0;i<N;i++)
        {
            if(grade[i]==max)
            {
                inder1=i+1;
                printf("最高分是%d,是第%d名同学.
    ",max,inder1);
            }
            if(grade[i]==min)
            {
                inder2=i+1;
                printf("最低分是%d,是第%d名同学.
    ",min,inder2);
            } 
        } 
        printf("请输入您所查询学生的成绩:
    "); 
        scanf("%d",&x); 
        for(i=0;i<n;i++) 
        { 
            if(grade[i]==x) 
            { 
                i=i+1; 
           y=0; printf("你所查询的学生是第%d名。 ",i); } } if(y==1) { printf("你所查询的学生不存在。 ",i); } return 0; }

    实验截图:

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

    实验代码:

    #include<stdio.h>
    #include<stdlib.h>
    #define N 11
    int main()
    {
        int sum[N]={1,3,5,7,9,11,13,15,17,19},x,i,y=10,c;
        printf("请输入插入其中的数字:
    ");
        scanf("%d",&x);
        if(x<=0)
        {
            printf("输入错误。请输入正整数。
    ");
            exit(0); 
        }
        for(i=0;i<N-1;i++)
        {
            if(sum[i]>=x)
            {
                y=i;
                break;
            }
        }
        if(y<10)
        {
             for(i=N-1;i>y;i--)
            {
                   sum[i]=sum[i-1];
            }
         }
           sum[y]=x;
        for(i=0;i<=N-1;i++)
        {
            printf("%d ",sum[i]);
        } 
        return 0;
    }

    实验截图:

    
    

    实验问题:用数组实现火柴棍等式

    实验代码:

    #include<stdlib.h>
    int main()
    {
        int match[10]={6,2,5,5,4,5,6,3,7,6};
        int x,y,a,b,c;
        printf("请输入火柴棍数目:
    ");
        scanf("%d",&x);
        if(x>25||x<7)
        {
            printf("您输入的数目有错误。
    ");
            exit(0);
        } 
        y=x-4;
        for(a=0;a<=9;a++)
            for(b=0;b<=9;b++)
            {
                c=a+b;
                    if(c>9)
                break;
                if(match[a]+match[b]+match[c]==y)
                   {
                printf("%d+%d=%d
    ",a,b,c);
                }
               }
        return 0;
    }

    实验截图:

     

    附加题

    实验题目:

    输入一行任意长的数字,用数组元素作为计数器统计每个数字出现的次数。用下标为0的元素统计0出现的次数,用下标为1的元素统计1出现的次数…

    实验代码:

    #include<stdio.h>
    int main()
    {
        int sums[10]={0},i,n=0;
        char sum;
        printf("输入
    ");
        while(sum!='
    ')
        {
            if(sum<48||sum>57)
            {
                n++;
            }
            scanf("%c",&sum);
            sums[sum-48]++; 
        }
        for(i=0;i<10;i++)
        {
            printf("数字%d出现了%d次
    ",i,sums[i]);
        } 
        n=n-1; 
        printf("其他字符出现了%d次
    ",n);
        return 0;
    }

    实验截图:

    知识点总结

    1.认知了一维数组的定义,以及一维数组元素的引用。
    2.学习如何对一维数组赋值的方法:动态赋值,逐个赋值,定义赋值 。
    3.利用数组再次优化函数,使函数更加便捷。
    4.运用define来确定数组的元素个数。 

    实验总结

    1.记住数组里的数是最大的元素个数。

    2.数组的元素是从0开始计数。

    3.若不填满数组则剩下元素值为0,而超过数组数则会使程序错误,甚至瘫痪。

  • 相关阅读:
    【PAT】1020. Tree Traversals (25)
    Pongo建立信号基站-实际上还是考中位数
    从此不再惧怕URI编码:JavaScript及C# URI编码详解
    WebBrowser与IE的关系,如何设置WebBrowser工作在IE9模式下?
    命令行下开启与关闭windows防火墙关端口(转)
    MySql数据库批量备份命令
    C#检查文件是否被占用
    C#使用Gzip解压缩完整读取网页内容
    [转]免费电话网专用免费平台
    libQt5Core.so: undefined reference to `dlclose@GLIBC_2.4'
  • 原文地址:https://www.cnblogs.com/wgy774553994/p/6086874.html
Copyright © 2011-2022 走看看