(C语言)用'*'输出指定行数的矩形
2014-08-29 18:05
232 查看
#import <Foundation/Foundation.h>
#define N 3;
int main(int argc,
const char * argv[])
{
int n =
0 ;
printf("请输入高N:");
scanf("%d", &n);
int a[999][999] = {
0 } ;
int m = n /
2; // 半高
for (int i =
0 ; i < m; i++)
{
for (int j =
0 ; j <= i; j++)
{
if ((j +
1) % 2 == 1)
{
a[i][j] =
1; // 标记*
//printf("*");
}
else
{
a[i][j] =
2; // 标记#
//printf("#");
}
}
}
for (int i =
0 ; i < m; i++)
{
for (int j = n -
1 ; j >= n - 1 - i; j--)
{
a[i][j] = a[i][n -
1 - j];
}
}
for (int i =
0 ; i < m; i++)
{
for (int j =
0; j < 2 * ( m - i -
1 ) + 1; j++)
{
if (( i +
1) % 2 == 1)
{
a[i][j+i+1] =
1;
}
if (( i +
1) % 2 == 0)
{
a[i][j+i+1] =
2;
}
}
}
for (int i = m +
1; i < n; i++)
{
for (int j =
0 ; j < n; j++)
{
a[i][j] = a[n-1-i][j];
}
}
if (n %
2 != 0)
{
for (int i = m +
1; i < n; i++)
{
for (int j =
0 ; j < n; j++)
{
a[i][j] = a[n-1-i][j];
}
}
for (int j =
0 ; j < n; j++)
{
if ((j +
1) % 2 == 1)
{
a[n /
2][j] = 1; // 标记*
}
else
{
a[n /
2][j] = 2; // 标记#
}
}
}
else
{
for (int i = m ; i < n; i++)
{
for (int j =
0 ; j < n; j++)
{
a[i][j] = a[n-1-i][j];
}
}
}
for (int i =
0; i < n; i++)
{
for (int j =
0; j < n; j++)
{
if (a[i][j] ==
1 )
{
printf("*");
}
if (a[i][j] ==
2 )
{
printf(" ");
}
}
printf("\n");
}
return
0;
}
输入一个小于1000的正整数,输出一个矩形 层层嵌套
例如输入3
结果如下
***
* *
***
输入10
**********
* *
* ****** *
* * * *
* * ** * *
* * ** * *
* * * *
* ****** *
* *
**********
#define N 3;
int main(int argc,
const char * argv[])
{
int n =
0 ;
printf("请输入高N:");
scanf("%d", &n);
int a[999][999] = {
0 } ;
int m = n /
2; // 半高
for (int i =
0 ; i < m; i++)
{
for (int j =
0 ; j <= i; j++)
{
if ((j +
1) % 2 == 1)
{
a[i][j] =
1; // 标记*
//printf("*");
}
else
{
a[i][j] =
2; // 标记#
//printf("#");
}
}
}
for (int i =
0 ; i < m; i++)
{
for (int j = n -
1 ; j >= n - 1 - i; j--)
{
a[i][j] = a[i][n -
1 - j];
}
}
for (int i =
0 ; i < m; i++)
{
for (int j =
0; j < 2 * ( m - i -
1 ) + 1; j++)
{
if (( i +
1) % 2 == 1)
{
a[i][j+i+1] =
1;
}
if (( i +
1) % 2 == 0)
{
a[i][j+i+1] =
2;
}
}
}
for (int i = m +
1; i < n; i++)
{
for (int j =
0 ; j < n; j++)
{
a[i][j] = a[n-1-i][j];
}
}
if (n %
2 != 0)
{
for (int i = m +
1; i < n; i++)
{
for (int j =
0 ; j < n; j++)
{
a[i][j] = a[n-1-i][j];
}
}
for (int j =
0 ; j < n; j++)
{
if ((j +
1) % 2 == 1)
{
a[n /
2][j] = 1; // 标记*
}
else
{
a[n /
2][j] = 2; // 标记#
}
}
}
else
{
for (int i = m ; i < n; i++)
{
for (int j =
0 ; j < n; j++)
{
a[i][j] = a[n-1-i][j];
}
}
}
for (int i =
0; i < n; i++)
{
for (int j =
0; j < n; j++)
{
if (a[i][j] ==
1 )
{
printf("*");
}
if (a[i][j] ==
2 )
{
printf(" ");
}
}
printf("\n");
}
return
0;
}
输入一个小于1000的正整数,输出一个矩形 层层嵌套
例如输入3
结果如下
***
* *
***
输入10
**********
* *
* ****** *
* * * *
* * ** * *
* * ** * *
* * * *
* ****** *
* *
**********
相关文章推荐
- 【C语言小练习】输入十个数,从其中删除指定数字(可能多个)后,输出剩余的数(顺序与输入的相同)
- 实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定, 输入9,输出9*9口诀表,输出12,输出12*12的乘法口诀表。
- C语言 - 斐波那契数列(Fibonacci) 指定区间输出
- 实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定, 输入9,输出9*9口诀表,输出12,输出12*12的乘法口诀表。
- c语言printf--动态指定输出格式长度
- C语言宏定义实现闰年判断并输出指定月的天数
- 课程实验一:目标一:输出该目录下指定类型文件(.cs, .java)的个数、文件的总行数、空行数、注释行数、代码行数
- c语言:实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定
- 实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定,输入9,输出9*9口诀表,输出12,输出12*12的乘法口诀表。
- 【C语言】使用递归的整数输出(高位到低位)/输出一个菱形(能够确定行数)
- (2012.01.03) 输出程序中的指定位置的行数与该文件的路径及标题。
- C语言中格式字符指定输出项的数据类型和输出格式总结
- C语言输出数据到指定文件,要求长度相同,不同时前面补零
- 【C语言】使用递归的整数输出(高位到低位)/输出一个菱形(能够确定行数)
- 实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定, 输入9,输出9*9口诀表,输出12,输出12*12的乘法口诀表
- 输出该目录下指定类型文件(.cs, .java)的个数、文件的总行数、空行数、注释行数、代码行数
- 80x86 汇编语言编程:输出指定行数的星号
- 实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定, 输入9,输出9*9口诀表,输出12,输出12*12的乘法口诀表。
- javascript实现输出指定行数正方形图案的方法
- 1. 实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定, 输入9,输出9*9口诀表,输出12,输出12*12的乘法口诀表。