跳躍不連續 wrote:請問各位C語言先進輸...(恕刪) 來啦,以下這個版本比較適合你的程度if (n == 1) printf("*\n");else if (n == 3) printf("*\n***\n");else if (n == 5) printf("*\n***\n*****\n");else if (n == 7) printf("*\n***\n*****\n*******\n");else printf("我程度有限,請不要為難我。\n");
對不起我不大會巢狀迴圈所以寫個單迴圈版的.. (喂)#include <stdio.h>int main() {int i = 0, j = 0, x = 0;printf("Input a positive odd number: ");scanf("%d", &x);if (1 != x % 2 || x <= 0) {printf("%d is not a positive odd number.\n", x);return -1;}for (i = 1, j = 1; i <= (x*x+2*x+1)/4; i++) {printf("*");if (i == j*j) {printf("\n");j++;}}return 0;}== 同場加映 recursive ==#include <stdio.h>int printStar(int i, int j, int x);int main() {int x = 0;printf("Input a positive odd number: ");scanf("%d", &x);if (1 != x % 2 || x <= 0) {printf("%d is not a positive odd number.\n", x);return -1;}return printStar(1, 1, (x*x+2*x+1)/4);}int printStar(int i, int j, int x){printf("*");if (i == j * j) {printf("\n");j++;}if (i == x) {return 0;}return printStar(i + 1, j, x);}