【重庆市渝北八中初2025级】数组专项训练-2

1、最大数

题目
题目描述

n个数中最大的那个数在哪里?输出其位置,若有多个最大数则都要输出。

输入格式

第一行:n( 3 <= n <= 100)
第二行:空格隔开的n个数

输出格式

输出若干个数,表示最大数的位置,每行一个。

样例
样例输入

5
1 2 6 3 6

样例输出

3
5

数据范围与提示

所有的数字都在int范围内

思路

先读入找出最大值,再通过在大值找位置

程序思路

    for(int i=1;i<=n;i++)//找出最大数
    {
        scanf("%d",&a[i]);
        maxx=max(maxx,a[i]);//找出最大数
    }
    for(int i=1;i<=n;i++)//输出最大数位置
    {
        if(a[i]==maxx) cout<<i<<endl;//比较找出最大数,然后输出
    }

2、 找找谁的身高超过全家的平均身高

题目描述

找找谁的身高超过全家的平均身高(整数)。全家n口人,输入输出数据如下: (平均身高保留一位小数)

输入格式

第一行有一个整数n( 1 < n < 100 )。第二行是n个整数,用空格隔开。

输出格式

第一行为全家的平均身高(保留一位小数);第二行有若干个数,为超过平均身高的人的身高厘米数。

样例

样例输入

7
175 160 172 158 178 162 142

样例输出

163.9
1:175 3:172 5:178

思路

先求出总身高,再求平均值,最后比较输出

程序思路

    for(int i=1;i<=n;i++)//找出总身高
    {
        scanf("%d",&a[i]);
        maxx+=a[i];
    }
    x=maxx/n;//求平均值
    printf("%.1lf\n",x);
    for(int i=1;i<=n;i++)
    {
        if(a[i]>=x){
        printf("%d:%d ",i,a[i]);//输出身高
        }
    }

3、支撑数

题目描述

在已知一组整数中,有这样一种数非常怪,它们不在第一个,也不在最后一个,而且刚好都比左边和右边相邻的数大,你能找到它们吗?​

输入格式

第一行为整数m,表示输入的整数个数。( 3<= m <=100 ) 第二行为m个整数。

输出格式
若干个支撑数,每行一个。

样例

样例输入

14
1 3 2 4 1 5 3 9 7 10 8 23 85 43

样例输出

3
4
5
9
10
85

思路

先读入两个数,再重复读入,读入一个数,判断前一个数

程序思路

    for(int i=3;i<=n;i++)
    {
        scanf("%d",&a[i]);
        if(a[i-1]>a[i]&&a[i-1]>a[i-2]) printf("%d\n",a[i-1]);//读入这个数,判断输出这个数前一个数
    }

4、字符过滤、排序

题目描述

输入一行文本,包含大、小字母、数字、空格等。要求过滤掉除字母外的其他字符,并将所有的大写字母转换成小写字母,然后将字母从小到大排序,输出结果。

输入格式

第1行:一行文本,长度小于1000

输出格式

第1行:处理后的一行文本

样例

样例输入

She sells sea shells

样例输出

aeeeehhllllssssss

学习内容

map:
map的原型是红黑树,map里面key和value的结构,会用迭代器。

思路

读入、判断、map判断输出

代码思路

map<char,int> m;//定义map m
map<char,int>::iterator iter;//定义迭代器
	while(cin>>a){
		if(a>='A'&&a<='Z') a+=32;
		if(a>='a'&&a<='z') m[a]++;
	}
	for(iter=m.begin();iter!=m.end();iter++) for(int i=1;i<=iter->second;i++) cout<<iter->first;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值