作业九

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);//找最大值
int findMaxIndex1(int score[],int n);//最大值人数
int findMin(int score[],int n);//最小值
int 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()
{
    int score[N]={0},Index[N]={0},i,max,maxindex1,min,minindex2,index,n;
    double ave;
    printf("请输入人数\n");
    scanf("%d",&n);
    readScore(score,n);
    ave=average(score,n);
    printf("ave=%.2f\n",ave);
    max=findMax(score,n);
    printf("max=%d\n",max);
    maxindex1=findMaxIndex1(score,n);
    printf("最高分有%d个\n",maxindex1);
    min=findMin(score,n);
    printf("min=%d\n",min);
    minindex2=findMinIndex2(score,n);
    printf("最低分有%d个\n",minindex2);
    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;
}
int findMaxIndex1(int score[],int n)
{
     int i,a,max;
     a=0;
     max=findMax(score,n);
     for(i=0;i<n;i++)
     {
     if(score[i]==max)
      {
         a++;
      }
    }
    return a;
}
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;
}
int findMinIndex2(int score[],int n)
{
     int i,a,min;
     a=0;
     min=findMin(score,n);
     for(i=0;i<n;i++)
     {
         if(score[i]==min)
         {
             a++;
         }
     }
     return a;
}
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;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中只是把实参的值传给了形参

				
时间: 2024-10-08 11:13:04

作业九的相关文章

作业九 ——报告及总结

<软件工程>课程总结 <软件工程>课程既强调基本概念和基本知识的理解和掌握,又侧重软件项目的分析.设计.实现和维护的基本技能.比较注意“点”和“面”的结合.我还是蛮喜欢这门课的,通过对这门课的学习让我意识到理论学习很重要,实践更重要,实践是检验真理的唯一标准,只有将理论与实际结合,才更能发挥我们所学的知识的作用.整一个学期下来,总的来说还是学到了很多东西的,有很多地方是值得肯定的,其实在我看来,软件工程与其说是一门课程,不如说是一门思想.是一个如何去分析和处理问题的过程,应该说其范

作业九 二维数组和字符数组的应用

知识点: (1)二维数组的定义形式为: 类型名 数组名 [行长度] [列长度]; (2)引用二维数组的元素要制定两个下标,即行下标和列下标,形式为: 数组名 [行下标] [列下标] (3)行下标的合理取值范围是[0,行长度-1],列下标合理的取值范围是[0,列长度-1]. (4)分行赋初始值,一般形式为: 类型名 数组名 [行长度] [列长度]={{初值表0},-,{初值表k},-}; 然后可把初值表k中的数据一次赋值给第k行的元素. (5) 顺序赋初始值,一般形式为: 类型名 数组名 [行长度

作业九——报告与总结

   软件工程课程总结         1怎么进行项目管理? 项目管理是软件工程的一部分,也是非常关键的一部分.它可以及时的对项目进行划分,有条理的分配到相应的补分.这样有效的减少了后期的错误.避免后期繁琐的查找代码与项目的漏洞.项目管理我认为一定要归类处理,要有条理的去划分每一类的项目,不能相似的项目就简化归类,一定要对其内容审核分类,这样才能使软件工程到后期方便快捷. 2怎样完成各程序间的依赖? 软件是计算机中与系统相互依存的关系.程序文档数据都是通过软件与硬件来传输的.程序与程序间需要通过

作业九:《软件工程》课程的总结

一.对前期提出的问题的回答 1.代码复审怎么能有效简便的完成,<构建之法>上说越是项目后期发现的错误,修复的代价就越大,要是之前代码没有复审完全,有什么补救的方法? 学习软件工程就会知道,越是项目后期发现的问题,修复的代价越大.代码复审正是要在早期发现并修复这些问题.问题都是一点点累积的,像滚雪球一样,前期的问题即使发现并且解决,就可避免后期问题的累计.所以在学习或是实践中,代码复审时要格外小心仔细,在学初之时,我总是不认真对待,导致自己要花费更多修改代码的时间,也给团体项目带来了诸多不便.

作业九:报告及总结

在平淡的日子中我们又度过了一个学期,而且在不知不觉中这学期的软件工程课就要结束了,我们即将进入大四,我们也快要去中软学习了.在这个学期的软件工程课里,虽然 我们学习到了很多与我们专业相关的知识,但我个人是很苦恼的. 关于我在开课时提出的问题,经过一学期的学习大部分我还是不知道答案是什么,更准确的讲是我不知道这些问题在我心中的答案. 第一问题:如何更好的理解并学习现代软件工程? 经过一个学期的学习我们都知道软件工程是什么,但如何能更好的理解和学习它呢?我很坦白的说我不知道,我并不聪明,我也是在一学

作业九-课程总结

为期16周的软件工程课程的学习已经结束了,在冯花平老师的指导下,我们完成了软件工程这门课程的学习.记得最开始时寒假老师留的作业是对软件工程的认知与理解,并相应的对此门课程提出5-10个问题,如今课程已经结束了,回顾我最初未在老师的指导下学习这门课程时提到的问题,已经基本上得到了解决. 问题1:耦合的分类 答:耦合按从强到弱的顺序可以分为以下几种类型: (1).内容耦合.当一个模块直接修改或操作另一个模块的数据,或者直接转入另一个模块时,就发生了内容耦合.此时,被修改的模块完全依赖于修改它的模块.

作业九 课程总结(附加补充)

1:对软件工程这门课的理解是什么? 这是我对软件工程的一点看法 我个人的理解,软件工程就是按照工程学的管理方式,有组织.有计划的,在一定的质量基础.时间限度和成本范围内,实现功能明确的软件系统.而且,软件工程在企业范围内运行,一定需要企业资源的支持,要与企业的经营.决策.管理体系联系在一起,才能够被踏踏实实的落实下来.     软件业作为一个服务业,要想得到发展,首先必须形成一个对软件服务有迫切需要的市场.其次,这个市场中的消费者必须具备足够的购买力.软件的消费群体简单一点,可以分为个体消费和企

团队作业九

设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 解决有购物需求的用户进行网上商品浏览以及购买的问题,对也典型用户和典型场景在团队作业五和六都有描述. 2. 我们达到目标了么(原计划的功能做到了几个?  按照原计划交付时间交付了么? 原计划达到的用户数量达到了么?) 原计划的功能基本做到,按时交付,用户数量还未有. 3. 和上一个阶段相比,团队软件工程的质量提高了么? 在什么地方有提高,具体提高了多少,如何衡量的? 质量有些许的提高,主要是在用

作业九:《软件工程》课程总结

通过一学期的学习,我学到了很多知识,软件工程并不像我最开始想象的,是个提高技术能力的学科,反而像小学的社会科学课,教给我们的大多是方法和规则.让仅仅掌握专业知识的我们能更快的进入社会和工作岗位,面对项目和团队合作的时候能更得心应手.我想,这门课教会我的是如何更好地利用自己学到的知识,更快的完成项目,打赢自己的竞争对手,从而在竞争激烈的市场中脱颖而出. 当初在开始的时候提出的问题经过一学期的学习,我也得到了解答. 一:软件设计的构思方法 首先进行初步设计,关注于如何将需求转换成数据和软件框架.第二