⑴ c語言輸出菱形
工具/材料
ubuntu+vim+gcc
- 01
首先,輸入預處理指令#include <stdio.h>與函數原型void print(int n)。
其中,n表示行數。 - 02
然後,對輸入的n進行提前判斷,若小於0或為偶數,則結束列印。
- 03
接著對上半個菱形進行輸出(包括最長的行)。使用兩層循環進行輸出,分別控制行數與行內的位置。
- 04
接著對下半個菱形進行輸出(包括最長的行)。也使用兩層循環進行輸出,分別控制行數與行內的位置。
- 05
對n=5與n=7進行輸出測試,代碼如下。
- 06
編譯運行後的結果如下
- 07
以下是所有的代碼:
#include <stdio.h>
void print(int n)
{
//判斷n是否符合正奇數的要求
if(n < 0 || n % 2 == 0)
//不符合則直接退出
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(" ");
}
//輸出下一半
//i控制行數
for(i = 1; i <= n/2; i++)
{
//j控制每一行的位置
//輸出空格
for(j = 1; j <= i; j++)
printf(" ");
//輸出*
for(j = 1; j <= n -2 * i; j++)
printf("*");
//輸出換行
printf(" ");
}
}
//測試函數,測試n=5和n=7
int main()
{
printf("5 ");
print(5);
printf("7 ");
print(7);
return 0;
}
⑵ 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>
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("
");
}
for(i=1;i<=3;i++)
{
for(j=1;j<=i;j++) //控制要列印的空格數
printf(" ");
for(k=1;k<=7-2*i;k++) //控制要列印的星號數
printf("*");
printf("
");
}
}
(3)c語言輸出實心菱形擴展閱讀:
for循環
for循環結構是c語言中最具有特色的循環語句,使用最為靈活方便,它的一般形式為:
for(表達式1;表達式2;表達式3)循環體語句 。(其中;不能省略)
表達式
表達式1為初值表達式,用於在循環開始前為循環變數賦初值。
表達式2是循環控制邏輯表達式,它控制循環執行的條件,決定循環的次數。
表達式3為循環控制變數修改表達式,它使for循環趨向結束。
循環體語句是在循環控制條件成立的情況下被反復執行的語句。
但是在整個for循環過程中,表達式1隻計算一次,表達式2和表達式3則可能計算多次,也可能一次也不計算。循環體可能多次執行,也可能一次都不執行。
先執行表達式2,然後執行循環結構,最後表達式3,一直這樣循環下去。
for循環語句是c語言種功能最為強大的語句,甚至在一定程度上可以代替其他的循環語句。
do
do循環結構,do 1 while⑵;的執行順序是1->2->1...循環,2為循環條件。
while
while循環結構,while(1) 2; 的執行順序是1->2->1...循環,1為循環條件
以上循環語句,當循環條件表達式為真則繼續循環,為假則跳出循環。
⑷ 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語言中的for循環輸出菱形
#include <stdio.h>
int main()
{
int A=3;
scanf("%d",&A);
int i,j,x,a,b,c,d,e,f,g;
for(i=1;i<=A+1;i++)
{
for(x=A;x>=i;x--)
{
printf(" ");
}
for(a=1;a<=i;a++)
{
printf("*");
}
for(b=0;b<=i-2;b++)
{
printf("*");
}
for(c=A;c>=i;c--)
{
printf(" ");
}
printf("\n");
}
for(j=1;j<=A;j++)
{
for(d=1;d<=j;d++)
{
printf(" ");
}
for(e=A;e>=j;e--)
{
printf("*");
}
for(f=A-1;f>=j;f--)
{
printf("*");
}
for(g=0;g<=j-1;g++)
{
printf(" ");
}
printf("\n");
}
return 0;
}
要打出圖片題目中所示菱形,只需run下程序,輸入3即可(即input A=3)。代碼中的那個A可以理解為菱形的橫對角線的*的數量減1後的一半。以上代碼適合初學者,因為我也是個初學者,對於C語言高手來說,我這個復雜了,我的思路是四個小三角形拼出一個菱形的。。。你run下看可不可以?然後由於這個答案輸出框的條件限制,輸出的格式,如空格換行等那些會沒顯示到