c语言输出菱形

怎么用循环输出以下图形:
*
***
*****
*******
*****
***
*

用C语言
格式出错了,我要打印的是菱形,下面的短横线打印成空格就可以
---*
--***
-*****
*******
-*****
--***
---*

java语言输出菱形: 

 public static void main(String [] args){
    int row=11; //设置打印的行数,11也就是菱形对角线的长。
    for (int i=0;i<row;i++){
        for( int j=0; j< row ; j++){
          //左上,右上,左下,右下四个角打印空格
          //可以一个判断语句写出,四个判断分别对应四个角的位置
               if( i<row/2 && (j< row/2 - i || j> row/2 +i) ||
                   i>row/2 && (j< i -row/2  || j> row -i +row/2 -1 ) ){
                   // 满足条件打印空格
                   System.out.print(" ");    
               }else{
                   // 不满足条件打印 * 
                   System.out.print("*");
               }
        }
        // 一次循环结束,换行
        System.out.println();
    }
    System.out.println("---------------------------------");
  
    // 下面打印花纹。 很多菱形循环排列
    // 设置横排重复次数15,竖排重复次数12。共15*12个菱形,每一个菱形是 11的对角线长
    int wCount=15;
    int hCount=12;
    int wRows=row*wCount;
    int hRows=row*hCount;
    for(int i=0;i<hRows;i++){
int temp1=i;
i = i % row;
for(int j=0;j<wRows;j++){
int temp2 = j ;
j = j % row ;
if(i<row/2&&(j<row/2-i||j>row/2+i)||
   i>row/2&&(j<i-row/2||j>=row+row/2-i)){
System.out.print(" ");
}else{
System.out.print("*");
}
j = temp2 ;
}
i = temp1;
System.out.println();
    }
    
 }

温馨提示:内容为网友见解,仅供参考
第1个回答  2009-02-17
#include<stdio.h>
void a(int i)
{
int j,k;
for(j=0;j<=4-i;j++) printf(" ");
for(k=0;k<2*i+1;k++) printf("*");
printf("\n");
}
void main()
{
int i;
for(i=0;i<3;i++) a(i);
for(i=3;i>=0;i--) a(i);
}
第2个回答  推荐于2017-09-11
main()
{
int i,j,k;
for(i=0;i<=3;i++)
{
for(j=0;j<=2-i;j++)
printf(" ");
for(k=0;k<=2*i;k++)
printf("*");
printf("\n");
}
for(i=0;i<=2;i++)
{
for(j=0;j<=i;j++)
printf(" ");
for(k=0;k<=4-2*i;k++)
printf("*");
printf("\n");
}
}本回答被提问者采纳
第3个回答  2009-02-17
for(int i=-3;i<3;i++)
{
printf("\n");
for(int j=0;j<=abs(2*i-1);j++)
printf("*\n");
}
第4个回答  2009-02-17
随便写了一个,你验证一下吧~~
#include<stdio.h>

void main()
{
int i,j;
for(i=0;i<4;i++)
{
for(j=0;j<4-i;j++)
{
printf(" ");
}

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

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

}

}

c语言输出菱形
1、首先,输入预处理指令#include stdio.h与函数原型void print(int n)。其中,n表示行数。2、然后,对输入的n进行提前判断,若小于0或为偶数,则结束打印。3、接着对上半个菱形进行输出(包括最长的行)。使用两层循环进行输出,分别控制行数与行内的位置。4、接着对下半个菱形进行输出(包括最长的...

c语言怎么打印菱形
int main(){ int i,j,m,n;printf("请输入菱形的行数:");\/\/判断n是否符合正奇数的要求 while (scanf("%d", &n) != EOF && n % 2 == 1){\/\/对上半个菱形输出 for (i = 1; i <= (n + 1) \/ 2; i++){ \/\/i控制行数,j控制每一行的位置 \/\/输出空格 for (j = 1; j...

C语言怎么输出一个菱形图案?
include <stdio.h>#include <stdlib.h>int main(){int line; \/\/ 菱形总行数int column; \/\/ 菱形总列数int i; \/\/ 当前行int j; \/\/ 当前列printf("请输入菱形的行数(奇数):");scanf("%d", &line);if(line%2==0){ \/\/ 判断是否是奇数printf("必须输入奇数!\\n");exit(1...

如何用C语言打印菱形?
int main(void){ int n,i,j,m;scanf("%d",&n); \/\/2n-1为菱形边长 for(i=1;i<=n;i++){for(j=1;j<=n-i;j++) printf(" ");for(j=1;j<=2*i-1;j++)printf("*");printf("\\n");} m=n-1;for(i=1;i<=m;i++){for(j=1;j<=i;j++) printf(" ");for(j...

输出一个七行的菱形,用c语言。
include <stdio.h>void main(){int i,j,m;for(i=3;i>=-3;i--){i<0?m=-i:m=i;for(j=0;j<m;j++)printf(" ");for(j=0;j<7-m*2;j++)printf("*");printf("\\n");}}运行结果:

c语言输出空心菱形
void main(){ \/\/输入任意一个100以内奇数n,输出一个n层菱形 int i,j;int row;\/\/输入的奇数(菱形的行数)int leftcol;\/\/左边空格的列数;int center;\/\/奇数的平均值 \/\/此例以21为例 row = 21;center = row\/2;leftcol = center;\/\/菱形上半部分 for (i=0;i<center+1;i++){ for ...

用C语言打印菱形图案的方法是什么?
下面的程序是菱形打印的【终结者】,改变下设置,就基本可以满足所有菱形打印的题目。程序主体 for 语句只有9行,简单而强大 *\/#include <stdio.h>#include <stdlib.h>#include <string.h>\/\/ 这个小函数用来输出 repeatTimes 个字符 includevoid main(){printf(" *\\n");printf(" ***\\n");...

c语言输出空心菱形的代码?
int n,char ch) { \/\/ 空心菱形int i,j;for(i = 0;i < n; ++i) { \/\/ 上半部分for(j = 0;j <= n - i; ++j) printf(" "); \/\/ 输出每行前导空格printf("%c",ch);for(j = 0; j < 2 * i - 1; ++j) printf(" "); \/\/ 菱形内部空格if(i) printf("%c",...

C语言编程,打印菱形 *
define num 7 \/\/可以修改这个数字来改变菱形的大小,只能是奇数哦。void main(){ for(int n=0,m=0;n<num;n++){ m=n;if(n>num\/2)m=num-1-n;{ for(int j=num-2*m+1;j>0;j--){ printf(" ");} for(int i=0;i<(2*m+1);i++){ printf("* ");} } printf("\\n...

C语言一段打印菱形语句请帮忙加注释
int main(){ \/*输出一个菱形,七行七列*\/ int i,j,k;for (i=0;i<=3;i++){\/*输出前四行,i分别等于0,1,2,3*\/ for (j=0;j<=2-i;j++)\/*第i行先输出3-i个空格*\/ printf(" ");for (k=0;k<=2*i;k++)\/*再输出i+1个*号*\/ printf("*");printf("\\n");\/*...

相似回答