上机考题分析1.docx
《上机考题分析1.docx》由会员分享,可在线阅读,更多相关《上机考题分析1.docx(16页珍藏版)》请在冰豆网上搜索。
上机考题分析1
上机考题分析
上机考试时间为60分钟,上机考题为3道。
第一题为简单的图形打印;第二题为简单数值计算(一般用穷举法就可以解决),第三题为相对复杂的数组/字符串处理。
第一类:
简单图形打印
基本思路:
找各行图形符号的分布规律,通常用两重循环解决,如外层循环对行循环,内层循环对列循环。
内层循环中包含两类符号的输出:
空格和指定的符号(如‘*’)。
1.
⑴(n=5)
i=1□□□□*****
=2□□□*****
=3□□*****
=4□*****
=5*****
分析:
图形第i行由n-i个空格和n个’*’号组成(i=1,2,……,n):
main()
{inti,j,n;
scanf(“%d”,&n);
for(i=1;i<=n;i++)/*对行循环*/
{for(j=1;j<=n-i;j++)
printf(””);/*输出i行的n-i个空格*/
for(j=1;j<=n;j++)
printf(”*”);/*输出i行的n个**/
printf(“\n”);
}
}
main()
{inti,j,n;
scanf(“%d”,&n);
for(i=1;i<=n;i++)/*对行循环*/
{for(j=1;j<=n-i+n;j++)
if(j<=n-i)printf(””);/*输出I行空格*/
elseprintf(”*”);/*输出I行的**/
printf(“\n”);
}
}
⑵
*****
□*****
□□*****
□□□*****
□□□□*****
分析:
⑴是上题图形的垂直反转。
若(i=n,n-1,,……1),则第i行分布规律与上题相同:
由n-i个空格和n个’*’号组成。
⑵图形第i行由i-1个空格和n个’*’号组成(i=1,2,……,n)
检测程序的正确性:
n=0时无输出
n=1时输出*
n=奇数和偶数,输出相应的图形
2.(n=4)
⑴
□□□*
□□***
□*****
*******
分析:
图形第i行由n-i个空格和2i-1个’*’号组成(i=1,2,……,n):
⑵
*******
□*****
□□***
□□□*
分析:
此题图形是上题图形的垂直反转,若(i=n,n-1,……,1),则图形第i行由n-i个空格和2i-1个’*’号组成。
⑶
□□□*
□□***
□*****
*******
□*****
□□***
□□□*
分析:
此题图形是上2题图形的合并,图形上半部分(含n行)第i行由n-i个空格和2i-1个’*’号组成(i=1,2,……,n):
下半部分:
n+i行n-i行规律相同,即:
for(i=1;i<=n;i++)/*上半部分*/
{for(j=1;j<=n-i;j++)printf(””);
for(j=1;j<=2*i-1;j++)printf(”*”);
printf(“\n”);
}
for(i=n-1;i>=1;i--)/*下半部分*/
{for(j=1;j<=n-i;j++)printf(””);
for(j=1;j<=2*i-1;j++)printf(”*”);
printf(“\n”);
}
检测程序的正确性:
n=0时无输出
n=1时输出*
n=奇数和偶数,输出相应的图形
3.(n=4)
⑴
□□□****
□□******
□********
**********
分析:
图形第i行由n-i个空格和(2i-1)+(n-1)个’*’号组成(i=1,2,……,n)。
或由n-i个空格和(2i+2)个’*’号组成。
⑵
**********
□********
□□******
□□□****
分析:
此题图形是上题图形的垂直反转,若(i=n,n-1,,……1),则图形第i行由n-i个空格和(2i-1)+(n-1)个’*’。
⑶
□□□****
□□******
□********
**********
□********
□□******
□□□****
分析:
此题图形是上2题图形的合并,图形上半部分(含n行)第i行由n-i个空格和2i-1+n-1个’*’号组成(i=1,2,……,n):
下半部分:
n+i行n-i行规律相同
检测程序的正确性:
n=0时无输出
n=1时输出*
n=奇数和偶数,输出相应的图形
4.空心图形(n=5)
⑴
□□□□*****
□□□**
□□**
□**
*****
分析:
图形第i行由n-i个空格和n个符号组成,n个符号中第1行和第n行为n个’*’号,其他行的n个符号除了第n-i+1列和第n-i+n列为’*’号(i=2,……,n-1)外,其余为空格。
⑵
*****
□**
□□**
□□□**
□□□□*****
分析1:
图形第i行由i-1个空格和n个符号组成,n个符号中第1行和第n行为n个’*’号,其他行的n个符号除了第i列和第n-i+n列为’*’号(i=2,……,n-1)外,其余为空格。
分析2:
此题图形是上题图形的垂直反转,若i=n,n-1,…,2,1,则图形第i行由n-i个空格和n个符号组成,n个符号中第1行和第n行为n个’*’号,其他行的n个符号除了第n-i+1列和第n-i+n列为’*’号(i=n-1,n-2,……,2)外,其余为空格。
检测程序的正确性:
n=0时无输出
n=1时输出*
n=奇数和偶数,输出相应的图形
5.(n=4)
⑴
□□□*
□□**
□**
*******
分析:
图形第i行由n-i个空格和2i-1个符号组成,2i-1个符号第n行全为’*’号,其他行的2i-1个符号除了第n-i+1列和第n-i+2i-1列为’*’号(i=2,……,n-1)外,其余为空格。
⑵
*******
□**
□□**
□□□*
分析1:
图形第i行由i-1个空格和2i-1个符号组成,2i-1个符号第1行全为’*’号,其他行的2i-1个符号除了第n-i+1列和第n-i+2i-1列为’*’号(i=2,……,n-1)外,其余为空格。
分析2:
此题图形是上题图形的垂直反转,若i=n,n-1,…,2,1,则图形第i行由n-i个空格和2i-1个符号组成,2i-1个符号第i=n行全为’*’号,其他行的2i-1个符号除了第n-i+1列和第n-i+2i-1列为’*’号(i=2,……,n-1)外,其余为空格。
⑶
□□□*
□□**
□**
**
□**
□□**
□□□*
分析:
此题图形是上2题图形的合并,图形上半部分第i行由n-i个空格和2i-1个符号组成(i=1,……,n),2i-1个符号中,除了第n-i+1列和第n-i+2i-1列为’*’号(i=2,……,n-1)外,其余为空格。
图形下半部分第n+i行与上半部分第n-i行规律相同(i=1,……,n-1).
检测程序的正确性:
n=0时无输出
n=1时输出*
n=奇数和偶数,输出相应的图形
6.(n=5)
⑴
□□□□*****
□□□**
□□**
□**
*************
分析:
图形第i行由n-i个空格和2i-1+n-1个符号组成(i=1,2,……,n)第i行仅在n-i+1和最后一列(n-i)+(2i-1)+(n-1)列打印’*’号,其它位置都打印空格。
其中1行和n行打印n-i空格和(2i-1)+(n-1)个’*’号.
⑵
*************
□**
□□**
□□□**
□□□□*****
分析:
此题图形是上题图形的垂直反转,若(i=n,……2,1),则图形第i行由n-i个空格和2i-1+n-1个符号组成,2i-1+n-1个符号中第1行和第n行全为’*’号,其他行的2i-1+n-1个符号除了第n-i+1列和第n-i+2i-1+n-1列为’*’号(i=n-1,……,2)外,其余为空格。
⑶
□□□□*****
□□□**
□□**
□**
**
□**
□□**
□□□**
□□□□*****
分析:
此题图形是上2题图形的合并,图形上半部分第i行由n-i个空格和2i-1+n-1个符号组成(i=1,……,n),2i-1+n-1个符号中第1行全为’*’号,其他行的2i-1+n-1个符号除了第n-i+1列和第n-i+2i-1+n-1列为’*’号(i=2,……,n-1)外,其余为空格。
图形下半部分第n+i行与图形上半部分第n-i行相同(i=1,……,n-1)。
检测程序的正确性:
n=0时无输出
n=1时输出*
n=奇数和偶数,输出相应的图形
7.(n=5)
⑴
*□□□□□□□*
**□□□□□**
***□□□***
****□****
*********
分析:
图形第i行(i=1,2,…,n)由2n-1个符号组成,其中第i+1列至第2n-1-i列为空格,其余为‘*’。
⑵
*********
****□****
***□□□***
**□□□□□**
*□□□□□□□*
分析:
此题图形是上题图形的垂直反转。
图形第i行(i=n,n-1,…,1)由2n-1个符号组成,其中第i+1列至第2n-1-i列为空格其余为‘*’。
检测程序的正确性:
n=0时无输出
n=1时输出*
n=奇数和偶数,输出相应的图形
8.(n=5)
⑴
123456789
1**
2□**
3□□**
4□□□**
n=5□□□□*
分析:
图形第i(i=1,2,…,n)行满足(i=j或i+j=2n)的列上为‘*’,其余为空格。
⑵
n=5□□□□*
4□□□**
3□□**
2□**
1**
分析:
此题图形是上题图形的垂直反转,若(i=n,n-1,…,1),则图形第i行满足(i=j或i+j=2n)的j列为‘*’,其余为空格。
⑶
123456789
1**
2□**
3□□**
4□□□**
n=5□□□□*
6□□□**
7□□**
8□**
9**
分析:
此题图形是上2题图形的合并,图形第i(i=1,2,…,2n-1)行满足(i=j和i+j=2n)的j列(j=1,2,…,2n-1)上为‘*’,其余为空格。
检测程序的正确性:
n=0时无输出
n=1时输出*
n=奇数和偶数,输出相应的图形
9.(n=4)
*□□□□□*1
*□□□*2
*□*3
*n=4
*5
*6
*7
分析:
图形第i(i=1,2,…,n)行满足(i=j或i+j=2n)的j列上为‘*’(j=1,2,…,2n-1),其余为空格。
第n+1,n+2,…,2n-1行的第n列为‘*’,其余为空格。
检测程序的正确性:
n=0时无输出
n=1时输出*
n=奇数和偶数,输出相应的图形
10.(n=4)
1234
1*□□*
2*□*
3**
n=4*
3**
2*□*
1*□□*
分析:
图形上半部分第1列和第n-i+1列为‘*’,其余为空格。
图形下半部分与上半部分对称,对i行(i=n-1,n-2,……,2,1)有:
第1列和第n-i+1列为‘*’,其余为空格。
检测程序的正确性:
n=0时无输出
n=1时输出*
n=奇数和偶数,输出相应的图形
11.(n=5)
*□□□*
**□□*
**□*
***
**
分析:
图形第i行的1,n列和i列为*,其余为空格。
检测程序的正确性:
n=0时无输出
n=1时输出*
n=奇数和偶数,输出相应的图形
12.(n=5)
⑴
□□□□1
□□□121
□□12321
□1234321
123454321
分析:
这是一个左右对称的图形,第i行由n-i个空格、数字1,2,..,i和i-1,i-2,..,2,1组成。
⑵
123454321
□1234321
□□12321
□□□121
□□□□1
分析:
此题图形是上题图形的垂直反转,若(i=n,n-1,…,2,1),则第i行由n-i个空格、数字1,2,..,i和i-1,i-2,..,2,1组成。
⑶
□□□□1
□□□121
□□12321
□1234321
123454321
□1234321
□□12321
□□□121
□□□□1
分析:
这是一个左右上下对称的图形,图形上半部分(i=1,2,…,n)和下半部分(i=n-1,n-2,…,1)第i行由n-i个空格、数字1,2,..,i和i-1,i-2,..,2,1组成。
检测程序的正确性:
n=0时无输出
n=1时输出1
n=奇数和偶数,输出相应的图形
13.(n=4)
□□□4
□□434□43234
4321234
□43234
□□434
□□□4
分析:
这是一个左右上下对称的图形,图形上半部分(i=1,2,…,n)和下半部分(i=n-1,n-2,…,1)第i行由n-i个空格、数字n,n-1,..,n-i+1和n-i+2,n-i+3,..,n组成。
检测程序的正确性:
n=0时无输出
n=1时输出1
n=奇数和偶数,输出相应的图形
14.(n=4)
□□□□A
□□□BCD
□□EFGHI
□JKLMNOP
QRSTUVWXY
分析:
第i行(i=1,2,…,n)由n-i个空格和2i-1个字符组成。
字符从顶行字符c开始依次取ASCII码c+1、c+2,…的字符。
检测程序的正确性:
n=0时无输出
n=1时输出A
n=奇数和偶数,输出相应的图形
15.(n=5)
□□□□□A
□□□□BB
□□□CC
□□DD
□EE
□□DD
□□□CC
□□□□BB
□□□□□A
分析:
图形上半部分第i行(i=1,2,。
。
,n)由n-i+2*i-1个字符组成。
其中第n-i+1列和第n-i+2*i-1列为同一字符(ASCII码为’A’+i-1),其余为空格。
图形下半部分第n+i行与第n-i行相同。
检测程序的正确性:
n=0时无输出
n=1时输出1
n=奇数和偶数,输出相应的图形