C++数组指针题Word格式.docx
- 文档编号:16242719
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:21
- 大小:18.07KB
C++数组指针题Word格式.docx
《C++数组指针题Word格式.docx》由会员分享,可在线阅读,更多相关《C++数组指针题Word格式.docx(21页珍藏版)》请在冰豆网上搜索。
a[i]<
"
"
;
endl;
if(i%3==0)
return0;
}
数组指针02:
逆序存储
从键盘输入n(n<
100)个整数,存放在一个一维数组a中,将它们逆序存放在另一个整型数组b中,并按b数组中下标从小到大的顺序输出下标为3的倍数的数组元素。
第一个数为数组中元素个数n,之后为n个元素。
下标为3的倍数的元素,各个数值之间用空格分隔。
inta[MAX],b[MAX],n,i;
b[n-1-i]=a[i];
b[i]<
数组指针03:
平均值
从键盘输入任意个整数(以0结束,假设不超过100个),存放在一个一维数组中,计算这组数的平均值(实型)。
152791054368200
inta[MAX],n=0;
doubles=0;
a[n];
while(a[n])
s+=a[n];
n++;
s/n<
数组指针04:
最大值
从键盘输入任意个整数(以0结束,个数不超过100),存放在一个一维数组中,输出这组数的最大值。
102791154368200
20
#include<
inta[MAX],i,n=0,max;
max=a[0];
for(i=1;
if(a[i]>
max)
max=a[i];
max<
数组指针05:
最小值的位置
从键盘输入任意个整数(以0结束,个数不超过100),存放在一个一维数组中,数据从数组的0下标开始存储,输出这组数的最小值所在数组下标。
1
inta[MAX],i,n=0,min=0;
if(a[i]<
a[min])
min=i;
min<
数组指针06:
排序
从键盘输入任意个整数(以0结束,假设个数最大不超过100),将这些数存放在一个一维数组中,将它们从小到大排序后输出。
152791154368200
23456789111520
inta[MAX],i,j,n=0,mini,temp;
n-1;
mini=i;
for(j=i+1;
j<
j++)
if(a[j]<
a[mini])mini=j;
if(mini!
=i)
temp=a[i];
a[i]=a[mini];
a[mini]=temp;
数组指针07:
中位数
100)个整数(以0结束),存放在一个一维数组中,输出其中位数。
说明:
中位数(Medians)统计学名词,是指将数据按从小到大顺序排列起来,形成一个数列,居于数列中间位置的那个数据。
若数列元素个数为奇数,则中位数为最中间的元素;
若数列元素个数为偶数,则中位数为最中间两个元素的平均数。
例如:
输入2791154368200则排序后结果为234567891120,则中间两个数的平均值为
2791154368200
if(n%2==1)
a[n/2]<
else
(a[n/2]+a[n/2-1])/<
数组指针08:
100)个整数(以0结束),存放在一个一维数组中,将它们按奇数在前、偶数在后,同为奇数或偶数的按从小到大的顺序排序,并输出排序后的结果。
其中:
排序过程用函数实现。
35791124681020
voidsort(ints[],intn)
inti,j,t;
for(j=i+1;
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;
ints[100],n=0,i;
s[n];
while(s[n])
sort(s,n);
s[i]<
'
'
数组指针09:
斐波那契数列
输入一个正整数n(n<
100),将斐波那契数列的前n项保存到一维数组中,并输出斐波那契数列中对3取余为2的数。
斐波那契数列为11235813213455……
10
258
a[0]=a[1]=1;
for(i=2;
a[i]=a[i-1]+a[i-2];
if(a[i]%3==2)
数组指针10:
素数
输入m、n(m,n<
100),输出[m,n]之间的素数。
要求:
使用塞选法求素数。
用塞选法求100以内的素数过程:
在一张纸上写上1到100全部整数,然后逐个判断它们是否是素数,
找出一个非素数,就把它挖掉,最后剩下的就是素数。
具体做法如下:
1>
先将1挖掉(因为1不是素数)。
2>
用2去除它后面的各个数(2除外),把能被2整除的数挖掉,即把2的倍数挖掉。
3>
用3去除它后面的各数(3除外),把3的倍数挖掉。
4>
分别用4、5…各数作为除数去除这些数以后的各数。
这个过程一直进行到在除数后面的数已全被挖掉为止。
最后剩下的都是素数。
519
5711131719
intm,n,a[101],i,j;
101;
a[i]=i;
m>
if(a[j]%i==0)
a[j]=0;
for(i=m;
=n;
if(a[i]!
=0)
数组指针11:
数据插入
100)个整数(以0结束),存放在一个一维数组中,在输入一个插入位置pos(0<
=pos<
=n)及被插入的数值x,将x插入到下标为pos的位置。
输出插入后数组中的所有元素。
8100
10279115431006820
inta[MAX],i,pos,x,n=0;
pos>
x;
=pos;
a[i+1]=a[i];
a[pos]=x;
数组指针12:
有序插入
100),存放在一个一维数组中,将它们从大到小排序,再从键盘输入一个整数x,将该数插入到该数组中,使得插入后依然为降序,输出插入后数组中的所有元素。
其中将整数x插入到数组中使其依然有序用函数完成。
第一个为个数n,后续为n个整数,再输入一个整数x。
10279115436820
12
20121198765432
voidsort(inta[],intn)
a[j])
t=a[i];
a[i]=a[j];
a[j]=t;
voidinsert(inta[],int&
n,intx)
inti;
=0&
a[i+1]=x;
inta[MAX],i,x,n;
sort(a,n);
insert(a,n,x);
数组指针13:
删除
从键盘输入任意个整数(以0结束),假设整数个数为n(n<
100),则这些数据存放在一个一维数组0~n-1下标中,假设元素所在位置依次为0~n-1,再输入一个删除位置pos(0<
n),将pos位置的元素从数组中删除,若pos位置不合法,则不删除元素。
输出删除后数组中的所有元素。
8
1027911543820
inta[MAX],n=0,pos,i;
pos;
if(pos>
pos<
n)
for(i=pos+1;
a[i-1]=a[i];
n--;
数组指针14:
删除元素
100)个整数(以0结束),存放在一个一维数组从0~n-1下标中,再输入要删除的元素x,将数组中所有的x全部删除。
10279511543658200
5
1027911436820
inta[MAX],n=0,i,j,x;
j=0;
=x)
a[j]=a[i];
j++;
n=j;
数组指针15:
矩阵
输入3行4列的矩阵存储在一个二维数组中,分别求出各行元素之和,并存入一维数组row中,再输出row的值。
1234
5678
9101112
102642
inta[3][4],row[3]={0},i,j;
3;
for(j=0;
4;
a[i][j];
row[i]+=a[i][j];
row[i]<
数组指针16:
对角线元素之和
输入一个5*5的矩阵,求出两条对角线元素值之和。
1112131440
1516171841
1910111242
3132333443
5152535455
268
inta[5][5],s=0,i,j;
5;
s+=a[i][i]+a[i][4-i];
s=s-a[2][2];
s<
数组指针17:
鞍点
输入一个5*5的矩阵,输出所有的鞍点。
所谓鞍点是指一行中的最大值也是该列中的最小值。
5556575841
40
inta[5][5],i,j,k,maxj,mini;
maxj=0;
for(j=1;
if(a[i][j]>
a[i][maxj])
maxj=j;
for(k=0;
k<
k++)
if(a[k][maxj]<
break;
if(k==5)
a[i][maxj]<
数组指针18:
回文字符串
100)个字符串(每个字符串长度不超过19),输出这组字符串中的回文字符串。
其中判断一个字符串是否为回文字符串用函数实现。
所谓回文串是指顺读和倒读都一样的一个字符串,如”level”、”abccba”都是回文串。
第一个为个数n,后续为n个字符串。
3levelabccbaabbd
levelabccba
cstring>
boolf(chars[])
intlength,i;
boolflag=false;
length=strlen(s);
for(i=0;
length/2;
if(s[i]!
=s[length-i-1])
if(i==length/2)
flag=true;
returnflag;
intn,i;
charc[20];
c;
if(f(c))
c<
数组指针19:
字符串转换
在主函数中输入一个字符串(长度不超过99),存储在一个字符数组中,将该字符串中的大写字母变成相应的小写字母,小写字母变成相应的大写字母,其他字符不变,输出转换后的字符串。
其中将字符串转换用一个函数完成。
ILoveLiaoNing23
ilOVElIAOnING23
voidMyconvert(charstr[])
str[i];
if(str[i]>
='
a'
str[i]<
z'
)
str[i]-=32;
A'
Z'
str[i]+=32;
chars1[MAX];
s1;
Myconvert(s1);
s1<
数组指针20:
字符串长度
输入n个(n<
100)字符串,输出所有字符串长度的平均值。
其中求一个字符串的长度用自定义函数实现。
输入格式,第一个整数n为字符串个数,后续为n个字符串。
3worldhelloC++
intlength(char*s)
inti=0;
while(s[i])i++;
returni;
intmain()
chars[MAX];
doublesum=0;
s;
sum+=length(s);
sum/n<
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 数组 指针