用c语言中的for循环输出菱形
5个回答
展开全部
#include <stdio.h>
int main()
{
int A=3;
scanf("%d",&A);
int i,j,x,a,b,c,d,e,f,g;
for(i=1;i<=A+1;i++)
{
for(x=A;x>=i;x--)
{
printf(" ");
}
for(a=1;a<=i;a++)
{
printf("*");
}
for(b=0;b<=i-2;b++)
{
printf("*");
}
for(c=A;c>=i;c--)
{
printf(" ");
}
printf("\n");
}
for(j=1;j<=A;j++)
{
for(d=1;d<=j;d++)
{
printf(" ");
}
for(e=A;e>=j;e--)
{
printf("*");
}
for(f=A-1;f>=j;f--)
{
printf("*");
}
for(g=0;g<=j-1;g++)
{
printf(" ");
}
printf("\n");
}
return 0;
}
要打出图片题目中所示菱形,只需run下程序,输入3即可(即input A=3)。代码中的那个A可以理解为菱形的横对角线的*的数量减1后的一半。以上代码适合初学者,因为我也是个初学者,对于C语言高手来说,我这个复杂了,我的思路是四个小三角形拼出一个菱形的。。。你run下看可不可以?然后由于这个答案输出框的条件限制,输出的格式,如空格换行等那些会没显示到
int main()
{
int A=3;
scanf("%d",&A);
int i,j,x,a,b,c,d,e,f,g;
for(i=1;i<=A+1;i++)
{
for(x=A;x>=i;x--)
{
printf(" ");
}
for(a=1;a<=i;a++)
{
printf("*");
}
for(b=0;b<=i-2;b++)
{
printf("*");
}
for(c=A;c>=i;c--)
{
printf(" ");
}
printf("\n");
}
for(j=1;j<=A;j++)
{
for(d=1;d<=j;d++)
{
printf(" ");
}
for(e=A;e>=j;e--)
{
printf("*");
}
for(f=A-1;f>=j;f--)
{
printf("*");
}
for(g=0;g<=j-1;g++)
{
printf(" ");
}
printf("\n");
}
return 0;
}
要打出图片题目中所示菱形,只需run下程序,输入3即可(即input A=3)。代码中的那个A可以理解为菱形的横对角线的*的数量减1后的一半。以上代码适合初学者,因为我也是个初学者,对于C语言高手来说,我这个复杂了,我的思路是四个小三角形拼出一个菱形的。。。你run下看可不可以?然后由于这个答案输出框的条件限制,输出的格式,如空格换行等那些会没显示到
2015-11-03
展开全部
#include <stdio.h>
main(){
printf(" * \n");
printf(" *** \n");
printf(" ***** \n");
printf("*******\n");
printf(" ***** \n");
printf(" *** \n");
printf(" * \n");
}
如果没有要求的话,这是最简单有效的方法,当然这也是最没有意义的哈哈,如果有要求,请追问,帮你写一个!
main(){
printf(" * \n");
printf(" *** \n");
printf(" ***** \n");
printf("*******\n");
printf(" ***** \n");
printf(" *** \n");
printf(" * \n");
}
如果没有要求的话,这是最简单有效的方法,当然这也是最没有意义的哈哈,如果有要求,请追问,帮你写一个!
追问
我已经说用for循环了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int i=3,j=-1,k;
while(i<4){
for(k=0;k<i;k++){
printf(" ");
}
for(k=i;k<(7-(2*i)+i);k++){
printf("*");
}
for(k=(7-(2*i)+i);k<7;k++){
printf(" ");
}
if(i==0){
j=1;
}
i = i+j;
}
while(i<4){
for(k=0;k<i;k++){
printf(" ");
}
for(k=i;k<(7-(2*i)+i);k++){
printf("*");
}
for(k=(7-(2*i)+i);k<7;k++){
printf(" ");
}
if(i==0){
j=1;
}
i = i+j;
}
追问
大神!
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
给你个更牛的
更多追问追答
追答
#include
void main()
{
int n,j,i,k;
char ch;
ch='*';
scanf("%d",&n);
for(j=1;jj;k--)
{
printf(" ");
}
for(i=1;i=j;i--)
{
printf(" %c",ch);
}
printf("\n");
}
}
想打边长为多少都行
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
#include <stdlib.h>
int main()
{
int iLine,iStarNum,iSpaceNum,iSpace,iStar;
for(iLine = 1;iLine < 10;iLine++)
{
if(iLine < 5)
{
iStarNum = iLine * 2 - 1;
iSpaceNum = 5 - iLine;
}
else
{
iStarNum = 9 - (iLine - 5) * 2;
iSpaceNum = iLine - 5;
}
for(iSpace = 0;iSpace < iSpaceNum;iSpace ++)
{
printf(" ");
}
for(iStar = 0;iStar < iStarNum;iStar ++)
{
printf("*");
}
printf("\r\n");
}
system("pause");
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询