用C语言输出一个字母菱形

想的头都大了
这个怎么做啊...

给出一个字母,输出以下菱形,该菱形中间一行由此字母组成,其相邻的上下两行由它前面的字母组成,按此规律直到字母A
A
BBB
CCCCC
DDDDDDD
CCCCC
BBB
A
A、B等都是居中的啊

// 程序大体上都差不多,我这是在VC上运行过的,TC上应该也没问题,有错的话欢迎留言指教
#include <stdio.h>
int main()
{
char c;
int n=0,i,j,k;
printf("Please input a letter:");
scanf("%c",&c);
if(c<'A'||c>'Z')
{
printf("Error Input!\n");
return 0;
}
n=c-'A'+1;
for(i=0;i<n;i++)
{
for(j=0;j<n-i-1;j++)/* 输出每行的空格*/
printf(" ");
for(k=0;k<2*i+1;k++)
printf("%c",(char)('A'+i));
printf("\n");
}
for(i=n-2;i>=0;i--)
{
for(j=0;j<n-i-1;j++)/* 输出每行的空格*/
printf(" ");
for(k=0;k<2*i+1;k++)
printf("%c",(char)('A'+i));
printf("\n");
}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-11-04
# include <stdio.h>

void main()
{
int i, j, k;
/* 变量i从0到3,表示所画菱形图的第一至第四行 */
for(i = 0; i <= 3; i++)
{
/* 当行数为i时,空格数是i的函数,为2-i个 */
for(j = 0; j <= 2-i; j++)
printf(" ");
/* 字母数也是i的函数,为2i+1个 */
for(k = 0; k <= 2*i; k++)
putchar('A'+i); /* 输出字母 */
printf("\n");
}
/* 变量i从0到2,表示所画菱形图的第五至第七行 */
for(i = 0; i <= 2; i++)
{
/* 当行数为i时,空格数是i的函数,此时为i个 */
for(j = 0; j <= i; j++)
printf(" ");
/* 字母数也是i的函数,此时为4-2*i个 */
for(k = 0; k <= 4-2*i; k++)
putchar('C'-i); /* 输出字母 */
printf("\n");
}
}
第2个回答  2008-11-04
#include "stdio.h"

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--;

}

}

//刚才试过了,可以的,只是注意输入的必须是大写。
第3个回答  2008-11-04
#include "iostream.h"

void main()
{
char ch[4]={'A','B','C','D'};
int i,j,k;
for(i=0;i<7;i++)
{
if(i<4)
{
k=2*i+1;
for(j=0;j<k;j++)
cout<<ch[i];
cout<<endl;
}
if(i>=4)
{
k=(-2)*i+13;
for(j=0;j<k;j++)
cout<<ch[6-i];
cout<<endl;
}
}
}
第4个回答  2008-11-04
#include <stdio.h>
void main()
{
printf("Please input a letter:");
char c;
scanf("%c",&c);
for(int i='A';i<=c;i++)
{
for(int j='A';j<=i;j++)
printf("%c",i);
printf("\n");
}
for(int i=c-1;i>='A';i--)
{
for(int j=i;j>='A';j--)
printf("%c",i);
printf("\n");
}

}

c语言输出菱形
return;\/\/对上半个菱形输出 int i = 1,j = 1;\/\/i控制行数 for(i = 1; i = (n + 1) \/ 2; i++){ \/\/j控制每一行的位置 \/\/输出空格 for(j = 1; j = (n+1)\/2 - i; j++)printf( );\/\/输出 for(j = 1; j = 2 * i - 1; j++)printf(*);\/\/输出换行 printf(...

C语言,输出字母菱形
&n); printf("%*c\\n",n,'A'); for(i=2-n; i<n-1; i++) { j=abs(i); printf("%*c%*c\\n",j+1,'A'+n-1-j,2*(n-j-1),'A'+n-1-j); } printf("%*c\\n",n,'A');

用C语言编写一个程序输出菱形图案
intmain(void){ inti,j,k,n;printf("n=");scanf("%d",&n);for(i=1;i<=n;i){ for(j=1;j<=n1-i;j)printf("");for(k=1;k<=2*i-1;k)printf("%c",64i);printf("");} for(i=1;i<=n-1;i){ for(j=1;j<=i1;j)printf("");for(k=1;k<=2*(n-i)-1;k)...

C语言编程,打印菱形 *
已经验证过了:include<stdio.h> define num 7 \/\/可以修改这个数字来改变菱形的大小,只能是奇数哦。void main(){ for(int n=0,m=0;n<num;n++){ m=n;if(n>num\/2)m=num-1-n;{ for(int j=num-2*m+1;j>0;j--){ printf(" ");} for(int i=0;i<(2*m+1);i++){ ...

用c语言编写一段程序,输出菱形图案
h> void main() { int i,j,k; for(i=1;i<=4;i++) \/\/先打印上边的四行 { for(j=1;j<=4-i;j++) \/\/控制要打印的空格数量 printf(" "); for(k=1;k<=2*i-1;k++) \/\/控制要打印的星号数 printf("*"); printf("\\n"); } for(i=1;i<=3;i++) { for(j=1;...

如何用C语言打印菱形?
int main(void){ int n,i,j,m;scanf("%d",&n); \/\/2n-1为菱形边长 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");} m=n-1;for(i=1;i<=m;i++){for(j=1;j<=i;j++) printf(" ");for(j...

怎么用C语言打印出一个菱形,求代码,想好好久了都没有想出来。
用C语言打印出一个菱形的程序如下 include <stdio.h>#include <stdlib.h>int main(){ int N=5,i,j,k; for (i = 1; i <= 2*N-1; i++) { for (j = 1; j <= abs(N - i); j++) { printf(" "); } for (k = 1; k <= 2*N-1-abs(i-N)*2; k++) {...

c语言输出一个菱形
h>int main(void){int i,j,k;char ch;printf("请输入一个代写字母:");scanf("%c",&ch);k=ch-'A';for(i=-k;i<=k;i++){for(j=-k;j<=k;j++)printf(abs(i)+abs(j)<=k ? "*" : " ");printf("\\n");}return 0;}不懂追问我学过数学,自己画个图你就明白了 ...

C语言怎么输出一个菱形图案?
j<=(column+1)\/2+(line-i) (column+1)\/2+(line-i)为第i行最右边的星号 不满足上述条件,则输出空格。于是写出如下的代码:纯文本复制 include <stdio.h>#include <stdlib.h>int main(){int line; \/\/ 菱形总行数int column; \/\/ 菱形总列数int i; \/\/ 当前行int j; \/\/ 当...

用C语言打印菱形图案的方法是什么?
下面的程序是菱形打印的【终结者】,改变下设置,就基本可以满足所有菱形打印的题目。程序主体 for 语句只有9行,简单而强大 *\/#include <stdio.h>#include <stdlib.h>#include <string.h>\/\/ 这个小函数用来输出 repeatTimes 个字符 includevoid main(){printf(" *\\n");printf(" ***\\n");...

相似回答