作业九

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了作业九相关的知识,希望对你有一定的参考价值。

1.定义函数实现:输入若干名学生的成绩(输入人数或用负数结束均可),求其平均分,最高分和最低分,并指出最高分和最低分的学生(给出下标即可),输入一个成绩,说明是第几个学生的成绩,最后按照成绩从高到低排序后输出。(至少七个函数。输入函数、平均值函数、最大值下标函数、最小值下标函数,查找函数,排序函数,输出函数)

#include<stdio.h>
#define N 100
void readScore(int score[],int n);//输入函数
double average(int score[],int n);//求平均值
int findMax(int score[],int n);// 最大值
void findMaxIndex1(int score[],int n);//最大值是第几个
int findMin(int score[],int n);//最小值
void findMinIndex2(int score[],int n); //最小值是第几个
void findScoreIndex(int score[],int n);//输入一个成绩 ,是第几个人
void bubbleSort(int score[],int n);//排序
void printfScore(int score[],int n);//输出
int main()
{
  max=findMax(score,n);
  printf("max=%d\\n",max);
  findMaxIndex1(score,n);
  printf("是最高分\\n");
  min=findMin(score,n);
  printf("min=%d\\n",min);
  findMinIndex2(score,n);
  printf("是最低分\\n");
  findScoreIndex(score,n);
  bubbleSort(score,n);
  printfScore(score,n);
  return 0;
}
void readScore(int score[],int n)
{
  int i;
  printf("请输入成绩\\n");
  for(i=0;i<n;i++)
  {
    scanf("%d",&score[i]);
  }
}
double average(int score[],int n)
{
  int i,sum;
  sum=0;
  for(i=0;i<n;i++)
  {
    sum=sum+score[i];
  }
return (double)sum/n;
}
int findMax(int score[],int n)
{
  int max,i;
  max=score[0];
  for(i=0;i<n;i++)
  {
  if(score[i]>=max)
  {
    max=score[i];
  }
}
return max;
}
void findMaxIndex1(int score[],int n)
{
  int i,max;
  max=findMax(score,n);
  for(i=0;i<n;i++)
  {
    if(score[i]==max)
    {
      printf("第%d个\\n",i+1);
    }
  }  
}
int findMin(int score[],int n)
{
  int min,i;
  min=score[0];
  for(i=0;i<n;i++)
   {
    if(score[i]<=min)
     {
      min=score[i];
     }
   }
return min;
}
void findMinIndex2(int score[],int n)
{
  int i,min;
  min=findMin(score,n);
  for(i=0;i<n;i++)
   {
    if(score[i]==min)
    {
      printf("第%d个\\n",i+1);
    }
   }
}
void findScoreIndex(int score[],int n)
{
  int i,grade;
  printf("输入要找的成绩");
  scanf("%d",&grade);
  for(i=0;i<n;i++)
  {
    if(grade==score[i])
    {
      printf("index=%d\\n",i+1);
    }
  }
}
void bubbleSort(int score[],int n)
{
  int i,j,t;
  for(i=0;i<n-1;i++)
  {
    for(j=0;j<n-1-i;j++)
     {
      if(score[j]>score[j+1])
        {
          t=score[j];  
          score[j]=score[j+1];
          score[j+1]=t;

        }
     }
  }
}
void printfScore(int score[],int n)
{
  int i;
  for(i=0;i<n;i++)
  {
    printf("%5d",score[i]);
  }
}

2.定义长度为100的整型数组,将数组元素赋初值为1,2……100,将其中所有值为3或7倍数的值删除,最后打印输出数组中剩余数的个数及每个数。

#include<stdio.h>
#define N 100
int main()
{
    int num[N]={0},i,a=0;
    for(i=0;i<N;i++)
    {
        num[i]=i+1;
    }
    for(i=0;i<N;i++)
    {
        if(num[i]%3==0||num[i]%7==0)
        {
            num[i]=0;
        }
    }
    for(i=0;i<N;i++)
    {
        if(num[i]!=0)
        {
            printf("%3d ",num[i]);
            a++;
            if(a%10==0)
            {
                printf("\\n");
            }
        }
    }
    printf("输出%d个数",a);
    return 0;
}

 

二、实验总结

1、第一题应该写一个主函数紧接着写子函数,别一下子把主函数写完。

2、返回值应该放在循环外面。

3、for语句中表达式要用;分开。

4double类型输出应该用%lf而不能用%d。

 

三、

     程序1     

#include <stdio.h>
void swap(int x[]);
int main()
{  
     int a[2]={1,2};
    swap(a);
    printf("a[0]=%d\\na[1]=%d\\n",a[0],a[1]);
    return 0;
}
void swap(int x[])
{   
    int z;
    z=x[0];     
    x[0]=x[1];     
    x[1]=z;
}

  程序2  

#include <stdio.h>
void swap(int x,int y);
int main()
{
    int a[2]={1,2};
    swap(a[0],a[1]);
    printf("a[0]=%d\\na[1]=%d\\n",a[0],a[1]);
    return 0;
}
void swap(int x,int y)
{  
     int z;
     z=x;
     x=y; 
     y=z;
}



程序1中把实参数组的地址传给了形参数组,程序2中只是把实参的值传给了形参

以上是关于作业九的主要内容,如果未能解决你的问题,请参考以下文章

星力九代 命中算法源代码 特殊用户处理 点控调整

Intel支持八九代酷睿的B365芯片组将登场亮相

Botanical Dimensions:借助第九代智能英特尔® 酷睿? 处理器实现独特沉浸式体验

pbootcms对接微信扫码登录代码核心片段和步骤(前后端)

php生成各种验证码

HTML5期末大作业:餐饮美食网站设计——咖啡(10页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 咖啡网页设计 美食餐饮网页设计...(代码片段