实验3-数组与指针.doc
文本预览下载声明
实验3 数组与指针
程序填空
1.
本题分值:10
题目描述:
随机产生10个整数存放到数组中(下标0的位置不放,从下标1开始),输入待查找的整数x,查找x是否存在于这10个数中。若存在,则输出x(最初)出现在这批数中的位置序号(例如1或2或……);若不存在x,则输出“不存在”。以下是完成此项工作的程序,请在计算机上调试程序以补足其中的空格。
代码:
#include iostream
using namespace std;
void main( )
{
int a[101],k,x;
for(k=1;k=10;k++) //从数组中下标1的元素开始存放数据
{
a[k]=rand( )%101; //产生0~100之间的的整数
couta[k] ;
}
coutendl;
cinx; //输入待查找数x
for(k=1;k=10;k++)
if(a[k]==x) __(1)__; //若发现了x,则不用继续循环、继续查找
if(k__(2)__)
coutx存在,它的位置序号是:__(3)__endl;
else
cout不存在!endl;
}
2.
本题分值:10
题目描述:
编写一个程序,可以根据用户输入的不同值,建立不同长度的整型数组。给这个数组赋值,并求其所有元素之和。请填空使程序完整,并在计算机上调试程序,以测试填入的部分是否正确。
代码:
#includeiostream
using namespace std;
void main()
{
int n,i,sum=0,*p;
cinn; //输入一个整数n
p=new int[__(1)__]; //创建一个含有n个整数的整数数组
for(i=0;in;i++) //输入n个整数存于动态数组p中
cin__(2)__;
for(i=0;in;i++) //求动态数组中的所有整数之和
sum=sum+*(p+i);
coutsumendl; //显示结果
delete __(3)__; //删除动态数组p
}
3.
本题分值:10
题目描述:
输入5个整数依次存放到数组a中(从下标1开始存放),再输入待插入的整数x以及它要插入到数组中的位置下标k(1≤k≤5),要求插入后不影响a中原来下标为k到5的所有元素的先后顺序。请按照数组中的元素顺序,输出插入前的5个整数和插入后的这6个整数。提示:插入时,应该先从后往前地(从下标5到下标k)将每个数组元素都后移1个位置,最后再将x存放到下标k的元素中。请在计算机上调试以下程序以补足其中的空格。
代码:
#include cstdlib
#include iostream
using namespace std;
void main( )
{
int a[101],k,j,x;
//分别输入5个整数
for(j=1;j=5;j++) cina[j];
cinxk; //输入待插入的数x和插入的位置下标k
if(k1 || k5) exit(0);
for(j=5;j=k; __(1)__) //从下标5到下标k,将每个数组元素都后移1个位置
a[j+1]=a[j];
__(2)__=x;
//输出将x插入到下标k后的这6个数
for(j=1;j__(3)__;j++) couta[j] ;
coutendl;
}
4.
本题分值:10
题目描述:
输入字符串s及待删除的字符ch,将s中所有与ch相同的字符都删除掉,输出删除后得到的新串。以下程序是直接在数组s中进行删除,得到的新串仍然在数组s中。请在计算机上调试该程序以补足其中的空格。
代码:
#include iostream
#include string
using namespace std;
void main( )
{
char s[81], ch;
int k,j;
gets(s); //输入一个字符串后按回车键,该字符串存入s中
cinch; //输入待删除的字符后按回车键
//k代表s中每个字符的下标
//j代表未删除(保留)字符应放在s中新的位置下标
for(k=j=0;s[k]!=\0;k++)
if(s[k]!=ch)
{
s[j]= __(1)__;
__(2)__;
}
__(3)__=\0; //得到的新串末尾要放结束符
coutsendl;
}
5.
本题分值:10
题目描述:
输入一行字符串,分别统计其中英文字母、空格、数字和其他字符的个数,并输出。请阅读以下不完整的程序,并在
显示全部