```
#include <stdioh>
int main() {
int i, j, n;
printf("请输入菱形图案的行数:");
scanf("%d", &n);
// 输出上半部分
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");
}
// 输出下半部分
for (i = n - 1; i >= 1; i--) {
for (j = 1; j <= n - i; j++) {
printf(" ");
}
for (j = 1; j <= 2 i - 1; j++) {
printf("");
}
printf("\n");
}
return 0;
}
```
代码中的第一个循环用于输出上半部分,第二个循环用于输出下半部分。内循环中使用了两个循环体来打印空格和星号。在循环结束后,换行进行下一行的输出。可以通过设置用C语言编写出一个五行菱形。
观察菱形,它的每一行前面会有空格,要打印菱形,首先要算出空格多少的规律,以及每行的数目,把菱形分为上下两部分打印,上半部分规律。#include
"stdioh"
void
main()
{
int
k=65,i;
printf("请输入A~Z中任意一个字符,必须大写:\n");
char
c=getchar();
while(k<=(int)c)
{
for(i=0;i<(k-65)2+1;i++)
printf("%c",k);
printf("\n");
k++;
}
k=k-2;
while(k>=65)
{
for(i=0;i<(k-65)2+1;i++)
printf("%c",k);
printf("\n");
k--;
}
}
//刚才试过了,可以的,只是注意输入的必须是大写。菱形其实是两个三角形组成,如果你会打印三角形,稍微思考一下就能得到菱形
#include <stdioh>
int main()
{
int i,j,k;
for (i=1;i<=5;i++) //外层循环控制输出行数
{
for (k=0;k<15-i;k++) //内部第一个循环控制位置
{
printf(" ");
}
for (j=1;j<2i;j++) //第二个循环打印图案
{
printf("");
}
printf("\n");
}
for (i=4;i>=1;i--) //打印下边三角形
{
for(k=0;k<15-i;k++)
printf(" ");
for(j=1;j<2i;j++)
printf("");
printf("\n");
}
return 1;
}题目:打印出如下图案(菱形)
1程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重
for循环,第一层控制行,第二层控制列。
2程序源代码:
#include "stdioh"
#include "conioh"
main()
{
int i,j,k;
for(i=0;i<=3;i++)
{
for(j=0;j<=2-i;j++)
printf(" ");
for(k=0;k<=2i;k++)
printf("");
printf("\n");
}
for(i=0;i<=2;i++)
{
for(j=0;j<=i;j++)
printf(" ");
for(k=0;k<=4-2i;k++)
printf("");
printf("\n");
}
getch();
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)