C语言(CED)统计行数

题目:

编写一个程序,要求统计输入文本的行数。
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.此题可能无法通过单个字符输入来判别行数

猜你喜欢

转载自blog.csdn.net/GenuineMonster/article/details/81479632