题目描述
一开始未知数组长度,根据要求创建不同类型的指针,并且使用指针创建相应长度的数组,然后再完成不同的要求
若要求创建整数数组,计算数组内所有数据的平均值
若要求创建字符数组,找出数组内的最大字母
若要求创建浮点数数组,找出数组的最小值
要求程序整个过程不能使用数组下标,从数组创建、输入到搜索、比较、计算,到输出都必须使用指针
提示:使用new关键字
输入
第一行输入t表示有t个测试实例
第二行先输入一个大写字母表示数组类型,I表示整数类型,C表示字符类型,F表示浮点数类型;然后输入n表示数组长度。
第三行输入n个数据
依次输入t个实例
输出
每个根据不同的数组类型输出相应的结果
样例输入
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
样例输出
E
55
1.9
提示
#include<bits/stdc++.h>
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];
for(int j=0;j<num;j++)
cin>>I[j];
cout<<average(I,num)<<endl;}
else if(typ=='C')
{
char *C=new char[num];
for(int j=0;j<num;j++)
cin>>C[j];
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-1);
cout<<F[0]<<endl;}
}
return 0;
}
使用指针操作动态数组实现特定功能
该程序示例展示了如何根据输入的类型动态创建整数、字符和浮点数数组,然后利用指针进行操作。对于整数数组,计算平均值;对于字符数组,找到最大字母;对于浮点数数组,找出最小值。整个过程不使用数组下标,仅通过指针完成。程序首先读取测试实例数量,然后逐个处理每个实例,最后输出结果。
3286

被折叠的 条评论
为什么被折叠?



