一个菱形
时间: 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;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。