头歌C语言实验 练习7:多行多列的图形输出

第1关:星号长方形

问题描述
根据用户输入的整数n,输出宽为n列、高为n行的由星号构成的长方形。

输入
一个正整数n。

输出
由n行n列星号构成的星号长方形。
每一行的行首不要输出多余的空格。

输入示例
5

输出示例

*****
*****
*****
*****
*****

1
2
3
4
5
6
7
8
9
10
11
12
13
#include<stdio.h>
int main(){
int n;
int i,j;
scanf("%d",&n);
for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf("*");
}
printf("\n");
}
return 0;
}

第2关:星号平行四边形

问题描述
根据用户输入的整数n,输出宽为n列、高为n行的由星号构成的平行四边形。

输入
一个正整数n。

输出
由n行n列星号构成的星号平行四边形。
第一行的行首不要输出多余的空格。

输入示例
5

输出示例

1
2
3
4
5
*****  
*****
*****
*****
*****
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<stdio.h>
int main(){
int n;
int i,j;
scanf("%d",&n);
for(i=0;i<n;i++){
for(j=0;j<i;j++){
printf(" ");
}
for(j=0;j<n;j++){
printf("*");
}
printf("\n");
}
return 0;
}

第3关:星号三角形

问题描述
根据用户输入的整数n,输出如示例所示的星号三角形。

输入
一个正整数n。

输出
输出如示例所示的星号三角形。
第一行的行首不要输出多余的空格。

输入示例
5

输出示例

1
2
3
4
5
*****
****
***
**
*
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<stdio.h>
int main(){
int n;
int i,j;
scanf("%d",&n);
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if(j<i)
printf(" ");
else
printf("*");
}
printf("\n");
}
return 0;
}

第4关:字母平行四边形

问题描述
根据用户输入的整数n,输出宽为n列、高为n行的由大写字母构成的平行四边形。

输入
一个正整数n。

输出
由n行n列星号构成的字母平行四边形。
第一行的行首不要输出多余的空格。

输入示例
5

输出示例

1
2
3
4
5
ABCDE
BCDEF
CDEFG
DEFGH
EFGHI
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<stdio.h>
int main(){
int n;
int i,j;
scanf("%d",&n);
for(i=0;i<n;i++){
for(j=0;j<n+i;j++){
if(j<i)
printf(" ");
else
printf("%c",'A'+j);
}
printf("\n");
}
return 0;
}

第5关:倒置的星号三角形

问题描述
根据用户输入的正整数n,输出如示例所示的倒置的星号三角形。

输入
一个正整数n。

输出
如示例所示的倒置的星号三角形。
同一行内的每两个星号之间用一个空格分开。
为简化程序起见,每一行星号的末尾有一个多余的空格。
第一行的行首不要输出多余的空格。

输入示例
5

输出示例

1
2
3
4
5
* * * * * * * * *
* * * * * * *
* * * * *
* * *
*
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<stdio.h>
int main(){
int n;
int i,j;
scanf("%d",&n);
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if(j<i)
printf(" ");
else
printf("* ");
}
for(j=n;j>i+1;j--){
printf("* ");
}
printf("\n");
}
return 0;
}