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

怎麼用c語言打出菱形星陣

發布時間: 2022-05-19 12:06:16

『壹』 用c語言輸出星號菱形圖

#include "stdio.h"
void main()
{
int i;
int j;
int k;
for (i = 0; i < 7 ; i++)
{
if (i < 4)
{
for (j = 4-i;j > 0;j--)
{
printf(" ");
}
for (k = 0;k < 2*i+1;k++)
{
printf("*");
}
}
else
{
for (j = 0; j <= i - 3;j++)
{
printf(" ");
}
for (k =13-2*i;k > 0 ;k--)
{
printf("*");
}
}
printf("\n");
}

}

『貳』 如何用c語言顯示菱形

  • 1

    運用C語言程序輸出一個菱形:

    源代碼為:

    #include<stdio.h>

    void main()

    {

    int n=6;

    int i,a,b;

    //前4行.上半部分

    for( i=1;i<=n;i++)//控制行數

    {

    for( a=n-1;a>=i;a--)//列印空格

    {

    printf(" ");

    }

    for( b=1;b<=2*i-1;b++)//列印*

    {

    printf("*");

    }

    printf(" ");

    }

    //後3行,下半部分

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

    {

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

    {

    printf(" ");

    }

    for( b=1;b<=2*i-1;b++)

    {

    printf("*");

    }

    printf(" ");

    }

    }

『叄』 C語言中怎麼用二維數組輸出菱形的星號

寫一個程序,根據用戶輸入的總行數,列印出菱形。

這個題目主要是找出規律,考察讀者的邏輯思維。

你可以從第一行開始,遍歷所有的列,也可以從第一列開始,遍歷所有的行。

下面的程序從第一行開始,遍歷所有的列。

設菱形的總行數為line,總列數為column,當前行為i,當前列為j。上半部分與下半部分的規律不一樣,應該分開討論。

我們著眼於星號(*),思考什麼條件下輸出星號,總結出如下的規律。

1) 對於上半部分(包括中間一行),當前行與當前列滿足如下關系輸出星號:

j>=(column+1)/2-(i-1) (column+1)/2-(i-1)為第i行最左邊的星號

j<=(column+1)/2+(i-1) (column+1)/2+(i-1)為第i行最右邊的星號

2) 對於下半部分,當前行與當前列滿足如下關系輸出星號:

j>=(column+1)/2-(line-i) (column+1)/2-(line-i)為第i行最左邊的星號

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; // 當前列

printf("請輸入菱形的行數(奇數):");
scanf("%d", &line);
if(line%2==0){ // 判斷是否是奇數
printf("必須輸入奇數!\n");
exit(1);
}
column = line; // 總行數和總列數相同

for(i=1; i<=line; i++){ // 遍歷所有行
if(i<(line+1)/2+1){ // 上半部分(包括中間一行)
for(j=1; j<=column; j++){ // 遍歷上半部分的所有列
if( (column+1)/2-(i-1)<=j && j<=(column+1)/2+(i-1) ){
printf("*");
}else{
printf(" ");
}
}
}else{ // 下半部分
for(j=1; j<=column; j++){ // 遍歷下半部分的所有列
if( (column+1)/2-(line-i)<=j && j<=(column+1)/2+(line-i) ){
printf("*");
}else{
printf(" ");
}
}
}
printf("\n");
}

return 0;
}
運行結果:
請輸入菱形的行數(奇數):11
*
***
*****
*******
*********
***********
*********
*******
*****
***
*

『肆』 如何用c語言程序輸出一個9行菱形星陣

#include <stdio.h>
#define N 5
int main()
{
int i,j;
for(i=0; i<N; i++)
{
for(j=i; j<N-1; j++)
printf(" ");
for(j=0; j<i+1; j++)
printf("*");
for(j=0; j<i; j++)
printf("*");
printf("\n");
}

for(i=0; i<N-1; i++)
{
for(j=0; j<i+1; j++)
printf(" ");
for(j=i; j<N-1; j++)
printf("*");
for(j=i; j<N-2; j++)
printf("*");
printf("\n");
}
}

『伍』 用c語言循環語句輸出菱形星號

我寫的代碼常量可修改任意奇數,實現其他大小的菱形。

#include<stdio.h>
#definemaxLen7//菱形最寬處*號個數,可修改!(必須是奇數)
intmain()
{
inti=1,j,m=maxLen;
while(i<m)//上半層
{
for(j=0;j<(m-i)/2;j++)
printf("");
for(j=0;j<i;j++)
printf("*");
for(j=0;j<(m-i)/2;j++)
printf("");
printf(" ");
i+=2;
}
for(i=0;i<m;i++)//中間層
printf("*");
printf(" ");
i=m-2;
while(i>=1)//下半層
{
for(j=0;j<(m-i)/2;j++)
printf("");
for(j=0;j<i;j++)
printf("*");
for(j=0;j<(m-i)/2;j++)
printf("");
printf(" ");
i-=2;
}
return0;
}

『陸』 C語言 編 菱形的星陣 和 九九乘法表

#include "stdio.h"
void main()
{
int i,j;
for(i=1;i<10;i++)
{
for(j=1;j<=i;j++)
{
printf("%d*%d=%d\t",i,j,i*j);
}
printf("\n");
}
}
以上是九九表

/* Note:Your choice is C IDE */
#include "stdio.h"
#include <math.h>
void main()
{
int row,space_num,star_num,base;
printf("請輸入要列印的行數");
scanf("%d",&base);
for(row = -(base-1); row <= (base-1); row++)
{
for(space_num = 1; space_num <= abs(row); space_num++)
printf(" ");
for(star_num = 1; star_num <= (base-abs(row))*2-1; star_num++)
printf("*");
printf("\n");
}

用字母列印菱形:
/* Note:Your choice is C IDE */
#include "stdio.h"
#include"math.h"
void main()
{
int row,space_num,coordinate,base,n;
printf("請輸入要列印的行數");
scanf("%d",&base);
for(row = -(base-1); row <= (base-1); row++) //行號
{
for(space_num = 1; space_num <= abs(row); space_num++) //行數等於空格數
printf(" "); //列印空格
n = (base-abs(row))*2-1; //每行列印字母個數
for(coordinate =-(int)(n/2) ; coordinate <= (int)(n/2); coordinate++)
printf("%c",'A'+(int)(n/2)-abs(coordinate));
printf("\n");
}
}

/* Note:Your choice is C IDE */
#include <math.h> //使用數學函數要在函數頭加上
#include "stdio.h"
void main()
{
int i,j;
for(i=-6;i<=6;i++) //以縱坐標為自變數,橫坐標為因變數
{ printf("\n");
for(j=1;j<=7-abs(i);j++) //縱坐標的絕對值與橫坐標值(也就是要列印*號的個數 )之和是
printf("*");
}
printf("\n");
}
自己看下,參考

『柒』 怎樣用c語言打出菱形*陣

#include<stdio.h>
main()
{
int i,n,r,k;
printf("Please input an integer:\n");
scanf("%d",&n);
i=1;
while(i<=n)
{
for(k=1;k<=(n-i);k++)
printf(" ");

for(r=1;r<(2*i-1);r++)
printf("*");

printf("*\n");
i++;
}
i=n+1;
while(i>n&&i<=(2*n-1))
{
for(k=1;k<=(i-n);k++)
printf(" ");
for(r=1;r<(2*(n-i+n)-1);r++)
printf("*");
printf("*\n");
i++;
}

return 0;
}

『捌』 C語言程序功能要求為,輸入一個整數n(n>0 && n<10), 列印出星號菱形陣列

#include<stdio.h>

intmain(){

inta[256]={0};

chars[10001];

while((fgets(s,10000,stdin))!=NULL){

inti=0;

while(s[i]){

if(s[i]>='a'&&s[i]<='z')

a[s[i]-32]++;

elseif((s[i]>='A'&&s[i]<='Z')||(s[i]>='0'&&s[i]<='9'))

a[s[i]]++;

i++;

}

for(intj=0;j<256;j++)

if(a[j]!=0)

printf("%c",j);

}

return0;

}

『玖』 c語言輸出菱形

java語言輸出菱形:

publicstaticvoidmain(String[]args){
introw=11;//設置列印的行數,11也就是菱形對角線的長。
for(inti=0;i<row;i++){
for(intj=0;j<row;j++){
//左上,右上,左下,右下四個角列印空格
//可以一個判斷語句寫出,四個判斷分別對應四個角的位置
if(i<row/2&&(j<row/2-i||j>row/2+i)||
i>row/2&&(j<i-row/2||j>row-i+row/2-1)){
//滿足條件列印空格
System.out.print("");
}else{
//不滿足條件列印*
System.out.print("*");
}
}
//一次循環結束,換行
System.out.println();
}
System.out.println("---------------------------------");

//下面列印花紋。很多菱形循環排列
//設置橫排重復次數15,豎排重復次數12。共15*12個菱形,每一個菱形是11的對角線長
intwCount=15;
inthCount=12;
intwRows=row*wCount;
inthRows=row*hCount;
for(inti=0;i<hRows;i++){
inttemp1=i;
i=i%row;
for(intj=0;j<wRows;j++){
inttemp2=j;
j=j%row;
if(i<row/2&&(j<row/2-i||j>row/2+i)||
i>row/2&&(j<i-row/2||j>=row+row/2-i)){
System.out.print("");
}else{
System.out.print("*");
}
j=temp2;
}
i=temp1;
System.out.println();
}

}

『拾』 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;