上机题解1.docx

上传人:b****5 文档编号:5369964 上传时间:2022-12-15 格式:DOCX 页数:23 大小:18.42KB
下载 相关 举报
上机题解1.docx_第1页
第1页 / 共23页
上机题解1.docx_第2页
第2页 / 共23页
上机题解1.docx_第3页
第3页 / 共23页
上机题解1.docx_第4页
第4页 / 共23页
上机题解1.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

上机题解1.docx

《上机题解1.docx》由会员分享,可在线阅读,更多相关《上机题解1.docx(23页珍藏版)》请在冰豆网上搜索。

上机题解1.docx

上机题解1

1-1.编程,输入n,输出如下例(n=5)所示的图形:

*****

*****

*****

*****

*****

分析:

图形第i行由n-i个空格和n个’*’号组成(i=1,2,……,n):

main()/*sj1-1-1*/

{inti,j,n;

scanf(“%d”,&n);

for(i=1;i<=n;i++)

{for(j=1;j<=n-i;j++)printf(””);

for(j=1;j<=n;j++)printf(”*”);

printf(“\n”);

}

}

1-2.编程,输入n,输出如下例(n=5)所示的图形:

*****

*****

*****

*****

*****

分析:

图形第i行由i-1个空格和n个’*’号组成(i=1,2,……,n):

main()/*sj1-1-2*/

{inti,j,n;

scanf(“%d”,&n);

for(i=1;i<=n;i++)

{for(j=1;j<=i-1;j++)printf(””);

for(j=1;j<=n;j++)printf(”*”);

printf(“\n”);

}

}

1-3.编程,输入n值,输出如下例(n=4)所示的图形:

*

***

*****

*******

分析:

图形第i行由n-i个空格和2i-1个’*’号组成(i=1,2,……,n):

main()/*sj1-1-3*/

{inti,j,n;

scanf(“%d”,&n);

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”);

}

}

1-4.编程,输入n值,输出如下例(n=4)所示的图形:

*******

*****

***

*

分析:

此题图形是上题图形的垂直反转,图形第i行由n-i个空格和2i-1个’*’号组成。

(i=n,n-1,n-2,……,2,1)

main()/*sj1-1-4*/

{inti,j,n;

scanf(“%d”,&n);

for(i=n;i>=1;i--)

{for(j=1;j<=n-i;j++)printf(””);

for(j=1;j<=2*i-1;j++)printf(”*”);

printf(“\n”);

}

}

1-5.编程,输入n值,输出如下例(n=4)所示的高和上底均为n的等腰梯形:

****

******

********

**********

分析:

图形第i行由n-i个空格和(2i-1)+(n-1)个’*’号组成(i=1,2,……,n)。

main()/*sj1-1-5*/

{inti,j,n;

scanf(“%d”,&n);

for(i=1;i<=n;i++)

{for(j=1;j<=n-i;j++)printf(””);

for(j=1;j<=2*i-1+(n-1);j++)printf(”*”);

printf(“\n”);

}

}

1-6.编程,输入n值,输出如下例(n=4)所示的高和下底均为n的等腰梯形:

**********

********

******

****

分析:

此题图形是上题图形的垂直反转,图形第i行由n-i个空格和(2i-1)+(n-1)个’*’号组成(i=n,n-1,……2,1,):

main()/*sj1-1-6*/

{inti,j,n;

scanf(“%d”,&n);

for(i=n;i>=1;i--)

{for(j=1;j<=n-i;j++)printf(””);

for(j=1;j<=2*i-1+(n-1);j++)printf(”*”);

printf(“\n”);

}

}

1-7.编程,输入n,输出如下例(n=3)所示的边长为n的菱形:

*

***

*****

***

*

分析:

图形上半部分第i行由n-i个空格和2*i-1个*组成。

图形下半部分与上半部分对称,n+i行与n-i行一样。

main()/*sj1-1-7*/

{inti,j,n;

scanf(“%d”,&n);

for(i=1;i<=n;i++)/*输出图形的上半部分(含中心行)*/

{for(j=1;j<=n-i+2*i-1;j++)

if(j>n-i)printf(”*”);

elseprintf(””);

printf(“\n”);

}

for(i=n-1;i>=1;i--)/*输出图形的下半部分(不含中心行)*/

{for(j=1;j<=n-i+2*i-1;j++)

if(j>n-i)printf(”*”);

elseprintf(””);

printf(“\n”);

}

}

1-8.编程,输入n值,输出如下例(n=4)所示的边长均为n的正六边形:

****

******

********

**********

********

******

****

分析:

图形上半部分第i行由n-i个空格和(2i-1)+(n-1)个’*’号组成(i=1,2,……,n)。

图形下半部分与上半部分对称,n+i行与n-i行一样。

main()/*sj1-1-8*/

{inti,j,n;

scanf(“%d”,&n);

for(i=1;i<=n;i++)/*输出图形的上半部分(含中心行)*/

{for(j=1;j<=n-i;j++)printf(””);

for(j=1;j<=2*i-1+(n-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+(n-1);j++)printf(”*”);

printf(“\n”);

}

}

1-9.编程,输入n值,输出如下例(n=4)所示的图形:

****

*

*

****

分析:

图形第1、n行上有n个‘*’。

其它第i行(i=2,3,..,n-1)由n-i个空格和一个*组成。

即n-i+1列为*,其余为空格。

main()/*sj1-1-9*/

{inti,j,n;

scanf(“%d”,&n);

for(i=1;i<=n;i++)

{for(j=1;j<=n;j++)

if(j==n-i+1||i==1||i==n)printf(”*”);

elseprintf(””);

printf(“\n”);

}

}

1-10.编程,输入n值,输出如下例(n=4)所示的图形:

****

*

*

****

分析:

图形第1、n行上有n个‘*’。

其它第i行(i=2,3,..,n-1)由i-1个空格和一个*组成。

即i列为*,其余为空格。

main()/*sj1-1-10*/

{inti,j,n;

scanf(“%d”,&n);

for(i=1;i<=n;i++)

{for(j=1;j<=n;j++)

if(j==i||i==1||i==n)printf(”*”);

elseprintf(””);

printf(“\n”);

}

}

1-11.编程,输入n值,输出如下例(n=5)所示的图形:

*****

**

**

**

*****

分析:

图形第i行由n-i个空格和n个符号组成,n个符号中第1行和第n行为n个’*’号,其他行的n个符号除了第n-i+1列和第n-i+n列为’*’号(i=2,……,n-1)外,其余为空格。

main()/*sj1-1-11*/

{inti,j,n;

scanf(“%d”,&n);

for(i=1;i<=n;i++)

{for(j=1;j<=n-i;j++)printf(””);

for(j=n-i+1;j<=n-i+n;j++)

if(j==n-i+1||j==n-i+n||i==1||i==n)printf(”*”);

elseprintf(””);

printf(“\n”);

}

}

1-12.编程,输入n值,输出如下例(n=5)所示的图形:

*****

**

**

**

*****

分析:

图形第i行由i-1个空格和n个符号组成,n个符号中第1行和第n行为n个’*’号,其他行的n个符号除了第i列和第i+n-1列为’*’号外,其余为空格(i=2,……,n-1)。

main()/*sj1-1-12*/

{inti,j,n;

scanf(“%d”,&n);

for(i=1;i<=n;i++)

{for(j=1;j<=i-1;j++)printf(””);

for(j=i;j<=i+n-1;j++)

if(j==i||j==i+n-1||i==1||i==n)printf(”*”);

elseprintf(””);

printf(“\n”);

}

}

1-13.编程,输入n值,输出如下例(n=4)所示的图形:

*

**

**

*******

分析:

图形第i行由n-i个空格和2i-1个符号组成,2i-1个符号第n行全为’*’号,其他行的2i-1个符号除了第n-i+1列和第n-i+2i-1列为’*’号(i=2,……,n-1)外,其余为空格。

main()/*sj1-1-13*/

{inti,j,n;

scanf(“%d”,&n);

for(i=1;i<=n;i++)

{for(j=1;j<=n-i;j++)printf(””);

for(j=n-i+1;j<=n-i+2*i-1;j++)

if(j==n-i+1||j==n-i+2*i-1||i==n)printf(”*”);

elseprintf(””);

printf(“\n”);

}

}

1-14.编程,输入n值,输出如下例(n=4)所示的图形:

*******

**

**

*

分析:

此题图形是上题图形的垂直反转,图形第i行由n-i个空格和(2i-1)个符号组成(i=n,n-1,……2,1,)。

2i-1个符号中第n行全为’*’号,其他行的2i-1个符号除了第n-i+1列和第n-i+2i-1列为’*’号(i=2,……,n-1)外,其余为空格。

main()/*sj1-1-14*/

{inti,j,n;

scanf(“%d”,&n);

for(i=n;i>=1;i--)

{for(j=1;j<=n-i;j++)printf(””);

for(j=n-i+1;j<=n-i+2*i-1;j++)

if(j==n-i+1||j==n-i+2*i-1||i==n)printf(”*”);

elseprintf(””);

printf(“\n”);

}

}

1-15.编程,输入n值,输出如下例(n=4)所示的高和上底均为n的等腰梯形:

****

**

**

**********

分析:

图形第i行由n-i个空格和2i-1+n-1个符号组成(i=1,……,n),2i-1+n-1个符号中第1行和第n行全为’*’号,其他行的2i-1+n-1个符号除了第n-i+1列和第n-i+2i-1+n-1列为’*’号(i=2,……,n-1)外,其余为空格。

main()/*sj1-1-15*/

{inti,j,n;

scanf(“%d”,&n);

for(i=1;i<=n;i++)

{for(j=1;j<=n-i;j++)printf(””);

for(j=n-i+1;j<=n-i+2*i-1+n-1;j++)

if(j==n-i+1||j==n-i+2*i-1+n-1||i==1||i==n)printf(”*”);

elseprintf(””);

printf(“\n”);

}

}

1-16.编程,输入n值,输出如下例(n=4)所示的高和下底均为n的等腰梯形:

**********

**

**

****

分析:

此题图形是上题图形的垂直反转,图形第i行由n-i个空格和2i-1+n-1个符号组成(i=n,……2,1),2i-1+n-1个符号中第1行和第n行全为’*’号,其他行的2i-1+n-1个符号除了第n-i+1列和第n-i+2i-1+n-1列为’*’号(i=n-1,……,2)外,其余为空格。

main()/*sj1-1-16*/

{inti,j,n;

scanf(“%d”,&n);

for(i=n;i>=1;i--)

{for(j=1;j<=n-i;j++)printf(””);

for(j=n-i+1;j<=n-i+2*i-1+n-1;j++)

if(j==n-i+1||j==n-i+2*i-1+n-1||i==1||i==n)printf(”*”);

elseprintf(””);

printf(“\n”);

}

}

1-17.编程,输入n值,输出下例(n=3)所示的边长为n的菱形:

*

**

**

**

*

分析:

图形上半部分第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).

main()/*sj1-1-17*/

{inti,j,n;

scanf(“%d”,&n);

for(i=1;i<=n;i++)/*图形上半部分*/

{for(j=1;j<=n-i+2*i-1;j++)

if(j==n-i+1||j==n-i+2*i-1)printf(”*”);

elseprintf(””);

printf(“\n”);

}

for(i=n-1;i>=1;i--)/*图形下半部分*/

{for(j=1;j<=n-i+2*i-1;j++)

if(j==n-i+1||j==n-i+2*i-1)printf(”*”);

elseprintf(””);

printf(“\n”);

}

}

1-18.编程,输入n值,输出下例(n=4)所示的边长为n的正六边形:

****

**

**

**

**

**

****

分析:

图形上半部分第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)。

main()/*sj1-1-18*/

{inti,j,n;

scanf(“%d”,&n);

for(i=1;i<=n;i++)

{for(j=1;j<=n-i;j++)printf(””);

for(j=n-i+1;j<=n-i+2*i-1+n-1;j++)

if(j==n-i+1||j==n-i+2*i-1+n-1||i==1)printf(”*”);

elseprintf(””);

printf(“\n”);

}

for(i=n-1;i>=1;i--)

{for(j=1;j<=n-i;j++)printf(””);

for(j=n-i+1;j<=n-i+2*i-1+n-1;j++)

if(j==n-i+1||j==n-i+2*i-1+n-1||i==1)printf(”*”);

elseprintf(””);

printf(“\n”);

}

}

1-19.编程,输入n值,输出下例(n=5)所示的高为n的图形:

**

****

******

********

*********

分析:

图形第i行由2n-1个符号组成,其中第i+1列至第2n-1-i列为空格其余为‘*’(i=1,2,…,n)。

main()/*sj1-1-19*/

{inti,j,n;

scanf(“%d”,&n);

for(i=1;i<=n;i++)

{for(j=1;j<=2*n-1;j++)

if(j>=i+1&&j<=2*n-1-i)printf(””);

elseprintf(”*”);

printf(“\n”);

}

}

1-20.编程,输入n值,输出下例(n=5)所示的高为n的图形:

*********

********

******

****

**

分析:

图形第i(i=n,n-1,…,1)行由2n-1个符号组成,其中第i+1列至第2n-1-i列为空格其余为‘*’。

main()/*sj1-1-20*/

{inti,j,n;

scanf(“%d”,&n);

for(i=n;i>=1;i--)

{for(j=1;j<=2*n-1;j++)

if(j>=i+1&&j<=2*n-1-i)printf(””);

elseprintf(”*”);

printf(“\n”);

}

}

1-21.编程,输入n值,输出下例(n=3)所示的图形:

**

**

*

**

**

分析:

图形第i(i=1,2,…,2n-1)行对角线(i=j和i+j=2n)上为‘*’,其余为空格。

main()/*sj1-1-21*/

{inti,j,n;

scanf(“%d”,&n);

for(i=1;i<=2*n-1;i++)

{for(j=1;j<=2*n-1;j++)

if(j==i||i+j==2*n)printf(”*”);

elseprintf(””);

printf(“\n”);

}

}

1-22.编程,输入n值,输出下例(n=3)所示的图形:

**

**

*

*

*

分析:

图形第i(i=1,2,…,n)行对角线(i=j和i+j=2n)上为‘*’,其余为空格。

第n+1,n+2,…,2n-1行的第n列为‘*’,其余为空格。

main()/*sj1-1-22*/

{inti,j,n;

scanf(“%d”,&n);

for(i=1;i<=2*n-1;i++)

{for(j=1;j<=2*n-1;j++)

{if(i<=n)

if(j==i||i+j==2*n)printf("*");

elseprintf("");

elseif(j==n)printf("*");

elseprintf("");

}

printf(“\n”);

}

}

1-23.编程,输入n值,输出下例(n=4)所示的图形:

**

**

**

*

**

**

**

分析:

图形上半部分第1列和第n-i+1列为‘*’,其余为空格。

图形下半部分与上半部分对称,n+i行与n-i行相同。

main()/*sj1-1-23*/

{inti,j,n;

scanf(“%d”,&n);

for(i=1;i<=n;i++)/*输出图形的上半部分(含中心行)*/

{for(j=1;j<=n-i+1;j++)

if(j==1||j==n-i+1)printf(”*”);

elseprintf(””);

printf(“\n”);

}

for(i=n-1;i>=1;i--)/*输出图形的下半部分(不含中心行)*/

{for(j=1;j<=n-i+1;j++)

if(j==1||j==n-i+1)printf(”*”);

elseprintf(””);

printf(“\n”);

}

}

1-24.编程,输入n值,输出下例(n=5)所示的图形:

**

***

***

***

**

分析:

图形第i行的第1、n列和i列为*,其余为空格。

main()/*sj1-1-24*/

{inti,j,n;

scanf(“%d”,&n);

for(i=1;i<=n;i++)

{for(j=1;j<=n;j++)

if(j==1||j==i||j==n)printf(”*”);

elseprintf(””);

printf(“\n”);

}

}

1-25.编程,输入n值,输出下例(n=5)所示的图形:

**

**

**

**

*

分析:

图形第i(i=1,2,…,n)行对角线(i=j和i+j=2n)上为‘*’,其余为空格。

main()/*sj1-1-25*/

{inti,j,n;

scanf(“%d”,&n);

for(i=1;i<=n;i++)

{for(j=1;j<=2*n-1;j++)

if(j==i||i+j==2*n)printf(”*”);

elseprintf(””);

printf(“\n”);

}

}

1-26.编程,输入n值,输出下例(n=5)所示的图形:

*

**

**

**

**

分析:

此题图形是上题图形的垂直反转,图形第i(i=n,n-1,…,1)行对角线(i=j和i+j=2n)上为‘*’,其余为空格。

main()/*sj1-1-26*/

{inti,j,n;

scanf(“%d”,&n);

for(i=n;i>=1;i--)

{for(j=1;j<=2*n-1;j++)

if(j==i||i+j==2*n)printf(”*”);

elseprintf(””);

printf(“\n”);

}

}

1-27.编程,打印下列上三角形式的乘法九九表。

123456789

----------------------------

123456789

4681012141618

9141518212427

162024283236

25303

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 起诉状

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1