C语言第八章作业

  • 8.4
    输入某班学生某门课的成绩(最多不超过40人,具体人数有用户键盘输入),用函数编程统计不及格人数。
#include <stdio.h>
int main()
{
    int i,a[40],n,count=0;
    printf("请输入学生人数:\n");
    scanf("%d,&n");
    printf("请输入各学生成绩:\n");
    for(i=1;i<=n;i++)
    {
        scanf("%d,&a[i]");
        if(a[i]<60)
        count++;
    }
    printf("不及格人数有:%d\n",count);
    return 0;
}
  • 8.7
    交换输出
#include<stdio.h>
#define N 10
 void GetValue(int score[]);
 int FindMax(int score[]);
 int FindMin(int score[]);
 void SwapArr(int score[]);
 int main()
 {
     int score[N],i;
     GetValue(score);/*赋值*/
     SwapArr(score);/*交换最大最小值*/
      for(i = 0; i < N ; i++)
      {
          printf("%d  ",score[i]);/*输出交换后的数组*/
      }
      return 0;
 }
 void GetValue(int score[])
 {
     int i;
     for(i = 0; i< N; i++)
     {
          printf("please input number: ");
         scanf("%d",&score[i]);
     }
 }
int FindMax(int score[])
 {
     int i,max,max_dex=0;
     max = score[0];
     for(i = 1; i< N ;i++)
     {
         if(score[i] > max)
           {
            max = score[i];
            max_dex = i;/*获得最大值对应数组序号*/
            }
     }
     return max_dex;
 } 
  int FindMin(int score[])
 {
     int i,min,min_dex=0;
     min = score[0];
     for(i = 1; i< N ;i++)
     {
         if(score[i] < min)
         {
             min = score[i];
            min_dex = i;
         }
     }
     return min_dex;
 }
 void SwapArr(int score[])
 {
     int temp,min_dex,max_dex;
     min_dex = FindMin(score);
     max_dex = FindMax(score);
     temp = score[min_dex];
     score[min_dex] = score[max_dex];
     score[max_dex] = temp;
 }
  • 8.9
    反馈意见的中位数
#include <stdio.h>
#define N 40
void Readscore(int feedback[]);
void DataSort(int feedback[]);
int FindMode(int feedback[]);
int main()
{
    int feedback[N],mode;
    Readscore(feedback);/*输入成绩,返回人数*/
    DataSort(feedback);/*数组排序*/
    mode=FindMode(feedback);/*找到输出中位数*/
    printf("Mode is %d",mode);
    return 0;
}
void Readscore(int feedback[])
{
    int i;
    for(i=0;i<N;i++)
    {
        printf("Int put feedback:");
        scanf("%d",&feedback[i]);
    }
}
void DataSort(int feedback[])
{
    int i,j,temp;
    for(i=0;i<N-1;i++)
    {
        for(j=0;j<N;j++)
        {
            if(feedback[j]>feedback[i])
            {
                temp=feedback[i];
                feedback[i]=feedback[j];
                feedback[j]=temp;
            }
        }
    }
}
int FindMode(int feedback[])
{
    int mode;
    mode=(feedback[N/2-1]+feedback[N/2])/2;
    return mode;
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值