C语言用VC6.0编程; 要求用户输入行数,输出以下图形的形式
要求用户输入行数,输出以下图形的形式(菱形):用户输入6时:输入7时:*******************************************...
要求用户输入行数,输出以下图形的形式(菱形):
用户输入6时: 输入7时:
* *
*** ***
***** *****
***** *******
*** *****
* ***
* 展开
用户输入6时: 输入7时:
* *
*** ***
***** *****
***** *******
*** *****
* ***
* 展开
4个回答
展开全部
楼主你好。
#include <stdio.h>
void main(){
int i,j,n;
while(1){
printf("Please enter n:");
scanf("%d",&n);
for(i=0;i<(n+1)/2;i++){
for(j=0;j<n/2-i;j++)printf(" ");
for(j=0;j<2*i+1;j++)printf("*");
printf("\n");
}
for(i=0;i<n/2;i++){
for(j=0;j<i+1;j++)printf(" ");
for(j=0;j<(int)(n/2)*2-2*i-1;j++)printf("*");
printf("\n");
}
}
}
输出:
展开全部
无非就是计算出每一行的空格数和星号数目罢了,很简单的!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
根据你的要求,程序如下:
#include <stdio.h>
int main()
{
int i,j,k;
int n=0;
printf("请输入菱形的行数:");
scanf("%d",&n);
for(i=0;i<=(n-1)/2;i++)
{
for(j=1;j<=n/2-i;j++)
printf(" ");
for(k=0;k<=2*i;k++)
printf("*"); printf("\n");
}
for(i=1;i<=n/2+1;i++)
{
for(j=0;j<=i-1;j++)
printf(" ");
for(k=0;k<=2*(n/2)-2*i;k++)
printf("*");
printf("\n");
}
return 0;
}
以上程序已经用编译器编译通过,结果完全符合你的要求,
希望对你有所帮助。
#include <stdio.h>
int main()
{
int i,j,k;
int n=0;
printf("请输入菱形的行数:");
scanf("%d",&n);
for(i=0;i<=(n-1)/2;i++)
{
for(j=1;j<=n/2-i;j++)
printf(" ");
for(k=0;k<=2*i;k++)
printf("*"); printf("\n");
}
for(i=1;i<=n/2+1;i++)
{
for(j=0;j<=i-1;j++)
printf(" ");
for(k=0;k<=2*(n/2)-2*i;k++)
printf("*");
printf("\n");
}
return 0;
}
以上程序已经用编译器编译通过,结果完全符合你的要求,
希望对你有所帮助。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在VS2008下写的
#include <stdio.h>
int main()
{
int inum;
int itemp;
printf("请输入行数:");
scanf("%d",&inum);
itemp = (inum - 1) / 2;
if (inum % 2 == 0)
{
for (int i = 1;i <= inum / 2;i++)
{
for (int j = 1; j <= itemp ; j++)
{
printf(" ");
}
for (int k = 1; k <= 2 * i - 1; k++)
{
printf("*");
}
itemp--;
printf("\n");
}
for (int m = 1; m < inum ; m++)
{
printf("*");
}
printf("\n");
int it = (inum - 1) / 2;
for (int i = it;i > 0;i--)
{
for (int j = 0; j <= it - i ; j++)
{
printf(" ");
}
for (int k = 1; k <= 2 * i - 1; k++)
{
printf("*");
}
printf("\n");
}
}
else
{
for (int i = 1;i <= inum / 2;i++)
{
for (int j = 1; j <= itemp ; j++)
{
printf(" ");
}
for (int k = 1; k <= 2 * i - 1; k++)
{
printf("*");
}
itemp--;
printf("\n");
}
for (int m = 0; m < inum ; m++)
{
printf("*");
}
printf("\n");
int it = (inum - 1) / 2;
for (int i = it;i > 0;i--)
{
for (int j = 0; j <= it - i ; j++)
{
printf(" ");
}
for (int k = 1; k <= 2 * i - 1; k++)
{
printf("*");
}
printf("\n");
}
}
return 0;
}
#include <stdio.h>
int main()
{
int inum;
int itemp;
printf("请输入行数:");
scanf("%d",&inum);
itemp = (inum - 1) / 2;
if (inum % 2 == 0)
{
for (int i = 1;i <= inum / 2;i++)
{
for (int j = 1; j <= itemp ; j++)
{
printf(" ");
}
for (int k = 1; k <= 2 * i - 1; k++)
{
printf("*");
}
itemp--;
printf("\n");
}
for (int m = 1; m < inum ; m++)
{
printf("*");
}
printf("\n");
int it = (inum - 1) / 2;
for (int i = it;i > 0;i--)
{
for (int j = 0; j <= it - i ; j++)
{
printf(" ");
}
for (int k = 1; k <= 2 * i - 1; k++)
{
printf("*");
}
printf("\n");
}
}
else
{
for (int i = 1;i <= inum / 2;i++)
{
for (int j = 1; j <= itemp ; j++)
{
printf(" ");
}
for (int k = 1; k <= 2 * i - 1; k++)
{
printf("*");
}
itemp--;
printf("\n");
}
for (int m = 0; m < inum ; m++)
{
printf("*");
}
printf("\n");
int it = (inum - 1) / 2;
for (int i = it;i > 0;i--)
{
for (int j = 0; j <= it - i ; j++)
{
printf(" ");
}
for (int k = 1; k <= 2 * i - 1; k++)
{
printf("*");
}
printf("\n");
}
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询