题目描述
一开始未知数组长度,根据要求创建不同类型的指针,并且使用指针创建相应长度的数组,然后再完成不同的要求
若要求创建整数数组,计算数组内所有数据的平均值
若要求创建字符数组,找出数组内的最大字母
若要求创建浮点数数组,找出数组的最小值
要求程序整个过程不能使用数组下标,从数组创建、输入到搜索、比较、计算,到输出都必须使用指针
提示:使用new关键字
输入
第一行输入t表示有t个测试实例
第二行先输入一个大写字母表示数组类型,I表示整数类型,C表示字符类型,F表示浮点数类型;然后输入n表示数组长度。
第三行输入n个数据
依次输入t个实例
输出
每个根据不同的数组类型输出相应的结果
样例查看模式
正常显示查看格式
输入样例1
3
C 5
A D E B C
I 6
22 55 77 33 88 55
F 4
3.1 1.9 6.5 4.8
输出样例1
E
55
1.9
#include
#include
using namespace std;double average(int* x, int len)
{double sum = 0;for (int i = 0; i < len; i++)sum += x[i];return sum / len;
}int main() {int T;cin >> T;char typ;int num;for (int i = 1; i <= T; i++){cin >> typ >> num;//若要求创建整数数组,计算数组内所有数据的平均值if (typ == 'I'){int* I = new int[num];创建一个有 num 个元素的动态整型数组,没有赋值,元素为随机数for (int j = 0; j < num; j++)cin >> I[j];//指针数组//把数组I的首地址传过去cout << average(I, num) << endl;}//若要求创建字符数组,找出数组内的最大字母else if (typ == 'C'){char* C = new char[num];for (int j = 0; j < num; j++)cin >> C[j];//在C++中使用sort()函数需要使用#include头文件。// algorithm意为"算法",是C++的标准模版库(STL)中最重要的头文件之一,////sort()函数可以对给定区间所有元素进行排序。它有三个参数sort(begin, end, cmp)sort(C, C + num);//默认从小到大cout << C[num - 1] << endl;}//若要求创建浮点数数组,找出数组的最小值else {float* F = new float[num];for (int j = 0; j < num; j++)cin >> F[j];sort(F, F + num );cout << F[0] << endl;}}return 0;
}
在C++中使用sort()函数需要使用#include
sort()基本使用方法
sort()函数可以对给定区间所有元素进行排序。它有三个参数sort(begin, end, cmp),其中begin为指向待sort()的数组的第一个元素的指针,end为指向待sort()的数组的最后一个元素的下一个位置的指针,cmp参数为排序准则,cmp参数可以不写,如果不写的话,默认从小到大进行排序。如果我们想从大到小排序可以将cmp参数写为greater
————————————————
版权声明:本文为CSDN博主「晴空๓」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_41575507/article/details/105936466
数组I首地址传入
函数就可以通过指针访问 数组每个值