請編寫函數fun,函數的功能是統計一行字符串中單詞的個數,字符串在主函數中輸入,規定所有單詞由小寫字母組成,單詞之間有若干個空格隔開,一行的開始沒有空格。
#include <stdio.h> #include <string.h> #define N 80 int fun( char *s) { int i,k=0; for(i=0;i<strlen(s);i++) { if(s[i]!=' '&&s[i+1]==' '||s[i]!=' '&&s[i+1]=='\0') { k++; } } return k; } main() { char line[N]; int num=0;void NONO (); printf("Enter a string :\n"); gets(line); num=fun( line ); printf("The number of word is : %d\n\n",num); NONO(); } void NONO () {/* 請在此函數內打開文件,輸入測試數據,調用 fun 函數,輸出數據,關閉文件。 */ FILE *rf, *wf ; int i, num ; char line[N], *p ; rf = fopen("..\\in.dat","r") ; wf = fopen("..\\out.dat","w") ; for(i = 0 ; i < 10 ; i++) { fgets(line, N, rf) ; p = strchr(line, '\n') ; if(p != NULL) *p = 0 ; num = fun(line) ; fprintf(wf, "%d\n", num) ; } fclose(rf) ; fclose(wf) ; }
例如輸入welcome to visit my blog運行結果