c语言空心字符菱形

#include<stdio.h>

main()

{

intn=0,i=0,j=0;charc='';

scanf("%c%d",&c,&n);

for(i=1;i<n+1;i++)

{

for(j=0;j<n-i;j++)printf("");

printf("%c",c+i-1);

for(j=1;i-1>0>0&&j<=2*i-3;j++)printf("");

if(i-1>0)printf("%c",c+i-1);

printf(" ");

}

for(i=n-1;i>0;i--)

{

for(j=0;j<n-i;j++)printf("");

printf("%c",c+i-1);

for(j=1;i-1>0>0&&j<=2*i-3;j++)printf("");

if(i-1>0)printf("%c",c+i-1);

printf(" ");

}

}

我是用的小写,给你看看结果:

正确的!!

发现爱脱臼之后的答案好像不行啊。。。。

二楼的答案是对的,和我相比多了一个库,也用了指针,感觉要麻烦一点点。。。(不要骂我啊)

注释我发给你了,楼主注意看消息啊。。。。

② c语言中,怎样输出菱形

这道题是要可以多次输出的,所以就用循环来控制输入输出了。至于菱形部分,可以分为增加字符输出和减少字符输出来循环输出字符和空格两部分,上一部分:字符行数就是你输入的数据n,可用for语句定义一个变量来控制输出,再看字符和空格的输出,先输出空格个数j(j=0到((n-1)-i)《包括(n-1)-i》),再输出字符个数k(k=0到2*i)《即共2*i+1个》;
然后是下一部分:也用一for语句控制输出,空格个数从(0到i),字符个数从(0到n-2*i)。
执行多次就行了。
下面是输出边长为4的*号的菱形,仅供参考(你只要根据其修改一下就行了):
main()
{
int i,j,k;
for(i=0;i<=3;i++)
{
for(j=0;j<=2-i;j++)
printf(" ");
for(k=0;k<=2*i;k++)
printf("*");
printf("\n");
}
for(i=0;i<=2;i++)
{
for(j=0;j<=i;j++)
printf(" ");
for(k=0;k<=4-2*i;k++)
printf("*");
printf("\n");
}
}

③ c语言 输入一个字符串,输出菱形样式图案,每行包含各子串。

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

int main()

{

int n,i;

char s[100];

scanf("%s",s);

n=strlen(s);

for(i=0;i<n;++i)

s[n+i]=s[n-i-1];

s[n+i]='';

for(i=-n+1;i<n;++i)

printf("%*.*s ",(n-abs(i))*2+abs(i),(n-abs(i))*2,s+abs(i));

return 0;

}

④ c语言输出菱形星号程序详解

#include"stdio.h"

intmain(void){

inti,j,k;

for(i=0;i<=3;i++){//循环4次,打出前4行

for(j=0;j<=2-i;j++)//设定每行*前面的空格,每行都是2-i个

printf("");

for(k=0;k<=2*i;k++)//循环打出2*i-1个*号,

printf("*");

printf(" ");//打完一行后换行

}

for(i=0;i<=2;i++){//循环3次,打出后3行

for(j=0;j<=i;j++)//设定每行*前面的空格,每行都是i个

printf("");

for(k=0;k<=4-2*i;k++)//循环打出2*(2-i)个*号

printf("*");

printf(" ");//打完一行后换行

}

return0;

⑤ c语言打印字符菱形

#include<stdio.h>
#include<math.h>
intmain(void)
{
intn,i,j,cnt;
while(scanf("%d",&n)!=EOF)
{
cnt=0;
for(i=-n;i<n+1;++i)
{
for(j=-n;j<n+1;++j)
{
putchar(abs(j)<=n-abs(i)?'A'+cnt++:'');
}
putchar(' ');
}
}
return0;
}

⑥ C语言,输出字母菱形

#include<stdio.h>
#include<stdlib.h>
intmain()
{inti,j,n;
scanf("%d",&n);
printf("%*c ",n,'A');
for(i=2-n;i<n-1;i++)
{j=abs(i);
printf("%*c%*c ",j+1,'A'+n-1-j,2*(n-j-1),'A'+n-1-j);
}
printf("%*c ",n,'A');
return0;
}

⑦ C语言输入一字符串,按实例的样子打印菱形,该怎么做

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

int main()

{

int n,i;

char s[100];

scanf("%s",s);

n=strlen(s);

for(i=0;i<n;++i)

s[n+i]=s[n-i-1];

s[n+i]='';

for(i=-n+1;i<n;++i)

printf("%*.*s ",(n-abs(i))*2+abs(i),(n-abs(i))*2,s+abs(i));

return 0;

}

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

// 程序大体上都差不多,我这是在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");
}
}

⑨ c语言输入奇数和字符输出菱形

#include
int main()
{
int i, n, j;
scanf("%d",&n);
for(i = 0; i <= n/2; i ++)
{
for(j = 0; j < n/2-i; j ++)
putchar(' ');
for(j = 0; j <= i*2; j ++)
putchar('*');

putchar('\n');
}
for(i = n/2 - 1; i >= 0; i --)
{
for(j = 0; j < n/2-i; j ++)
putchar(' ');
for(j = 0; j <= i*2; j ++)
putchar('*');

putchar('\n');
}

}