zoukankan      html  css  js  c++  java
  • 第八次作业

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

    #include<stdio.h>
    #define N 50
    int main()
    {
        int i,n,a,b,c,x,sum,max,min;
        int num[N];
        double ping;
        printf("请输入一共有多少学生
    ");
        scanf("%d",&n);
        sum=0;
        for(i=0;i<n;i=i+1)
        {
            printf("请输入成绩
    ");
            scanf("%d",&num[i]);
        }
        for(i=0;i<n;i=i+1)
        {
            sum+=num[i];
        }
        ping=(double)sum/n;
        printf("平均分是%.2lf
    ",ping);
        max=num[0];
        for(i=0;i<n;i=i+1)
        {
            if(num[i]>max)
            {
                max=num[i];
            }
        }
        for(i=0;i<n;i=i+1)
        {
            if(num[i]==max)
            {
                a=i+1;
                printf("最高分是%d,是第%d个同学
    ",max,a);
            }
        }
        min=num[0];
        for(i=0;i<n;i=i+1)
        {
            if(num[i]<min)
            {
                min=num[i];
            }
        } 
        for(i=0;i<n;i++)
        {
            if(num[i]==min)
            {
                x=i+1;
                printf("最低分是%d,是第%d个同学
    ",min,x);
            }
        }
        printf("输入一个成绩,说明是第几个学生的成绩
    ");
        scanf("%d",&x);
        for(i=0;i<n;i=i+1)
        {
            if(x==num[i])
            {
                c=i+1;
                printf("是第%d个学生
    ",c);
            }
        }
        return 0;    
    }

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

    # include <stdio.h>
    # define N 11
    int main ()
    {
      int a,b,c,d,i;
      int scare [N]={1,3,5,7,9,11,13,15,17,19};
      printf("请插入一个数字:
    ");
      scanf ("%d",&a);
      d=11;
      for (i=0;i<11;i++)
      {
         if (a<scare[i])
         {
            d=i+1;
            printf("插入到%d位
    ",d);
            break;
         }
      }
      
        for (i=d-1,c=N-1;i<=c;c--)
        {
            scare[c]=scare[c-1];
          }
          scare[i]=a;
          for (i=0;i<N;i++)
          {
            printf(" %d",scare[i]);
          }
      return 0;
    }

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

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

    附加题

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

    #include<stdio.h>
    int main()
    {
        int numbers[10]={0},i;
        char number;
        printf("请输入一行任意长的数字。
    ");
        while(number!='
    ')
        {
            scanf("%c",&number);
            numbers[number-'0']++;
        }
        for(i=0;i<10;i++)
            printf("%d出现了%d次。
    ",i,numbers[i]);
        return 0;
    }

     二、知识点总结

    1 数组名中存放的是一个地址常量。

    2 数组类型用于指出数组元素的数据类型。

    3 数组名与变量名一样,必须遵循标识符命名规则。

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

    1 数组名中存放的是常量,也可以提前定义

    2 动态赋值通常用循环结构实现

    3 存贮单元如果要插入某个数,需要多一位空间

  • 相关阅读:
    php exec() error…
    已达到计算机的连接数最大值,无法再同此远程计算机连接
    网站URL路径的中文问题[中文路径编码]【转】
    获取用户客户端的IP的方法
    flex如何处理java通过BlazeDS传递来的对象
    $_SERVER["所有这里的东西"]
    鼠标悬浮时显示对话框
    android设置 textview的背景
    在代码中设置字体颜色
    jdk 和sdk环境变量配置
  • 原文地址:https://www.cnblogs.com/0000-beauty/p/6103347.html
Copyright © 2011-2022 走看看