C programming problem

2006-11-15 11:03 pm
/*==================== printOne ====================
Prints pattern#1, as shown below:
Pre size
Post pattern#1 printed
if size is 5:

5 * * * *
* 5 * * *
* * 5 * *
* * * 5 *
* * * * 5
*/

Can anyone tell me how to code this pattern ? (in C language)
更新1:

using *****for - loop****

回答 (2)

2006-11-16 12:12 am
✔ 最佳答案
假設大小的 variable 是 size:

在 variable declaration 加入:

int i = 0;
int j = 0;

在下面加入:

for(i = 0; i < size; i=i+1)
{
 for(j = 0; j < size; j=j+1)
 {
  if(j > 0) printf(” ”);
  if(i == j) printf(”%d”, size);
  else printf(”*”);
 }
 printf("\n");
}


~~小小補充~~
1. 為避免出現亂碼,上面的 code 裡面大於 (>)、小於 (<) 及 double quote (”) 均用了全型顯示。如果你要 copy-and-paste 出來使用,請自行轉回半型顯示。

2. 為讓你更容易看到 code 的對齊,上面的 code 裡面用了全型 space 做對齊。如果你要 copy-and-paste 出來使用,請自行轉回半型顯示或 tab。

~~code 的解釋~~
1. 「if(j > 0) printf(” ”);」 是使每一行除了第一次之外都先 print 一個 space bar 出來。

2. 「if(i == j) printf(”%d”, size); else printf(”*”);」 是檢查每一行,除了當行數等如次數時 (例如第一行第一次,第二行第二次,等等) 才 print variable size 出來,否則 print "*"。

3. 「printf("\n");」 是使每一行之後 print 一個 enter 到下一行。

4. 「i=i+1」和「j=j+1」是較好的 programming practice,當然你可以轉用「i++」和「j++」。

希望幫到你。
2006-11-16 2:27 am
pls try following code:

#include 〈stdio.h〉;

#define SIZE 5

int main( )
{ int i, j;

for ( i = 0; i < SIZE; i++ )
{ for ( j = 0; j < SIZE; j++ )
{ if ( i == j ) printf( “%d”, SIZE );
else printf( “*” );
}
printf( ”\n” );
}
return 0;
}

hope can help u


收錄日期: 2021-04-23 18:47:12
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20061115000051KK01579

檢視 Wayback Machine 備份