|
Post by huangno1 on Mar 2, 2017 20:32:44 GMT -8
程式說明
本程式首先輸入字串個數 N,接著可以輸入 N 個字串(每個字串不超過 20 個字元),字串間以不定個數的空白字元或換行字元隔開。
每讀完一個字串,就把字串輸出於獨立的一行。
輸入範例一
3
abc def 1a2b3c
輸出範例一
abc
def
1a2b3c
輸入範例二
3
abc
def 1a2b3c
輸出範例二
abc
def
1a2b3c
題目敘述
請完成 scan() 函式與 print() 函式。
scan() 函式會讀入一串不包含空白或換行字元的字元,存入指定的字元陣列中,並將該字串的個數存入指定的變數中。
print() 函式會列印傳入字元陣列中的字元,列印的字元個數為函式的第二個參數。
#include <stdio.h>
void scan(
char str [ ] , int *size
)
{
int i = 0 ;
char ch = getchar ( ) ;
while ( ch == ' ' || ch == '\n' ) // 讀取一開始連續的空白或換行字元
{
ch = getchar ( ) ;
}
while ( ch != '\n' && ch != ' ' ) // 在還沒讀到空白或換行字元時
{
str [ i ] = ch ;
i += 1 ;
ch = getchar ( ) ;
}
*size = i ;
}
// -----------------------------------
void print(
const char str [ ] , int size
)
{
for ( int i = 0 ; i < size ; i += 1 )
{
putchar ( str [ i ] ) ;
}
}
// -----------------------------------
int main()
{
int N=0;
scanf("%d", &N);
for (int i=0; i<N; i+=1)
{
char str[20], input;
int size = 0;
scan(str, &size);
print(str, size);
putchar('\n');
}
return 0;
}
|
|