當前位置:首頁 » 編程語言 » c語言編程空心菱形圖形
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言編程空心菱形圖形

發布時間: 2022-08-11 00:11:33

c語言輸出空心菱形的代碼

#include<stdio.h>

voidLozenge0(intn,charch){//空心菱形
inti,j;
for(i=0;i<n;++i){//上半部分
for(j=0;j<=n-i;++j)printf("");//輸出每行前導空格
printf("%c",ch);
for(j=0;j<2*i-1;++j)printf("");//菱形內部空格
if(i)printf("%c",ch);
printf(" ");
}
for(i=n-2;i>=0;--i){//下半部分
for(j=0;j<=n-i;++j)printf("");//輸出每行前導空格
printf("%c",ch);
for(j=0;j<2*i-1;++j)printf("");//菱形內部空格
if(i)printf("%c",ch);
printf(" ");
}
}

intdiffabs(inta,intb){//返回a,b差值的絕對值,即|a-b|
return(a>b)?(a-b):(b-a);
}

voidLozenge(unsignedintn,charc){
unsignedinti,j,m;
for(i=0;i<n;i++){
m=diffabs(n/2,i);
for(j=0;j<=m;j++)printf("");//輸出每行前導空格
for(j=0;j<(n+1)/2-m;j++)printf("%c",c);
printf(" ");
}
}

intmain(){
intn=10;
charch='*';
Lozenge0(n,ch);
Lozenge(n,ch);
return0;
}

⑵ 用c語言做出空心的菱形代碼

這是你要的圖形:
#include<stdio.h>
int main()
{ int a=0,b=0,c=0;
for(a=1;a<=4;a++)
{ for(b=1;b<=5-a;b++) printf(" ");
for(c=1;c<=2*a-1;c++)
{ if(c==1||c==2*a-1) printf("*");
else printf(" ");
}
printf("\n");
}
for(a=1;a<=3;a++)
{ for(b=1;b<=a+1;b++) printf(" ");
for(c=1;c<=7-2*a;c++)
{ if(c==1||c==7-2*a)printf("*");
else printf(" ");
}
printf("\n");
}
getch();
return 0;
}
這是輸入行數畫出圖形。
#include<stdio.h>
int main()
{ int a=0,b=0,c=0,d=0;
scanf("%d",&d);
for(a=1;a<=d/2+1;a++)
{ for(b=1;b<=d/2+2-a;b++) printf(" ");
for(c=1;c<=2*a-1;c++)
{ if(c==1||c==2*a-1) printf("*");
else printf(" ");
}
printf("\n");
}
a=0,b=0,c=0;
for(a=1;a<=d/2;a++)
{ for(b=1;b<=a+1;b++) printf(" ");
for(c=1;c<=d-2*a;c++)
{ if(c==1||c==d-2*a)printf("*");
else printf(" ");
}
printf("\n");
}
getch();

return 0;
}
都是很容易看懂的代碼,不過要注意行數不能是偶數

⑶ 如何用C語言列印空心菱形(要求for循環)

題目錯了吧,如果你輸入偶數就不會有◇啊,只有這個題目
由鍵盤輸入正數n,要求輸出2*n+1行的菱形圖案,要求菱形左邊緊靠屏幕左邊
#include "stdio.h"
main()
{ int i,j;
int n;

scanf("%d",&n);
for(i=0;i<=n+1;i++)
{ for(j=n-i;j>=0;j--)
printf(" ");
for(j=0;j<i;j++)
printf("* ");
printf("\n"); }
for(i=0;i<n;i++)
{ for(j=0;j<i+1;j++)
printf(" ");
for(j=n-i;j>0;j--)
printf("* ");
printf("\n"); }
getch();
}

⑷ 用C語言做出空心菱形

這是你要的圖形:
#include<stdio.h>
int
main()
{
int
a=0,b=0,c=0;
for(a=1;a<=4;a++)
{
for(b=1;b<=5-a;b++)
printf("
");
for(c=1;c<=2*a-1;c++)
{
if(c==1||c==2*a-1)
printf("*");
else
printf("
");
}
printf("\n");
}
for(a=1;a<=3;a++)
{
for(b=1;b<=a+1;b++)
printf("
");
for(c=1;c<=7-2*a;c++)
{
if(c==1||c==7-2*a)printf("*");
else
printf("
");
}
printf("\n");
}
getch();
return
0;
}
這是輸入行數畫出圖形。
#include<stdio.h>
int
main()
{
int
a=0,b=0,c=0,d=0;
scanf("%d",&d);
for(a=1;a<=d/2+1;a++)
{
for(b=1;b<=d/2+2-a;b++)
printf("
");
for(c=1;c<=2*a-1;c++)
{
if(c==1||c==2*a-1)
printf("*");
else
printf("
");
}
printf("\n");
}
a=0,b=0,c=0;
for(a=1;a<=d/2;a++)
{
for(b=1;b<=a+1;b++)
printf("
");
for(c=1;c<=d-2*a;c++)
{
if(c==1||c==d-2*a)printf("*");
else
printf("
");
}
printf("\n");
}
getch();
return
0;
}

⑸ C語言空心菱形流程圖

#include<stdio.h>voidLozenge0(intn,charch){//空心菱形inti,j;for(i=0;i<n;++i){//上半部分for(j=0;j<=n-i;++j)printf("");//輸出每行前導空格printf("%c",ch);for(j=0;j<2*i-1;++j)printf("");//菱形內部空格if(i)printf("%c",ch);printf(" ");}for(i=n-2;i>=0;--i){//下半部分for(j=0;j<=n-i;++j)printf("");//輸出每行前導空格printf("%c",ch);for(j=0;j<2*i-1;++j)printf("");//菱形內部空格if(i)printf("%c",ch);printf(" ");}}intdiffabs(inta,intb){//返回a,b差值的絕對值,即|a-b|return(a>b)?(a-b):(b-a);}voidLozenge(unsignedintn,charc){unsignedinti,j,m;for(i=0;i<n;i++){m=diffabs(n/2,i);for(j=0;j<=m;j++)printf("");//輸出每行前導空格for(j=0;j<(n+1)/2-m;j++)printf("%c",c);printf(" ");}}intmain(){intn=10;charch='*';Lozenge0(n,ch);Lozenge(n,ch);return0;}

⑹ 怎麼用C語言列印一個空心的菱形

先拿一張格子紙,把你的空心棱形畫在紙上,畫到滿意為止,然後以左上角為零點,輸入電腦,有圖形的畫圖形,沒有圖形的畫空字元,然後輸出就行了……

⑺ 如何用c語言編寫程序,列印一個空心菱形,用循環寫

#include <stdio.h>

int main(void){
int i,j,k;
//上半空心菱形
for(i=1;i<=10;i++){ //控制行數 10行
for(k=10;k>i;k--){ //第一行 9空格1* i=2 8空格 2*
printf(" ");
}
//當i=1時 由第25行代碼輸出*
if(i == 1){}
else{
printf(" *");
}
//空心空格個數列印 0 2 4 6 16個
for(j=1;j<2*i-2;j++){
printf(" ");
}
printf(" *");
printf(" ");
}
//下空心菱形
for(i=1;i<=9;i++){ //去掉最長行 只有9行
//空格增多 1 2 3...9
for(k=1;k<=i;k++){
printf(" ");
}
//最後一行*號由代碼43行執行
if(i == 9){}
else{
printf(" *");
}
//空心空格個數列印 15 13 ....1 注意空格是15開始 1結束
for(j=1;j<=17-2*i;j++){ //i=9時候 列印0個空格
printf(" ");
}
printf(" *"); //列印每行後出現的*
printf(" ");//換行
}
}