实验3数组与指针Word下载.docx
《实验3数组与指针Word下载.docx》由会员分享,可在线阅读,更多相关《实验3数组与指针Word下载.docx(8页珍藏版)》请在冰豆网上搜索。
a[k]=rand()%101;
//产生0~100之间的的整数
cout<
<
a[k]<
"
"
;
}
cout<
endl;
cin>
>
x;
//输入待查找数x
k++)
if(a[k]==x)__
(1)__;
//若发现了x,则不用继续循环、继续查找
if(k__
(2)__)
x存在,它的位置序号是:
__(3)__<
else
不存在!
}
2.
编写一个程序,可以根据用户输入的不同值,建立不同长度的整型数组。
给这个数组赋值,并求其所有元素之和。
请填空使程序完整,并在计算机上调试程序,以测试填入的部分是否正确。
#include<
voidmain()
intn,i,sum=0,*p;
n;
//输入一个整数n
p=newint[__
(1)__];
//创建一个含有n个整数的整数数组
for(i=0;
i<
i++)//输入n个整数存于动态数组p中
__
(2)__;
i++)//求动态数组中的所有整数之和
sum=sum+*(p+i);
sum<
//显示结果
delete__(3)__;
//删除动态数组p
3.
输入5个整数依次存放到数组a中(从下标1开始存放),再输入待插入的整数x以及它要插入到数组中的位置下标k(1≤k≤5),要求插入后不影响a中原来下标为k到5的所有元素的先后顺序。
请按照数组中的元素顺序,输出插入前的5个整数和插入后的这6个整数。
提示:
插入时,应该先从后往前地(从下标5到下标k)将每个数组元素都后移1个位置,最后再将x存放到下标k的元素中。
请在计算机上调试以下程序以补足其中的空格。
cstdlib>
inta[101],k,j,x;
//分别输入5个整数
for(j=1;
j<
=5;
j++)cin>
a[j];
x>
k;
//输入待插入的数x和插入的位置下标k
if(k<
1||k>
5)exit(0);
for(j=5;
j>
=k;
__
(1)__)//从下标5到下标k,将每个数组元素都后移1个位置
a[j+1]=a[j];
__
(2)__=x;
//输出将x插入到下标k后的这6个数
j__(3)__;
j++)cout<
a[j]<
4.
输入字符串s及待删除的字符ch,将s中所有与ch相同的字符都删除掉,输出删除后得到的新串。
以下程序是直接在数组s中进行删除,得到的新串仍然在数组s中。
请在计算机上调试该程序以补足其中的空格。
string>
chars[81],ch;
intk,j;
gets(s);
//输入一个字符串后按回车键,该字符串存入s中
ch;
//输入待删除的字符后按回车键
//k代表s中每个字符的下标
//j代表未删除(保留)字符应放在s中新的位置下标
for(k=j=0;
s[k]!
='
\0'
k++)
if(s[k]!
=ch)
{
s[j]=__
(1)__;
__
(2)__;
}
__(3)__='
//得到的新串末尾要放结束符
s<
5.
输入一行字符串,分别统计其中英文字母、空格、数字和其他字符的个数,并输出。
请阅读以下不完整的程序,并在计算机上调试该程序以补足其中的空格,实现其功能。
inta,b,c,d;
//a,b,c,d分别用来记录英文字母、空格、数字和其他字符的个数
chars[101],*p;
p=s;
//指针p指向字符串s的第一个字符
cin.getline(s,101);
//输入一个含有空格的字符串存入s中
a=b=c=d=__
(1)__;
while(__
(2)__)//当p指向的字符不是字符串结束标记时循环
if(*p>
A'
&
*p<
Z'
||*p>
a'
z'
)//如果p指向的是一个英文字母字符
a++;
if(*p=='
'
)//如果p指向的是一个数字字符
b++;
if(__(3)__)//如果p指向的是一个数字字符
c++;
__(4)__;
p++;
//使指针p指向字符串中的下一个字符
a<
'
b<
c<
d<
//输出英文字母、空格、数字和其他字符的个数
程序设计
6.
题目标题:
陶陶摘苹果。
时间限制:
1000MS
内存限制:
32768KB
陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。
苹果成熟的时候,陶陶就会跑去摘苹果。
陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。
现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。
假设她碰到苹果,苹果就会掉下来。
输入描述:
输入包括两行数据。
第一行包含10个100到200之间(包括100和200)的整数(以厘米为单位)分别表示10个苹果到地面的高度,两个相邻的整数之间用一个空格隔开。
第二行只包括一个100到120之间(包含100和120)的整数(以厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。
输出描述:
输出只包含一个整数,表示陶陶能够摘到的苹果的数目。
样例输入:
100200150140129134167198200111
110
样例输出:
5
7.
歌唱比赛选手成绩计算。
歌唱大赛选手成绩这样计算:
去掉一个最高分,去掉一个最低分,将剩下分数的平均值作为选手的最后得分。
现假设共有6位评委,都是按百分制打分,请编程计算选手的成绩。
提示:
将6个评分存入score数组中。
关键是求出其中的最大值max(即最高分)和最小值min(即最低分)。
依次输入6位评委的打分score1~score6,每个scorei都是double型,且满足0≤scorei≤100。
输出一行,表示该选手的最后得分。
输出时不需要对精度特殊控制,用cout<
ANSWER即可。
78.892.387.694.885.894.8
90.125
8.
神秘的字符加、解密技术。
插入式加密法是信息加密中一种简单的加密技术,其方法是在明文字符中插入一些无意义的字母来形成密文单词。
例如,对于明文:
China,在间隔为1的位置依次插入一个字母而形成密文:
Coheifnia。
因此,其解密过程与加密过程相反,即从密文中首字符开始取,每间隔1个位置依次取出字符,就得到原始的明文。
请编程实现插入式加密法所对应的解密算法,将密文翻译成明文。
定义两个字符数组ci和pl,分别存放密文字符串和明文字符串。
解密过程即在字符串ci中,从下标0的字符(首字符)开始,将偶数下标的字符(’\0’之前的)依次取出赋值到字符数组pl中,最后即得到明文字符串。
输入一行:
密文字符串。
输出有一行:
翻译后的明文字符串。
Coheifnia
China
9.
字符串大小写转换。
输入一个长度小于20的不含空格的字符串,然后对该字符串做如下处理:
对字符串中的每个字符,如果是大写字母,将其转化为小写;
如果是小写字母,将其转化为大写,最后将处理后的字符串输出。
要求用指针对字符串进行处理。
输入一行:
长度小于20的不含空格的字符串。
输出一行:
处理以后的字符串。
ILoveC++!
ilOVEc++!
10.
打印极值点下标。
3000MS
在一个整数数组上,对于下标为i的整数,如果它大于所有它相邻的整数,或者小于所有它相邻的整数,则称为该整数为一个极值点,极值点的下标就是i。
注意:
数组中的第一个数(下标为0)只要和第二个数(下标为1)不相等,第一个数(下标为0)就是极值点;
同理,数组中的最后一个数只要和倒数第二个数不相等,最后一个数也是极值点。
有2行输入:
第一行是此数组的元素个数k(4<
80),第二行是k个整数,每两个整数之间用空格分隔。
输出为1行:
依次对应于数组的所有极值点下标值,下标值之间用空格分隔。
15
12121221122222222222217636312342567673
23101214