c语言怎么打印菱形

Python020

c语言怎么打印菱形,第1张

#include <stdio.h>

int main()

{

int i,j,m,n

printf("请输入菱形行数:")

//判断n是否符合正奇数的要求

while (scanf("%d", &n) != EOF &&n % 2 == 1)

{ //对上半个菱形输出

for (i = 1i <= (n + 1) / 2i++)

{

//i控制行数,j控制每一行的位置

//输出空格

for (j = 1j <= (n + 1) / 2 - ij++)

printf(" ")

//输出*

for (j = 1j <= 2 * i - 1j++)

printf("*")

//输出换行

printf("\n")

}

//输出下一半

//i控制行数

for (i = 1i <= n / 2i++)

{

//j控制每一行的位置

//输出空格

for (j = 1j <= ij++)

printf(" ")

//输出*

for (j = 1j <= n - 2 * ij++)

printf("*")

//输出换行

printf("\n")

}

}

return 0

}

工具/材料

ubuntu+vim+gcc

01

首先,输入预处理指令#include <stdio.h>与函数原型void print(int n)。

其中,n表示行数。

02

然后,对输入的n进行提前判断,若小于0或为偶数,则结束打印。

03

接着对上半个菱形进行输出(包括最长的行)。使用两层循环进行输出,分别控制行数与行内的位置。

04

接着对下半个菱形进行输出(包括最长的行)。也使用两层循环进行输出,分别控制行数与行内的位置。

05

对n=5与n=7进行输出测试,代码如下。

06

编译运行后的结果如下

07

以下是所有的代码:

#include <stdio.h>

void print(int n)

{

//判断n是否符合正奇数的要求

if(n <0 || n % 2 == 0)

//不符合则直接退出

return

//对上半个菱形输出

int i = 1,j = 1

//i控制行数

for(i = 1i <= (n + 1) / 2i++)

{

//j控制每一行的位置

//输出空格

for(j = 1j <= (n+1)/2 - ij++)

printf(" ")

//输出*

for(j = 1j <= 2 * i - 1j++)

printf("*")

//输出换行

printf("\n")

}

//输出下一半

//i控制行数

for(i = 1i <= n/2i++)

{

//j控制每一行的位置

//输出空格

for(j = 1j <= ij++)

printf(" ")

//输出*

for(j = 1j <= n -2 * ij++)

printf("*")

//输出换行

printf("\n")

}

}

//测试函数,测试n=5和n=7

int main()

{

printf("5\n")

print(5)

printf("7\n")

print(7)

return 0

}

下面的程序是菱形打印的【终结者】,改变下设置,就基本可以满足所有菱形打印的题目。程序主体 for 语句只有9行,简单而强大 */#include <stdio.h>#include <stdlib.h>#include <string.h>// 这个小函数用来输出 repeatTimes 个字符

#includevoid main(){printf(" *\n")printf(" ***\n")printf(" *****\n")printf(" ***\n")printf(" *\n")} 这是最简单的。下面一个稍微复杂一点。#includevoid main(){int i=0,j=0,k=0for(i=0i{for(j=6-ij>=0j--){putchar(' ')...

手机党输入#include"stdio.h"main(){printf("   *\n")printf("  * *\n")printf(" *   *\n")printf("  * *\n")printf("    *\n")}