计算机二级编程例子(含答案)
【题目1】: 1、按下面图案的格式打印三角九九乘法口诀表。图案如下:
【问题分析与算法设计】:
【分析】:
程序的关键是:找出每一行中输出乘数、被乘数和结果的规律。
【细分】:
总共打印9行;
每行打印i 个等式,i 为行数;
每个等式左边是乘数、被乘数,乘数是列数,被乘数是行数,等式的右
边是结果。注意:1=<列数<=行数;
换行。
广 东 海 洋 大 学
Guangdong Ocean University
C 语言程序设计技能训练试题
(九 九 乘 法 口 诀 表)
【再细分】:
打印9行(i=1开始;到i<=9)
打印i个数,先打印格式“i*j=”(1<=j<=i); 然后打印i*j的结果;
换行。
【算法设计】:
for ( i=1; i<=9; i++ ) /* 9行*/
{ for(j=1;j<=i;j++)
printf("%2d*%d=%2d",i,j,i*j);
(打印格式“i*j=”(i<=j<=9)和打印i*j的结果);
换行;
}
【程序源代码、说明及注释】:
void main( )
{ int i,j;
for(i=1;i<=9;i++)
{ for(j=1;j<=i;j++) /*打印格式“i*j=”和i*j的结果*/
printf("%2d*%d=%2d",i,j,i*j);
/*第1个%2d,2为每组数字前面留1个空格间隔,第2个%2d,2为打印结果的长度*/ printf("\n"); /*换行*/
}
}
【题目2】:
2、按下面图案的格式打印倒三角九九乘法口诀表。图案如下:
【问题分析与算法设计】:
【分析】:
程序的关键是:找出每一行中空格的个数以及乘数、被乘数和结果的规律。【细分】:
总共打印9行;
每行先打印若干个空格;然后打印9-k+1个等式;k为行数。
每个等式左边是乘数、被乘数,乘数是列数,被乘数是行数,等式的右边是结果;注意:行数<=列数<=9;
换行。
【再细分】:
打印9行(i=1开始;到i<=9)
每行打印i+p个空格;(p为调整每行前面空格的个数,开始p=0,以后p=p+6;)
打印9-i+1个等式,先打印格式“i*j=”(i<=j<=9); 然后打印i*j的结果;
换行。
【算法设计】:
for ( i=1; i<=9; i++ ) /* 9行*/
{ 重复打印i+p 个空格;
for(j=i;j<=9;j++)
printf("%2d*%d=%2d",i,j,i*j);
(打印格式“i*j=”(i<=j<=9)和打印i*j的结果);
换行;
}
【程序源代码、说明及注释】:
void main( )
{ int i,j,k,p;
p=0; /*注意调整空格*/
for(i=1;i<=9;i++)
{
for(k=1;k<=i+p;k++) /*打印每行空格*/
printf(" ");
p=p+6; /*注意调整空格*/
for(j=i;j<=9;j++) /*打印格式“i*j=”和i*j的结果*/
printf("%2d*%d=%2d",i,j,i*j);
/*第1个%2d,2为每组数字前面留1个空格间隔,第2个%2d,2为打印结果的长度*/ printf("\n"); /*换行*/
}
}