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');
}

}