}
for(k=0; k<4;k++) printf(\}
[B]
A. 4 2 1 1 B. 0 0 0 8 C. 4 6 7 8 D. 8 8 8 8
8.设已定义char a[10]和 int j,则下面输入函数调用中错误的是_________。 [B]
A. scanf(\
B. for(j=0;j<9;j++) scanf(\C. gets(a);
D. for(j=0;j<9;j++) scanf(\9.下列程序的输出结果是________。 main()
{char ch[7]={\int j,s=0;
for(j=0;ch[j]>='0'&&ch[j]<='9';j+=2) s=10*s+ch[j]-'0'; printf(\}
[C]
A. 12ba56 B. 66521 C. 6 D. 62
10.设已定义char x[8]和int j,为了给该数组赋值,下面语句中正确的是_______。 [D]
A. x[8]=\for(j=0;j<7;j++) x[j]=getchar();
2分2分2分2分
二、程序填空题 (10分)
1. 功能:产生并输出杨辉三角的前七行。 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 #include
int a[7][7]; int i,j,k;
for (i=0;__(1)__;i++) {
a[i][0]=1; a[i][i]=1; }
for (i=2;i<7;i++)
5分
for (j=1;j
a[i][j]= a[i-1][j-1]+__(2)__; for (i=0;i<7;i++) {
for (j=0;i+1>j;j++)
printf(\ printf(\ }
}
(1)答案 2分
i<7
(2)答案 2分
a[i-1][j]
(3)答案 1分
a[i][j]
2. 功能:输入一行电报文字,要求将电报内的各字母转换为其对应的下一个字母,即A转换为B,B转换为C,C转换为D,依次类推,其中Z转换为A。 #include
char str[101]; int i,j;
printf(\ __(1)__;
for(i=0;__(2)__;i++) { if(str[i]=='z') str[i]='a'; else if(str[i]=='Z') str[i]='A'; else __(3)__; }
printf(\ __(4)__; return 0;
}
5分
(1)答案 1分
gets(str)
(2)答案 2分
str[i]!='\\0'
(3)答案 1分
str[i]+=1
(4)答案 1分
puts(str)
三、程序设计题 (20分)
1. 矩阵乘法 题目描述
给定2个矩阵A和B,请计算A * B.
(题目测试数据会确保A*B有意义) 输入描述
输入数据首先给出4个正整数A1,A2,B1,B2(1<=A1,A2,B1,B2<=10),然后是A1行A2列的整数,再然后是B1行B2列的整数,分别表示矩阵A和B. 输出描述
请计算并输出矩阵A和B相乘的结果(结果的每个元素都在32位整数范围之内),输入和输出格式参见样例. 样例输入 2 3 3 2 1 2 0 2 0 4 1 4 0 2
3 0 样例输出 1 8
14 8
10分
【参考答案】 #define N 10
#include
{ int A[N][N],B[N][N],C[N][N],A1,A2,B1,B2; int i,j,k;
scanf(\ for (i=0;i
for(j=0;j 2. 回文串 题目描述 “回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。请写一个程序判断读入的字符串是否是“回文”。 输入描述 每组测试数据包含一个字符串。 输出描述 如果一个字符串是回文串,则输出\否则输出\样例输入 【参考答案2】 level #include 【参考答案】 #include { char s[100]; int i,j; gets(s); for(j=0;s[j]!='\\0';j++); for(i=0,j--;i { printf(\ printf(\} else printf(\} 【参考答案3】 #include 一、判断题 (8分) 1. 字符常数和字符串常数的存储是相同的,都是以字符的ASCII码值进行存放。 2. 用gets函数可以接收一个含有空格的字符串。 3. 用printf函数输出一个字符串时,格式字符为%S,输出项可以是此字符串或存放此字符串的数组的数组名。 4. char c[]=\是一个合法的为字符串数组赋值的语句。 2分2分2分2分 二、选择题 (20分) 1.有定义语句:int b; char c[10];,则正确的输入语句是( )。 [B] A. scanf(\scanf(\2.下列数组s中所存放字符串的长度为____。 char s[]=\ [C] A. 9 B. 10 C. 11 D. 18 3.有数组定义语句“char a[20];”,则正确的输入语句为____。 [D] A. scanf(\,&a); B. scanf(\,a[]); C. gets(a[20]); D. gets(a); 4.有以下程序 #include { char s[][10]={\ printf(\} 执行后输出结果是_____。 [C] A. n,two B. t,one C. w,one D. o,two 5.下面程序的功能是将字符串中所有的字符c删除。__(1)__处应填? #include { char s[80]; int i,j; 2分2分2分2分