(a)87 (b)78 (c)86 (d)68 65 65 75 57 二、填空题
1. m?n数组包含__________行、__________列和__________个元素。
2. 定义数组int a[10];,若要给该数组的第三个元素赋值100,其语句为__________。 3. 已知数组a中的元素个数为4,下列语句的作用是将下标为i的元素移动到下标为i-1
的单元,其中1≤i<4。a中原有数据为1,2,3,4,移动后a中元素结果为2,3,4,4。请将下列程序补充完整。 #include void main() { int a[4]={1,2,3,4}; for(int i=0;______①______;i++) a[i]=______②______; }
4. 程序填空
运行下列程序后当str是对称的时,输出“是回文”,否则输出“不是回文”,请将程序补充完整。
#include void main() {
char str[20];
cin.get(str,20);//输入字符串 int i=0, j=0;
while (str[j])_______①___________; for(j--; i cout<<\不是回文\
}
5. 运行下列程序的结果为___________________。
#include #include void main() { int array1[3][3]={1,2,3,4,5,6,7,8,9},array2[3][3],i,j; for(i=0;i<3;i++) for(j=0;j<3;j++) array2[j][i]=array1[i][j]; for(i=0;i<3;i++) { for(j=0;j<3;j++) cout<6. 运行下列程序的结果为____________________。
#include void main() { int num[6],i,j; cout<<\请输入1到50的六个正整数:\for(i=0;i<6;i++) cin>>num[i]; for(i=0;i<6;i++) { for(j=1;j<=num[i];j++) cout<<\ cout<输入为:2 4 1 6 3 1 三、编程题
1. 编写一个程序实现矩阵的乘法运算。
2. 输入一个4×4矩阵各元素的值,求解该矩阵中的马鞍点(即该点的值在它所在的行中
最大,在它所在的列中最小)。
3. 写统计输入的正文中有多少单词的程序,这里的单词指的是用空白符分隔开的字符串。 4. 编写程序实现一个简单的加密器,实现英文字符串的加密。加密规则如下:将字符替换
成它后面的第三个字符。如”abc”换成”def”。
5. 编写一程序,将字符数组s2中的全部字符拷贝到字符数组s1中。不用strcpy函数。拷
贝时,’\\0’也要拷贝过去。’\\0’后面的字符不拷贝。
6. 有17个人围成一个圈(编号0-16),从第0号的人开始从1报数,凡报到3的倍数的人
离开圈子,然后再继续数下去。直到最后只剩下一个人为止。问此人原来的位置是多少号?
7. 给定一个升序数组,该数组的元素值为1,3,5,7,9,11,13,任意输入一个数判断
该数在数组中是否存在。若存在,给出它在数组中的位置,否则显示该数不存在。 8. 打印输出杨辉三角形(共输出10行)。
【参考答案】 一、 选择题
1.b 2.a 3.a 4.d 5.c 6.
二、填空题
1.m n m×n 2.a[2]=100;
3.①i<3 ②a[i+1] 4.①j++ ②i==j 5.
1 4 7 2 5 8 3 6 9 6. ** **** *
****** *** *
三、编程题 1.
#include #include void main() { const int A1=2,A2=3,A3=2; int i,j,k; double array1[A1][A2]={{1.0,2.0,3.0},{4.0,5.0,6.0}}, array2[A2][A3]={{1.0,1.0},{1.0,1.0},{1.0,1.0}}, array3[A1][A3]={0,0,0,0}; for(i=0;i#include void main() { int array[4][4],i,j,k,max,col,flag=0; cout<<\请输入4行4列矩阵:\ for(i=0;i<4;i++) for(j=0;j<4;j++) cin>>array[i][j];
for(i=0;i<4;i++) { max=array[i][0];col=0; for(j=1;j<4;j++) { if(array[i][j]>max) { max=array[i][j]; col=j; } } for(k=0;k<4;k++) { if(array[k][col]<=max&&k!=i) break; } if(k==4) { cout<<\马鞍点在\行\列:\ flag=1; } } if(!flag) cout<<\这个矩阵中没有马鞍点!\} 3.
#include void main() { const int MAX=100; char str[MAX]; int i,num=0; cin.get(str,100);//输入字符串,以回车结束 for(i=0;i#include void main() { const LENGTH = 100; char str[LENGTH]; cout<<\请输入字符串:\ cin>>str; for(int i=0; i cout<<\加密后的字符串为:\} 5.
#include void main() { int i,j,len1=0,len2=0; char s1[20]=\ for(i=0;i<20;i++) if(s1[i]!='\\0') len1++; else break; for(i=0;i<10;i++) if(s2[i]!='\\0') len2++; else break; if((len1+len2)>19) { cout<<\存储空间不足!\ return; } i=len1; j=0; while(i<20&&s2[j]!='\\0') s1[i++]=s2[j++]; s1[i]='\\0'; cout<#include void main() { int array[17],n=17,i,j=1; for(i=0;i<17;i++) array[i]=1; i=1; while(n!=1) { if(array[(j-1)]==0) { j++;continue; } if(i%3==0) { array[(j-1)]=0; n--; } j++;i++; } for(i=0;i<17;i++) {