題目:
編寫一個程序,要求統計輸入文本的行數。
Input
每行輸入任意長度的字符串(每一行的字符串的長度小于等于1000),以輸入僅由符號@構成的行作為結束, @所在的行不計入行數。
Output
輸出文本的行數。
Sample Input
Hello world!
I come from China!
I’m a boy!
@
Sample Output
3
起初準備用單個字符的方法來解決問題發現,后來轉到字符串。
詳細代碼:
#include<stdio.h>
#include<math.h>
#include<string.h>
int main()
{int j=0;char a[1000];int hn=0;gets(a);j=strlen(a);while(j!=1||a[0]!='@')//跳出循環的談條件是j==1&&a[0]=='@',所以進入循環的條件即為前者的否定{hn++;gets(a);j=strlen(a);}printf("%d\n",hn);return 0;
}
要點:
1.注意好進入循環的條件,通過對首個字符和整個字符串的長度進行判斷。
2.貌似判斷"\n"是一個陷阱。
3.此題可能無法通過單個字符輸入來判別行數