zoukankan      html  css  js  c++  java
  • 8

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

    #include <stdio.h>
    #define N 100000
    int main ()
    {
        int sum=0,score[N],max,min,a=0,i,b=0,c=0,x;
        double average;
        printf("请输入成绩
    ");
        for(i=0;i<N;i++)
        {
            scanf("%d",&score[i]);
            if(score[i]<0)
                break;
            else
            {
                a++;
            }
    
        }
        for(i=0;i<a;i++)
        {
            sum=sum+score[i];
        }
        printf("总值是%d
    ",sum);
        average=(double)sum/a;
        printf("平均值是%.2f
    ",average);
        max=score[1];
        for(i=1;i<a;i++)
        {
            if(score[i]>max)
            {
                max=score[i];
                b=i+1;
            }
        }
        printf("最大值是%d,第%d个数
    ",max,b);
        min=score[0];
            for(i=1;i<a;i++)
        {
            if(score[i]<min)
            {
                min=score[i];
                c=i;
            }
        }
        printf("最小值是%d,第%d个数
    ",min,c+1);
        printf("请输入成绩
    ");
            scanf("%d",&x);
        for(i=0;i<=a;i++)
        {
            if(x==score[i])
            {
                printf("这个学生是第%d个
    ",i+1);
                break;
            }
            
        }
        return 0;
    }

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

    #include <stdio.h>
    
    #define N 10
    
    int main()
    
    {
    
        int num[N]={3,6,9,12,16,19,23,26,29},i,j,n,a,b;
    
         
    
        printf("请输入一个数字:
    ");
    
        scanf("%d",&a);
    
        for(i=0;i>=0;i++)
    
        {
    
          if(a<num[i+1])
    
          {
    
            for(j=8;j>i;j--)
    
             
    
            {
    
              num[j+1]=num[j];
    
            }
    
              num[i+1]=a;
    
              break;
    
            }
    
          }
    
        for(i=0;i<N;i++)
    
        printf("%4d",num[i]);
    
        return 0;
    
    }

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

    #include <stdio.h>
    
    int main()
    
    {
    
    int a,b,c,s[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(s[a]+s[b]+s[c]==12&&c<10)
    
    {
    
    printf("%d+%d=%d
    ",a,b,c);
    
    }
    
    }
    
    return 0;
    
    }

    知识点总结;

    1:数组一开始从【0】开始

    2:数组与循环一起用可以达到简化程序的作用,省去大量步骤。

    3:数组不能被赋值,

    实验总结:

    1:数组N=【N】的N不是一定的,在for循环中可以换成i

    2:数组内插入数字要注意位置问题,再数组中插入,后面的数都的下标都加一。

  • 相关阅读:
    P1217 [USACO1.5]回文质数 Prime Palindromes
    C++ 队列(queue)堆栈(stack)实现基础
    深入理解指针—>指针函数与函数指针的区别
    C语言结构体及typedef关键字定义结构体别名和函数指针的应用
    实现常用的配置文件/初始化文件读取的一个C程序
    C语言sscanf和sprintf输入输出使用及Strlen、Memset解释
    C语言一些基础知识
    Google的开源C++单元测试框架Google Test
    网站(Web)压测工具Webbench源码分析
    web压测工具http_load原理分析
  • 原文地址:https://www.cnblogs.com/endeavor992/p/6107741.html
Copyright © 2011-2022 走看看