• 作业八


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

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

    #include<stdio.h>
    #define N 100
    int main()
    {
        int score[N],i,n,n1=0,n2=0,sum=0,max,min,n3,n4;
        double average; 
        printf("请输入人数:
    ");
        scanf("%d",&n);
        for(i=0;i<n;i++)
            {
                printf("请输入成绩:
    ");
                scanf("%d",&score[i]);
            if(score[i]==-1)
            {
                break;
            }
            else if(score[i]!=-1)
                {
                    n4++; 
                sum=sum+score[i];
                }
            }
            average=(double)sum/n;    
            printf("平均数为%.2f
    ",average);    /*平均数*/ 
        max=score[0];
            for(i=0;i<n;i++)
            {
                if(score[i]>max)
                {
                    max=score[i];        /*最大值*/
                    n1=i;    
                }
            }
            printf("最大分数的学生为%d
    ",n1+1);
        min=score[1];
            for(i=0;i<n;i++)
            {
                if(score[i]<min)
                {
                    min=score[i];        /*最小值*/
                    n2=i;    
                }
            }    
            printf("最低分数的学生为%d
    ",n2+1);
            printf("输入一个分数:
    ");
            scanf("%d",&n3);
            for(i=0;i<n;i++)
            {        
                
                if(score[i]==n3)
                {
                    printf("%d号得到这个分数
    ",i+1);
                    break;
                }
            }
            return 0;
    }

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

    #include<stdio.h>
    #define N 10
    int main()
    {    int a,b,c,d,i;/*0 1 2 3 4  5  6  7  8 9=0*/
        int shuzu[N]={1,3,5,7,9,11,13,15,17};
        printf("请输入一个数字,将插入到1,3,5,7,9,11,13,15,17里:
    ");
        scanf("%d",&a);
        for(i=0;i<N;i++)
        {
        if(a<=shuzu[i])
        {
            d=i;
            printf("插入到第%d位	",d);
            break; 
        }
        }
        for(i=d,c=N-1;i<=c;c--)
        {
            shuzu[c]=shuzu[c-1];
        }
              shuzu[d]=a;
        for(i=0;i<N;i++)
        {
              printf("%d  ",shuzu[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
    ",x,y,sum);
            }
        }
        return 0;
    }

    附加题

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

    #include<stdio.h>
    int main()
    {
        int shuzi[10]={0},i;
        char x;
        printf("请输入一行数字:
    ");
     do
        {
            scanf("%c",&x);
            switch(x)
            {
                case '0':shuzi[0]++;break;
                case '1':shuzi[1]++;break;
                case '2':shuzi[2]++;break;
                case '3':shuzi[3]++;break;
                case '4':shuzi[4]++;break;
                case '5':shuzi[5]++;break;
                case '6':shuzi[6]++;break;
                case '7':shuzi[7]++;break;
                case '8':shuzi[8]++;break;
                case '9':shuzi[9]++;break;
            }
        }while(x!='
    '); 
        for(i=9;i>=0;i--)
        {
            printf("数字 %d 出现了 %d 次。
    ",i,shuzi[i]); 
        }    
        return 0;
    }

    二、知识点总结

    1:数据类型 数组名【数组长度】

    2:常量表达式中不允许包含变量,但可以包含常量或符号常量

    3:可以用int x[N]={1,2,3,4,5,6,7,8,9};这种形式。

    4:使用数值型数组时,不能一次引用整个数组,只能逐个引用。

    5.要用0-9,否则就毁了。

     三、实验总结(实验中遇到的问题及解决方法) 

    1.求平均数时,用到这个,但是算平均数时,因为没有输入100个数据,所以要重新输入变量,才能正确求出平均数。

    2.插入数组的时候要看清条件,准确找出插入的位置。

    3.火柴的没什么好说的,注意数字相加和根数相加。

    4.int x[10]={0},给部分元素赋初值,则其后的会被初始化为0,用这种形式配合switch可以容易的求出数字字符的个数。

    5.在程序之前给数组赋值:,这样方便程序的变换使用。

  • 相关阅读:
    第八天
    第六天 yum 磁盘分区与格式化
    第五天 权限掩码vim编辑器 软件包安装和管理
    第12组 Alpha冲刺 总结
    第12组 Alpha冲刺(6/6)
    第12组 Alpha冲刺(5/6)
    第12组 Alpha冲刺(4/6)
    第12组 Alpha冲刺(3/6)
    第12组 Alpha冲刺(2/6)
    第12组 Alpha冲刺(1/6)
  • 原文地址:https://www.cnblogs.com/mty1997/p/6087221.html
Copyright © 2020-2023  润新知