菱形
#include<stdio.h>
int main(){
//上
int line=0;
printf("请输入上面的行数:");
scanf("%d",&line);
int i=0;
for(i=0;i<line;i++){
int j=0;
//输出空格
for(j=0;j<line-1-i;j++){
printf(" ");
}
//输出*号
for(j=0;j<2*i+1;j++){
printf("*");
}
printf("\n");
}
//下
for(i=0;i<line-1;i++){
int j=0;
//空格
for(j=0;j<=i;j++){
printf(" ");
}
//输出*号
for(j=0;j<2*(line-1-i)-1;j++){
printf("*");
}
printf("\n");
}
return 0;
}
运行结果:
空心菱形
#include <stdio.h>
int main() {
int i, j, n;
printf("请输入菱形的行数:");//上行
scanf("%d", &n);
for (i = 0; i < n; i++) {
for (j = 0; j < n - i - 1; j++) {
printf(" ");
}
for (j = 0; j < 2 * i + 1; j++) {
if (j == 0 || j == 2 * i) {
printf("*");
} else {
printf(" ");
}
}
printf("\n");
}
// 打印下半部分
for (i = n - 1; i >= 1; i--) {
for (j = 1; j <= n - i; j++) {
printf(" ");
}
for (j = 1; j <= 2 * i - 1; j++) {
if (j == 1 || j == 2 * i - 1) {
printf("*");
} else {
printf(" ");
}
}
printf("\n");
}
return 0;
}
结果运行:
字母菱形:
#include <stdio.h>
int main() {
int i, j, n;
printf("请输入菱形的行数:");//上行
scanf("%d", &n);
char k='A';
char m='D';
for (i = 0; i < n; i++) {
for (j = 0; j < n - i - 1; j++) {
printf(" ");
}
for (j = 0; j < 2 * i + 1; j++) {
if (j == 0 || j == 2 * i) {
printf("%c",k);
} else {
printf(" ");
}
}
printf("\n");
k++;
}
// 打印下半部分
for (i = n - 1; i >= 1; i--) {
for (j = 1; j <= n - i; j++) {
printf(" ");
}
for (j = 1; j <= 2 * i - 1; j++) {
if (j == 1 || j == 2 * i - 1) {
printf("%c",m);
} else {
printf(" ");
}
}
printf("\n");
m--;
}
return 0;
}
输出结果: