請撰寫程式,輸出空心菱形,
輸入格式
行數(正整數)
輸出格式
若行數為奇數,則顯示由星號勾勒出的空心菱形,否則顯示錯誤資訊,
輸入樣例1
5
輸出樣例1
*
* *
* *
* *
*
輸入樣例2
8
輸出樣例2
Error
不考慮其他的函式,純純的來分析一波
#include<stdio.h>
int main() {
int l,h1;
scanf("%d", &l);
if (l % 2 == 0) {
printf("Error");
return 0;
}//排除偶數的情況
int h = 1;
int ch = 1;
int mid;
mid = (l + 1) / 2;
h1 = (l - 1) / 2;
int k = 1;
int k1 = 1;
for (;h<=mid;h++) {//此為行回圈
ch = h;
for (;1<=mid-ch;ch++) {
printf(" ");
}//
printf("*");//穩定輸出第一個*
k = 1;
if (h != 1) {//首行不輸出第二個*
for (; k <= k1; k++) {
printf(" ");
}
k1 += 2;
printf("*");//第二行后,空格規律為1,3,5...
}printf("\n");
}//上,中部分菱形完成
k1 -= 4;//k1進行削減,更改規律為...5,3,1,
h = mid - 1;//行數比上中和少一
for (; 1 <= h; h--) {
ch = h;
for (; 1 <= mid - ch; ch++) {
printf(" ");
}
printf("*");
k = 1;
if (h != 1) {
for (; k <= k1; k++) {
printf(" ");
}
k1 -= 2;
printf("*");
}printf("\n");
}
return 0;
}
用h1和k1前后反轉的變化來實作逆序
多觀察,多研究內部規律
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/382380.html
標籤:其他
下一篇:檢測Mac是否有背光鍵盤
