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

    实验一:

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

    #include<stdio.h>
    int main()
    {
        int max,min,n,i,sum=0,grade[100],grade1,a=0,b=0,c,d=0;
        double average;
        printf("请输入您要输入学生成绩的个数:
    ");
        scanf("%d",&n); 
        for(i=0;i<n;i++)
        {
            printf("请输入学生成绩:
    ");
            scanf("%d",&grade[i]);
            sum=sum+grade[i];
        }
        average=(double)sum/n;
        printf("这%d名同学的平均分数为:%1.2lf
    ",n,average);
        max=grade[0];
        min=grade[0];
        for(i=0;i<n;i++)
        {
            if(max<grade[i])
            {
                max=grade[i];
            }
            if(min>grade[i])
            {
                min=grade[i];
            }
        }
        for(i=0;i<n;i++)
        {
            if(max==grade[i])
            {
                printf("最高分有第%d位同学
    ",i+1);
            }
            if(min==grade[i])
            {
                printf("最底分有第%d位同学
    ",i+1);
            }
        }
        printf("请输入您想查询的成绩:
    ");
        scanf("%d",&grade1);
        for(i=0;i<n;i++)
        {
            if(grade1==grade[i])
            {
                c=i;
                printf("成绩为%d的有第%d位同学
    ",grade1,c+1); 
                d++;
            }
        }
        printf("最高分是%d,最低分数是%d,分数为%d的同学有%d位",max,min,grade1,d);
        return 0;
     } 

    实验二:

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

    #include<stdio.h>
    int main()
    {
     int a,b,i1,i2,i,number[11]={2,4,6,8,10,11,13,15,17,19};
     printf("请输入一个整数");
     scanf("%d",&a);
     if(a<number[0])
     {
      for(i1=10,i2=9;i2>=0;i1--,i2--)
      {
       number[i1]=number[i2];
      }
      number[0]=a;
     }
     else if(a>number[9])
     {
      number[10]=a;
     }
     else
     {
      for(i=0;i<9;i++)
      {
       if(a<number[i])
       {
        b=i;
        break;
       }
      }
      for(i1=10,i2=9;i2>=b;i1--,i2--)
      {
       number[i1]=number[i2];
      }
      number[b]=a;
     }
     for(i=0;i<11;i++)
     {
      printf(" %d",number[i]);
     }
     return 0;
     }

     

     

    实验三:

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

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

    附加题:

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

    #include<stdio.h>
    int main()
    {
     int a[10]={0},i;
     char c;
     while(1)
     {
      if((c=getchar())==' ')
      {
       break;
      }
      if(c>='0'&&c<='9')
      a[c-'0']++;
     }
     for(i=0;i<=9;i++)
     printf("%d字符的个数:%d ",i,a[i]);
    }

    知识点总结:

    1 数组元素之间是有序的,数组中的每一个数据都具有相同的数据类型;

    2 数组具有有序性和正体性;

    3 根据数组元素类型的不同,可以分为整形数组、浮点型数组等多种类型;

    4 每一个数组元素都表示一个变量,在使用时必须进行赋值;

    5 对数组元素赋初值是将数组元素的初值按顺序依次放在花括号中,中间用逗号隔开;

    6 对数组的全部元素赋初值时可以省略数组长度,对数组部分元素赋初值时不能省略数组长度

    实验总结:
    1  数组必须先定义后使用;

    2  要注意数组的下标是从零开始的;

    3  c语言中数组的越位系统不会提示错误,当发生越位后有可能会吧重要内容覆盖,因此一定不要让数组下标越位;

    4  确定数组长度用[],赋值用{};

    5  当用switch时如果括号里是字符型的,在下面的语句要带上单引号;

  • 相关阅读:
    vue-cli模拟后台数据交互
    打卡谱
    前端面试题
    ps简单切图
    常见浏览器兼容性问题与解决方案
    扯淡 测量体质公式 哈哈哈哈会不会封我号
    JAVASCRIPT 转换字符串杂记
    日记(六)
    gitshell 基础操作
    gitshell fork别人项目
  • 原文地址:https://www.cnblogs.com/myfdpk/p/6087806.html
Copyright © 2011-2022 走看看