C++数组指针题含答案资料讲解.docx
- 文档编号:2021118
- 上传时间:2022-10-26
- 格式:DOCX
- 页数:21
- 大小:18.16KB
C++数组指针题含答案资料讲解.docx
《C++数组指针题含答案资料讲解.docx》由会员分享,可在线阅读,更多相关《C++数组指针题含答案资料讲解.docx(21页珍藏版)》请在冰豆网上搜索。
C++数组指针题含答案资料讲解
C++数组指针题(含答案)
数组指针01:
逆序输出
从键盘输入n个整数(n<100),存放在一个一维数组中,逆序输出能被3整除的元素,并逆序输出数组下标为3的倍数的元素。
输入格式:
第一个整数为个数n,后续为n个整数
输出格式:
第一行能被3整除的元素,第二行为下标为3的倍数的元素,各个数值之间用空格分隔。
输入:
10279105436820
输出:
639
203102
#include
usingnamespacestd;
constintMAX=100;
intmain()
{
inta[MAX],n,i;
cin>>n;
for(i=0;i cin>>a[i]; for(i=n-1;i>=0;i--) if(a[i]%3==0) cout< cout< for(i=n-1;i>=0;i--) if(i%3==0) cout< cout< return0; } 数组指针02: 逆序存储 从键盘输入n(n<100)个整数,存放在一个一维数组a中,将它们逆序存放在另一个整型数组b中,并按b数组中下标从小到大的顺序输出下标为3的倍数的数组元素。 输入格式: 第一个数为数组中元素个数n,之后为n个元素。 输出格式: 下标为3的倍数的元素,各个数值之间用空格分隔。 输入: 10279105436820 输出: 203102 #include usingnamespacestd; constintMAX=100; intmain() { inta[MAX],b[MAX],n,i; cin>>n; for(i=0;i { cin>>a[i]; b[n-1-i]=a[i]; } for(i=0;i if(i%3==0) cout< cout< return0; } 数组指针03: 平均值 从键盘输入任意个整数(以0结束,假设不超过100个),存放在一个一维数组中,计算这组数的平均值(实型)。 输入: 152791054368200 输出: 8.09091 #include usingnamespacestd; constintMAX=100; intmain() { inta[MAX],n=0; doubles=0; cin>>a[n]; while(a[n]) { s+=a[n]; n++; cin>>a[n]; } cout< return0; } 数组指针04: 最大值 从键盘输入任意个整数(以0结束,个数不超过100),存放在一个一维数组中,输出这组数的最大值。 输入: 102791154368200 输出: 20 #include usingnamespacestd; constintMAX=100; intmain() { inta[MAX],i,n=0,max; cin>>a[n]; while(a[n]) { n++; cin>>a[n]; } max=a[0]; for(i=1;i { if(a[i]>max) max=a[i]; } cout< return0; } 数组指针05: 最小值的位置 从键盘输入任意个整数(以0结束,个数不超过100),存放在一个一维数组中,数据从数组的0下标开始存储,输出这组数的最小值所在数组下标。 输入: 102791154368200 输出: 1 #include usingnamespacestd; constintMAX=100; intmain() { inta[MAX],i,n=0,min=0; cin>>a[n]; while(a[n]) { n++; cin>>a[n]; } for(i=1;i { if(a[i] min=i; } cout< return0; } 数组指针06: 排序 从键盘输入任意个整数(以0结束,假设个数最大不超过100),将这些数存放在一个一维数组中,将它们从小到大排序后输出。 输入: 152791154368200 输出: 23456789111520 #include usingnamespacestd; constintMAX=100; intmain() { inta[MAX],i,j,n=0,mini,temp; cin>>a[n]; while(a[n]) { n++; cin>>a[n]; } for(i=0;i { mini=i; for(j=i+1;j if(a[j] if(mini! =i) { temp=a[i]; a[i]=a[mini]; a[mini]=temp; } } for(i=0;i { cout< } cout< return0; } 数组指针07: 中位数 从键盘输入n(n<100)个整数(以0结束),存放在一个一维数组中,输出其中位数。 说明: 中位数(Medians)统计学名词,是指将数据按从小到大顺序排列起来,形成一个数列,居于数列中间位置的那个数据。 若数列元素个数为奇数,则中位数为最中间的元素; 若数列元素个数为偶数,则中位数为最中间两个元素的平均数。 例如: 输入2791154368200则排序后结果为234567891120,则中间两个数的平均值为6.5 输入: 2791154368200 输出: 6.5 #include usingnamespacestd; constintMAX=100; intmain() { inta[MAX],i,j,n=0,mini,temp; cin>>a[n]; while(a[n]) { n++; cin>>a[n]; } for(i=0;i { mini=i; for(j=i+1;j if(a[j] if(mini! =i) { temp=a[i]; a[i]=a[mini]; a[mini]=temp; } } if(n%2==1) cout< else cout<<(a[n/2]+a[n/2-1])/2.0< cout< return0; } 数组指针08: 排序 从键盘输入n(n<100)个整数(以0结束),存放在一个一维数组中,将它们按奇数在前、偶数在后,同为奇数或偶数的按从小到大的顺序排序,并输出排序后的结果。 其中: 排序过程用函数实现。 输入: 102791154368200 输出: 35791124681020 #include usingnamespacestd; voidsort(ints[],intn) { inti,j,t; for(i=0;i for(j=i+1;j if(((s[i]%2)<(s[j]%2))||(((s[i]%2)==(s[j]%2))&&(s[i]>s[j]))) { t=s[i]; s[i]=s[j]; s[j]=t; } } intmain() { ints[100],n=0,i; cin>>s[n]; while(s[n]) { n++; cin>>s[n]; } sort(s,n); for(i=0;i { cout< } return0; } 数组指针09: 斐波那契数列 输入一个正整数n(n<100),将斐波那契数列的前n项保存到一维数组中,并输出斐波那契数列中对3取余为2的数。 斐波那契数列为11235813213455…… 输入: 10 输出: 258 #include usingnamespacestd; constintMAX=100; intmain() { inta[MAX],n,i; cin>>n; a[0]=a[1]=1; for(i=2;i a[i]=a[i-1]+a[i-2];
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 数组 指针 答案 资料 讲解