C++数组指针题(含答案)(共42页)_第1页
C++数组指针题(含答案)(共42页)_第2页
C++数组指针题(含答案)(共42页)_第3页
C++数组指针题(含答案)(共42页)_第4页
C++数组指针题(含答案)(共42页)_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数组指针01:逆序输出从键盘输入n个整数(n100),存放在一个一维数组中,逆序输出能被3整除的元素,并逆序输出数组下标为3的倍数的元素。输入格式:第一个整数为个数n,后续为n个整数输出格式:第一行能被3整除的元素,第二行为下标为3的倍数的元素,各个数值之间用空格分隔。输入:10 2 7 9 10 5 4 3 6 8 20输出:6 3 920 3 10 2#include using namespace std;const int MAX=100;int main()int aMAX,n,i;cinn;for(i=0;iai;for(i=n-1;i=0;i-)if(ai%3=0)coutai

2、;cout=0;i-)if(i%3=0)coutai ;coutendl;return 0;数组指针02:逆序存储从键盘输入n(n100)个整数,存放在一个一维数组a中,将它们逆序存放在另一个整型数组b中,并按b数组中下标从小到大的顺序输出下标为3的倍数的数组元素。输入格式:第一个数为数组中元素个数n,之后为n个元素。输出格式:下标为3的倍数的元素,各个数值之间用空格分隔。输入:10 2 7 9 10 5 4 3 6 8 20输出:20 3 10 2#include using namespace std;const int MAX=100;int main()int aMAX,bMAX,n,

3、i;cinn;for(i=0;iai;bn-1-i=ai;for(i=0;in;i+)if(i%3=0)coutbi ;coutendl;return 0;数组指针03:平均值从键盘输入任意个整数(以0结束,假设不超过100个),存放在一个一维数组中,计算这组数的平均值(实型)。输入:15 2 7 9 10 5 4 3 6 8 20 0输出:8.09091#include using namespace std;const int MAX=100;int main()int aMAX,n=0;double s=0;cinan;while(an)s+=an;n+;cinan;couts/nend

4、l;return 0;数组指针04:最大值从键盘输入任意个整数(以0结束,个数不超过100),存放在一个一维数组中,输出这组数的最大值。输入:10 2 7 9 11 5 4 3 6 8 20 0输出:20#includeusing namespace std;const int MAX=100;int main()int aMAX,i,n=0,max;cinan;while(an)n+;cinan;max=a0;for(i=1;imax)max=ai;coutmaxendl;return 0;数组指针05:最小值的位置从键盘输入任意个整数(以0结束,个数不超过100),存放在一个一维数组中,数

5、据从数组的0下标开始存储,输出这组数的最小值所在数组下标。输入:10 2 7 9 11 5 4 3 6 8 20 0输出:1#includeusing namespace std;const int MAX=100;int main()int aMAX,i,n=0,min=0;cinan;while(an)n+;cinan;for(i=1;in;i+)if(aiamin)min=i;coutminendl;return 0;数组指针06:排序从键盘输入任意个整数(以0结束,假设个数最大不超过100),将这些数存放在一个一维数组中,将它们从小到大排序后输出。输入:15 2 7 9 11 5 4

6、3 6 8 20 0输出:2 3 4 5 6 7 8 9 11 15 20#includeusing namespace std;const int MAX=100;int main()int aMAX,i,j,n=0,mini,temp;cinan;while(an)n+;cinan;for(i=0;in-1;i+)mini=i;for (j=i+1;jn;j+)if (ajamini) mini=j;if (mini!=i)temp=ai;ai=amini;amini=temp;for(i=0;in;i+)coutai ;coutendl;return 0;数组指针07:中位数从键盘输入n

7、(n100)个整数(以0结束),存放在一个一维数组中,输出其中位数。说明:中位数(Medians)统计学名词,是指将数据按从小到大顺序排列起来,形成一个数列,居于数列中间位置的那个数据。若数列元素个数为奇数,则中位数为最中间的元素;若数列元素个数为偶数,则中位数为最中间两个元素的平均数。例如:输入2 7 9 11 5 4 3 6 8 20 0则排序后结果为2 3 4 5 6 7 8 9 11 20,则中间两个数的平均值为6.5输入:2 7 9 11 5 4 3 6 8 20 0输出:6.5#includeusing namespace std;const int MAX=100;int mai

8、n()int aMAX,i,j,n=0,mini,temp;cinan;while(an)n+;cinan;for(i=0;in-1;i+)mini=i;for (j=i+1;jn;j+)if (ajamini) mini=j;if (mini!=i)temp=ai;ai=amini;amini=temp;if(n%2=1)coutan/2endl;elsecout(an/2+an/2-1)/2.0endl;coutendl;return 0;数组指针08:排序从键盘输入n(n100)个整数(以0结束),存放在一个一维数组中,将它们按奇数在前、偶数在后,同为奇数或偶数的按从小到大的顺序排序,并

9、输出排序后的结果。其中:排序过程用函数实现。输入:10 2 7 9 11 5 4 3 6 8 20 0输出:3 5 7 9 11 2 4 6 8 10 20#includeusing namespace std;void sort(int s,int n)int i,j,t;for(i=0;in-1;i+)for(j=i+1;jn;j+)if(si%2)sj)t=si;si=sj;sj=t;int main()int s100,n=0,i;cinsn;while(sn)n+;cinsn;sort(s,n);for(i=0;in;i+)coutsi ;return 0;数组指针09:斐波那契数列

10、输入一个正整数n(n100),将斐波那契数列的前n项保存到一维数组中,并输出斐波那契数列中对3取余为2的数。斐波那契数列为1 1 2 3 5 8 13 21 34 55输入:10输出:2 5 8#includeusing namespace std;const int MAX=100;int main()int aMAX,n,i;cinn;a0=a1=1;for(i=2;in;i+)ai=ai-1+ai-2;for(i=0;in;i+)if(ai%3=2)coutai ;coutendl;return 0;数组指针10:素数输入m、n(m,n100),输出m,n之间的素数。要求:使用塞选法求素

11、数。用塞选法求100以内的素数过程:在一张纸上写上1到100全部整数,然后逐个判断它们是否是素数,找出一个非素数,就把它挖掉,最后剩下的就是素数。具体做法如下: 先将1挖掉(因为1不是素数)。 用2去除它后面的各个数(2除外),把能被2整除的数挖掉,即把2的倍数挖掉。 用3去除它后面的各数(3除外),把3的倍数挖掉。 分别用4、5各数作为除数去除这些数以后的各数。这个过程一直进行到在除数后面的数已全被挖掉为止。最后剩下的都是素数。输入:5 19输出:5 7 11 13 17 19#includeusing namespace std;int main()int m,n,a101,i,j;for

12、(i=1;imn;for(i=2;i101;i+)for(j=i+1;j101;j+)if(aj%i=0)aj=0;for(i=m;i=n;i+)if(ai!=0)coutai ;return 0;数组指针11:数据插入从键盘输入n(n100)个整数(以0结束),存放在一个一维数组中,在输入一个插入位置pos(0=pos=n)及被插入的数值x,将x插入到下标为pos的位置。输出插入后数组中的所有元素。输入:10 2 7 9 11 5 4 3 6 8 20 08 100输出:10 2 7 9 11 5 4 3 100 6 8 20#includeusing namespace std;const

13、 int MAX=100;int main()int aMAX,i,pos,x,n=0;cinan;while(an)n+;cinan;cinposx;for(i=n-1;i=pos;i-)ai+1=ai;apos=x;n+;for(i=0;in;i+)coutai ;coutendl;数组指针12:有序插入从键盘输入n个整数(n100),存放在一个一维数组中,将它们从大到小排序,再从键盘输入一个整数x,将该数插入到该数组中,使得插入后依然为降序,输出插入后数组中的所有元素。其中将整数x插入到数组中使其依然有序用函数完成。输入格式:第一个为个数n,后续为n个整数,再输入一个整数x。输入:10

14、2 7 9 11 5 4 3 6 8 2012输出:20 12 11 9 8 7 6 5 4 3 2#includeusing namespace std;const int MAX=100;void sort(int a,int n)int i,j,t;for(i=0;in-1;i+)for(j=i+1;jn;j+)if(ai=0&ain;for(i=0;iai;sort(a,n);cinx;insert(a,n,x);for(i=0;in;i+)coutai ;coutendl;return 0;数组指针13:删除从键盘输入任意个整数(以0结束),假设整数个数为n(n100),则这些数据存

15、放在一个一维数组0n-1下标中,假设元素所在位置依次为0n-1,再输入一个删除位置pos(0=posn),将pos位置的元素从数组中删除,若pos位置不合法,则不删除元素。输出删除后数组中的所有元素。输入:10 2 7 9 11 5 4 3 6 8 20 08输出:10 2 7 9 11 5 4 3 8 20#include using namespace std;const int MAX=100;int main()int aMAX,n=0,pos,i;cinan;while(an)n+;cinan;cinpos;if(pos=0&posn)for(i=pos+1;in;i+)ai-1=a

16、i;n-;for(i=0;in;i+)coutai ;return 0;数组指针14:删除元素从键盘输入n(n100)个整数(以0结束),存放在一个一维数组从0n-1下标中,再输入要删除的元素x,将数组中所有的x全部删除。输出删除后数组中的所有元素。输入:10 2 7 9 5 11 5 4 3 6 5 8 20 05输出:10 2 7 9 11 4 3 6 8 20#includeusing namespace std;const int MAX=100;int main()int aMAX,n=0,i,j,x;cinan;while(an)n+;cinan;cinx;j=0;for(i=0;

17、in;i+)if(ai!=x)aj=ai;j+;n=j;for(i=0;in;i+)coutai ;coutendl;return 0;数组指针15:矩阵输入3行4列的矩阵存储在一个二维数组中,分别求出各行元素之和, 并存入一维数组row中, 再输出row的值。输入:1 2 3 45 6 7 89 10 11 12输出:10 26 42#includeusing namespace std;int main()int a34,row3=0,i,j;for(i=0;i3;i+)for(j=0;jaij;rowi+=aij;for(i=0;i3;i+)coutrowi ;return 0;数组指针

18、16:对角线元素之和输入一个5*5的矩阵,求出两条对角线元素值之和。输入:11 12 13 14 4015 16 17 18 4119 10 11 12 4231 32 33 34 4351 52 53 54 55输出:268#includeusing namespace std;int main()int a55,s=0,i,j;for(i=0;i5;i+)for(j=0;jaij;for(i=0;i5;i+)s+=aii+ai4-i;s=s-a22;coutsendl;return 0;数组指针17:鞍点输入一个5*5的矩阵,输出所有的鞍点。所谓鞍点是指一行中的最大值也是该列中的最小值。输

19、入:11 12 13 14 4055 56 57 58 4119 10 11 12 4231 32 33 34 4351 52 53 54 55输出:40#include using namespace std;int main()int a55,i,j,k,maxj,mini;for(i=0;i5;i+)for(j=0;jaij;for(i=0;i5;i+)maxj=0;for(j=1;jaimaxj)maxj=j;for(k=0;k5;k+)if(akmaxjaimaxj)break;if(k=5)coutaimaxjendl;return 0;数组指针18:回文字符串从键盘输入n(n10

20、0)个字符串(每个字符串长度不超过19),输出这组字符串中的回文字符串。其中判断一个字符串是否为回文字符串用函数实现。所谓回文串是指顺读和倒读都一样的一个字符串,如”level”、”abccba”都是回文串。输入格式:第一个为个数n,后续为n个字符串。输入:3 level abccba abbd输出:level abccba#include #includeusing namespace std;bool f(char s)int length,i;bool flag=false;length=strlen(s);for (i=0;in;for(i=1;ic;if(f(c)coutc ;coutendl;return 0;数组指针19:字符串转换在主函数中输入一个字符串

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论