åä¸ä¸ªç¨åºï¼æ ¹æ®ç¨æ·è¾å
¥çæ»è¡æ°ï¼æå°åºè±å½¢ã
è¿ä¸ªé¢ç®ä¸»è¦æ¯æ¾åºè§å¾ï¼èå¯è¯»è
çé»è¾æç»´ã
ä½ å¯ä»¥ä»ç¬¬ä¸è¡å¼å§ï¼éåææçåï¼ä¹å¯ä»¥ä»ç¬¬ä¸åå¼å§ï¼éåææçè¡ã
ä¸é¢çç¨åºä»ç¬¬ä¸è¡å¼å§ï¼éåææçåã
设è±å½¢çæ»è¡æ°ä¸º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
*
***
*****
*******
*********
***********
*********
*******
*****
***
*
温馨提示:内容为网友见解,仅供参考