3219: 求最高同学位置—C语言版

3219: 求最高同学位置—C语言版

时间限制: 1 Sec  内存限制: 128 MB
提交: 207  解决: 115
[提交][状态][讨论版][命题人:smallgyy]

题目描述

设一维数组存放了n(<100)名同学的身高,编写函数求身高最高同学的位置,如果结果有多个,需要输出所有人的位置。
部分代码已给定如下,只需要提交缺失的代码。

#include<stdio.h>

int main()

{

int getHeight(float height[],int n,int result[]);

float height[100];

int result[100];

int i,num,n;

scanf("%d",&n);

for(i=0; i<n; i++)

scanf("%f",&height[i]);

num=getHeight( height,n,result);

for(i=0; i<num; i++)

printf("%d:%d\n",i+1,result[i]);

return 0;

}

输入

n和n名同学的身高

输出

身高最高同学的位置,多个结果每行显示一个。

样例输入

10
1.7 1.69 1.82 1.59 1.93 1.77 1.93 1.78 1.93 1.72

样例输出

1:5
2:7
3:9
int getHeight(float height[],int n,int result[])
{
    int i, j = 0;
    for(i = 0; i < n; ++i)
        result[i] = 0;
    float max = 0;
    for(i = 0; i < n; ++i)
    {
        if(height[i] > max)
            max = height[i];
    }
    for(i = 0; i < n; ++i)
    {
        if(height[i] == max)
        {
            result[j++] = i + 1;  //若有多个,则打印这些高的同学的所在位置(先用数组装起来)
        }
    }
    return j;
}

  

原文地址:https://www.cnblogs.com/mjn1/p/9898446.html

时间: 2024-11-09 02:49:51

3219: 求最高同学位置—C语言版的相关文章

寒假答辩作品——掘地求升C语言版

寒假答辩—掘地求升(C语言版) 前言 这个是作为寒假答辩作品写的. 之前考虑过用Unity写个游戏,但毕竟不熟悉C#,感觉几乎都是在套模板,而且写着不顺手,有想法却只能 看着C#发呆,很是无奈,所以决定还是选熟悉的C语言写一个大程序.正愁没灵感的时候,我突然看见了它: 然后我开始了几天快乐并痛苦的自闭抡锤子之旅,然后又痛苦并快乐的用C写下了这个游戏qwq. github代码:https://github.com/404name/C-game/blob/master/掘地求升 答辩网页:https

《数据结构-C语言版》(严蔚敏,吴伟民版)课本源码+习题集解析使用说明

先附上文档归类目录: 课本源码合辑  链接??? <数据结构>课本源码合辑 习题集全解析  链接??? <数据结构题集>习题解析合辑 博主有话说: 01.自学编程,难免思路阻塞,所以从今天起,我(StrayedKing)决定在本博客陆续更新严蔚敏,吴伟民版<数据结构-C语言版>各章节的课本源码和配套习题集答案解析,目的是为了整理数据结构中的知识点,并与网友交流意见,集思广益,共同进步.        ★注★ 左侧随笔分类下用两个栏目:<课本源码>.<习

求逆序对(线段树版)

一个序列a1,a2,a3...aN,求出满足:ai > aj 且 i < j 的个数. 一个最容易想到的方法就是枚举所有的i,j看看是否满足,显然是O(n^2)的复杂度.不够好. 可以这样考虑,开一个数组保存这n个数出现的位置和对应的次数,这个数组要开到a数组里最大的那个数MAX,也就是hash,初始状态数组里没有元素,每个数对应的个数都是0. 如果考虑第i个数,找到比它大的所有的数 的个数,查找的范围即 ai+1~MAX,这就是到i这个位置的逆序对的总和,接着把a[i]这个数添加到数组里,也

排序算法总结(C语言版)

1.    插入排序 1.1     直接插入排序 1.2     Shell排序 2.    交换排序 2.1     冒泡排序 2.2     快速排序 3.    选择排序 3.1     直接选择排序 3.2     堆排序 4.    归并排序 4.1     二路归并排序 4.2     自然合并排序 5.    分布排序 5.1     基数排序 1.插入排序 1.1      直接插入排序 将已排好序的部分num[0]~num[i]后的一个元素num[i+1]插入到之前已排好序的

双向链表(c语言版)

为了得到一个简洁的C语言实现的双向链表,本篇参照数据结构书籍对双向链表的做了一些修改,内容有: 1.合并分离的头文件和实现文件,认识更为直观: 2.修改函数名和变量名,更贴近自身的理解: 3.删除了返回首节点.尾节点等功能更为单一的函数,留下其主干. 实现思路: 1.定义一个双向链表 2.进行初始化工作:调用initList(),构造一个空的双向链表 3.执行增删改查等操作(节点操作) *插入时注意:封装成节点 1 /*双向链表实现代码*/ 2 #include<malloc.h> 3 #in

数据结构c语言版串的操作

#include<stdio.h> #include<malloc.h> #include<string.h> //定义字符串的结构体 typedef struct { char *str;//字符串 int maxLength;//最大可以存放字符的长度 int length;//目前的字符长度 }DString; //1.初始化操作 //初始化操作用来建立和存储串的动态数组空间以及给相关的数据域赋值 void Initiate(DString *s,int max,

HDU5620 KK&#39;s Steel(C++语言版)

问题链接:HDU5620 刚读到题,有点难解,没有头绪. 看了暗示才明白点,有点像菲波拉契数列,不过每一项求的是数列到该项之和.另外略有不同的是,第1项是1,第2项是2.也许是为了三个钢管围起来不能成为三角形的原因. 既然知道以上这些,那就先打表备查,这是为了节省计算时间,尽管有时候是多余的,但是多数程序都需要打表,那就打表吧. 这个C++版的采用顺序查找,逻辑就要简单一些.参见:HDU5620 KK's Steel(C语言版). 需要说明的一点是,菲波拉契序列的各项值增长是极快的,其和的增长就

HDU5620 KK&#39;s Steel(C语言版)

问题链接:HDU5620 刚读到题,有点难解,没有头绪. 看了暗示才明白点,有点像菲波拉契数列,不过每一项求的是数列到该项之和.另外略有不同的是,第1项是1,第2项是2.也许是为了三个钢管围起来不能成为三角形的原因. 既然知道以上这些,那就先打表备查,这是为了节省计算时间,尽管有时候是多余的,但是多数程序都需要打表,那就打表吧. 查找的时候,可以用顺序查找的,只是略费点时间.这里采用二分查找,逻辑就稍微有点麻烦了,因为这不是找相等的数,是找一个小于或等于的数,所以要注意在二分查找之后加以调整.参

顺序栈的栈基本操作(C语言版)

由于现在只学了C语言所以就写这个C语言版的栈的基本操作 这里说一下 :网上和书上都有这种写法 int InitStack(SqStack &p) &p是取地址  但是这种用法好像C并不支持 ,C++才支持,所以用 C语言写就需要使用指针 代码如下: 1 #include <stdio.h> 2 #include <stdlib.h> 3 #define STACK_INIT_SIZE 100//储存空间初始分配量 4 #define STACKINCREMENT 1