我想把數字,可以是一個,兩個,三個,四個等數字的形狀。儘管如此,額外的空間已經轉移。此外,中心轉移。我嘗試不同的方式,但是,我不能。我該如何解決這個問題。謝謝你所有讚賞的答案。把一個數字放在一個空心的形狀
輸出的例子是: http://i.stack.imgur.com/Kozr1.png
#include <stdio.h>
/* Function Prototypes */
int countNumber(int number);
int main() {
int n; /* number to put in the center of the shape */
int column, row; /* take values of column and row via user */
int columnCount, rowCount; /* count number of column and row */
int i; /* count how many spaces remained */
printf("Enter column:\n>");
scanf("%d",&column);
printf("\nEnter row:\n>");
scanf("%d",&row);
printf("\nEnter number for center:\n>");
scanf("%d",&n);
if((10<column && column<40) && (10<row && row<40)){
for (columnCount = 0; columnCount < column; columnCount++) {
for (rowCount = 0; rowCount < row; rowCount++) {
/* Middle Row */
if (columnCount == column/2) {
printf("#");
for (i = 0; i < ((row*2-3)-countNumber(n))/2;i++)
printf(" ");
printf("%d", n);
for (i = 0; i < ((row*2-3)-countNumber(n))/2;i++)
printf(" ");
printf("#");
break;
}
if (columnCount==0 || columnCount==column-1 || rowCount==0 || rowCount==row-1)
printf("# ");
else
printf(" ");
}
printf("\n");
}
}
else
printf("Please enter value btw 10-40");
return 0;
}
/* Function */
int countNumber(int number) {
int count;
for(count=0;0<number;count++) /* the number how many decimal places have */
number/=10;
return count;
}
請添加純文本輸出這樣在您的文章。把它作爲圖像不會增加任何有用的東西。 – usr2564301 2014-10-05 11:08:31
trivally可調試。不要告訴我你不知道是什麼原因造成的。 – 2014-10-05 11:08:33
注意:'column' as * outer * loop沒有任何意義。 – 2014-10-05 11:11:12