实验3-数组与指针

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验3-数组与指针

实验3 数组与指针

程序填空

1.

本题分值:10

题目描述:

随机产生10个整数存放到数组中(下标0的位置不放,从下标1开始),输入待查找的整数x,查找x是否存在于这10个数中。若存在,则输出x(最初)出现在这批数中的位置序号(例如1或2或……);若不存在x,则输出“不存在”。以下是完成此项工作的程序,请在计算机上调试程序以补足其中的空格。

代码:

#include

using namespace std;

void main( )

{

int a[101],k,x;

for(k=1;k<=10;k++) //从数组中下标1的元素开始存放数据

{

a[k]=rand( )%101; //产生0~100之间的的整数

cout<

}

cout<

cin>>x; //输入待查找数x

for(k=1;k<=10;k++)

if(a[k]==x) __(1)__; //若发现了x,则不用继续循环、继续查找

if(k__(2)__)

cout<<"x存在,它的位置序号是:"<<__(3)__<

else

cout<<"不存在!"<

}

2.

本题分值:10

题目描述:

编写一个程序,可以根据用户输入的不同值,建立不同长度的整型数组。给这个数组赋值,

并求其所有元素之和。请填空使程序完整,并在计算机上调试程序,以测试填入的部分是否正确。

代码:

#include

using namespace std;

void main()

{

int n,i,sum=0,*p;

cin>>n; //输入一个整数n

p=new int[__(1)__]; //创建一个含有n 个整数的整数数组

for(i=0;i

cin>>__(2)__;

for(i=0;i

sum=sum+*(p+i);

cout<

delete __(3)__; //删除动态数组p

}

3.

本题分值:10

题目描述:

输入5个整数依次存放到数组a中(从下标1开始存放),再输入待插入的整数x以及它要插入到数组中的位置下标k(1≤k≤5),要求插入后不影响a中原来下标为k到5的所有元素的先后顺序。请按照数组中的元素顺序,输出插入前的5个整数和插入后的这6个整数。提示:插入时,应该先从后往前地(从下标5到下标k)将每个数组元素都后移1个位置,最后再将x存放到下标k的元素中。请在计算机上调试以下程序以补足其中的空格。

代码:

#include

#include

using namespace std;

void main( )

{

int a[101],k,j,x;

//分别输入5个整数

for(j=1;j<=5;j++) cin>>a[j];

cin>>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个数

for(j=1;j__(3)__;j++) cout<

cout<

}

4.

本题分值:10

题目描述:

输入字符串s及待删除的字符ch,将s中所有与ch相同的字符都删除掉,输出删除后得到的新串。以下程序是直接在数组s中进行删除,得到的新串仍然在数组s中。请在计算机上调试该程序以补足其中的空格。

代码:

#include

#include

using namespace std;

void main( )

{

char s[81], ch;

int k,j;

gets(s); //输入一个字符串后按回车键,该字符串存入s中

cin>>ch; //输入待删除的字符后按回车键

//k代表s中每个字符的下标

//j代表未删除(保留)字符应放在s中新的位置下标

for(k=j=0;s[k]!='\0';k++)

if(s[k]!=ch)

{

s[j]= __(1)__;

__(2)__;

}

__(3)__='\0'; //得到的新串末尾要放结束符

cout<

}

5.

本题分值:10

题目描述:

输入一行字符串,分别统计其中英文字母、空格、数字和其他字符的个数,并输出。请阅读以下不完整的程序,并在计算机上调试该程序以补足其中的空格,实现其功能。

代码:

#include

#include

using namespace std;

void main()

{

int a,b,c,d;//a,b,c,d分别用来记录英文字母、空格、数字和其他字符的个数

char s[101],*p;

p=s; //指针p指向字符串s的第一个字符cin.getline(s,101); //输入一个含有空格的字符串存入s中

a=b=c=d=__(1)__;

while(__(2)__) //当p指向的字符不是字

相关文档
最新文档