一个菱形

时间: 1ms        内存:128M

描述:

这又是一道签到题,输入一个奇数N,输出一个N行的菱形

输入:

奇数N

输出:

输出N行的菱形

示例输入:

5

示例输出:

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

提示:

参考答案(内存最优[1092]):

#include<stdio.h>
int main()
{
int n,i,j;
scanf("%d",&n);
for(i=1;i<=(n-1)/2;i++)
{
for(j=1;j<=(n+1)/2-i;j++)
printf(" ");
for(j=1;j<=2*i-1;j++)
printf("*");
printf("\n");
}
for(i=1;i<=n;i++)
printf("*");
printf("\n");

for(i=(n-1)/2;i>=1;i--)
{
for(j=1;j<=(n+1)/2-i;j++)
printf(" ");
for(j=1;j<=2*i-1;j++)
printf("*");
printf("\n");
}
return 0;
}

参考答案(时间最优[0]):

#include<iostream>
using namespace std;
int main()
{
	int i, j, k,n;


	while (cin >> n)            //输入菱形的对角线字符个数,
	{
		char c;
		//cin >> c;               
		n /= 2;                //按对角线总个数,如果不进行这步则是按对角线两角的个数
		for (i = 0; i <= n; i++)    
		{
			for (j = 0; j <= n - 1 - i; j++)
				cout << ' ';
			for (k = 0; k <= 2 * i; k++)              //
				cout << "*";
			cout << endl;
		}
		for (i = 0; i <= n - 1; i++)
		{
			for (j = 0; j <= i; j++)
				cout << ' ';
			for (k = 0; k <= (n - 1) * 2 - 2 * i; k++)
				cout << "*";
			cout << endl;
		}
	}
	
	return 0;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。