#include<stdio.h>
#include<stdlib.h>
intmain(){
intline=7 //菱形总行数
intcolumn //菱形总列数
inti //当前行
intj //当前列
printf("请输入菱形的行数(奇数):7\n")
scanf("%d",&line)
if(line%2==0){ //判断是否是奇数
printf("必须输入奇数!\n")
exit(1)
}
column=line //总行数和总列数相同
for(i=1i<=linei++){ //遍历所有行
if(i<(line+1)/2+1){ //上半部分(包括中间一行)
for(j=1j<=columnj++){ //遍历上半部分的所有列
if((column+1)/2-(i-1)<=j&&j<=(column+1)/2+(i-1)){
printf("*")
}else{
printf("")
}
}
}else{ //下半部分
for(j=1j<=columnj++){ //遍历下半部分的所有列
if((column+1)/2-(line-i)<=j&&j<=(column+1)/2+(line-i)){
printf("*")
}else{
printf("")
}
}
}
printf("\n")
}
return0
}
扩展资料:
C语言书写规则:
1、一个说明或一个语句占一行。
2、用{}括起来的部分,通常表示了程序的某一层次结构。{}一般与该结构语句的第一个字母对齐,并单独占一行。
3、低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更加清晰,增加程序的可读性。在编程时应力求遵循这些规则,以养成良好的编程风格。
参考资料:
百度百科-c语言
以下是使用 C 语言编写一个输出 9 行由星号组成的菱形的程序,使用了双重 for 循环:```c
#include <stdio.h>
int main() {
int rows = 9
int i, j, k
for (i = 1i <= rowsi++) {
for (j = 1j <= rows - ij++) {
printf(" ")
}
for (k = 1k <= 2 * i - 1k++) {
printf("*")
}
printf("
")
}
for (i = rows - 1i >= 1i--) {
for (j = 1j <= rows - ij++) {
printf(" ")
}
for (k = 1k <= 2 * i - 1k++) {
printf("*")
}
printf("
")
}
return 0
}
```
在上面的代码中,我们首先定义了一个变量 rows,它表示菱形的行数。接着使用了两个 for 循环来产生菱形的上半部分和下半部分。对于每一行,我们使用内层的 for 循环来打印菱形的空格和星号。外层的 for 循环则用于控制总共需要多少行。其中,第一个循环从 1 到 rows,第二个循环从 rows - 1 到 1。这样就可以输出完整的菱形了。
示例输出:
```
*
***
*****
*******
*********
*******
*****
***
*
```
希望这个代码可以帮助你实现你所需的功能
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)