c语言,输出由数字组成的菱形图形。求如何编写。谢谢!

如题所述

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

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


追答

nice to help you

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-04-07

第2个回答  2015-04-07
package mainjava;

import java.util.Scanner;

public class lingxing {

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();

for(int i=1;i<=num;i++)//控制行数
{
for(int k=num-1;k>=i;k--)//打印空格
{
System.out.print(" ");
}
for(int j=1;j<=2*i-1;j++)//打印*
{
System.out.print(i);
}

System.out.println();
}
for (int i = num-1; i > 0; i--) // 输出菱形的下半部分
{

for (int j = 1; j <= num - i; j++)
System.out.print(" ");
for (int k = 1; k <= i; k++)
System.out.print(i);
for (int m = i - 1; m > 0; m--)
System.out.print(i);

System.out.println();
}
}
}
我这是用java语言写的,你只需要改写一下输入输出语句就行,如能帮到你望采纳。有什么不懂,可继续追问 谢谢
相似回答