python输入一个英文句子、统计并输出单词数_C语言实现输入多行英文句子然后统计单词数和行数,如何输入?我的代码问题在哪里?...
楼主试试在printf之前输出num,很大概率是等于0的。
最严重的问题:
、*(如果以下看不懂请移动至最下面,对gets()函数的分析)*、
1、gets(s)每次返回一行而不是一次性返回EOF之前的全部字符!楼主可能是这一点想错了,如果不是请看下面的分析。
2、为什么num=0? gets(s)每次读一行,s是字符串,楼主每次只判断了一个字符*p,就继续下一次循环了,输入的样例很可能会导致num=0的就是num++那句不会执行。应该再加一重循环while(*p!='\0')判断s里的每个字符。
3、每次判断一行数字,p就应该从s的开头开始,所以 char *p=s应该放在while(get(s))这个循环里面。
其他的方法我推荐用while((ch=getchar())!=EOF),这个你的思路挺符合的,一个字符一个字符判断,你可以去搜这句,挺经典的。
int getchar ( void)
返回值为用户输入的ASCII码,读到文件末尾返回EOF,EOF的值是-1
从方法上说,可以用空格或换行判断单词数,'\n'判断行数。按照题目来说应该是没有句号或逗号的。
比如
char ch;
while((ch=getchar())!=EOF){
if(ch=='\n') {
lineNum++;
wordNum++;
}
else if(ch==' ') {
wordNum++;
}
printf("%d %d",lineNum,wordNum);
while(1); // 按Ctrz+z后卡死在这里可以看输出的结果
我测试了下,目测正确。
抱歉,之前没仔细看代码,就看了一行while(gets(s)!=EOF) 。就直接写答案了,刚刚想起其实好像也没什么问题,所以去看了你的代码。
之前的回答:
楼主用的是C编译器的吧,我用C++编译器编译不过的。ERROR:ISO C++ forbids comparison between pointer and integer 。
gets() 错了,gets()返回的是指针,EOF是int整数,应该用while(gets(s)!=NULL) 。
如下:
函数原型是char * gets (char * buffer ); 读取成功返回和buffer相同的指针,遇到错误或EOF返回NULL。
执行时,不断从stdin读取字符,遇到换行符或EOF时停止,并将读取的结果存放在buffer中。注意换行符会被转换为‘\0’(空字符),加在buffer的后面。
python输入一个英文句子、统计并输出单词数_C语言实现输入多行英文句子然后统计单词数和行数,如何输入?我的代码问题在哪里?...相关推荐
- python输入一个正整数n求下列算式的值_C语言编写程序:输入一个正整数x和一个正整数n,求下列算式的值。,C语言 编写一个程序,输入一个正整数,求出它是几位数。...
导航:网站首页 > C语言编写程序:输入一个正整数x和一个正整数n,求下列算式的值.,C语言 编写一个程序,输入一个正整数,求出它是几位数. C语言编写程序:输入一个正整数x和一个正整数n,求下 ...
- python输入一个三位数输出百位十位个位_python输入一个水仙花数(三位数) 输出百位十位个位实例...
我就废话不多说了,大家还是直接看代码吧! # python输入一个水仙花数(三位数) 输出百位十位个位 """ 从控制台输入一个三位数num, 如果是水仙花数就打印num ...
- python输入一个三位数输出它的百位十位个位_python输入一个水仙花数(三位数) 输出百位十位个位实例...
我就废话不多说了,大家还是直接看代码吧! # python输入一个水仙花数(三位数) 输出百位十位个位 """ 从控制台输入一个三位数num, 如果是水仙花数就打印num ...
- R7-1 jmu-python-找字符分数 15作者 linli单位 集美大学输入一个字符串及字符,输出第一次出现该字符的位置。输入格式:行1:输入字符串行2:输入一个字符输出格式:
R7-1 jmu-python-找字符 输入一个字符串及字符,输出第一次出现该字符的位置. 输入格式: 行1:输入字符串 行2:输入一个字符 输出格式: 找到,输出对应位置,格式index=X的, X ...
- ACMNO.25 C语言-间隔输出 写一函数,输入一个四位数字,要求输出这四个数字字符,但每两个数字间空格。如输入1990,应输出1 9 9 0。 输入 一个四位数 输出 增加空格输出
题目描述 写一函数,输入一个四位数字,要求输出这四个数字字符,但每两个数字间空格.如输入1990,应输出"1 9 9 0". 输入 一个四位数 输出 增加空格输出 样例输入 199 ...
- 写一函数,输入一个四位数字,要求输出这四个数字字符,但每两个数字间空格。如输入1990,应输出1 9 9 0。
题目描述 写一函数,输入一个四位数字,要求输出这四个数字字符,但每两个数字间空格.如输入1990,应输出"1 9 9 0". 输入 一个四位数 输出 增加空格输出 样例输入 199 ...
- java将一个整数反转输出,输入一个整数,实现反转输出,如输入123,输出321。...
输入一个整数,实现反转输出. Example 1: Input: 123 Output: 321 Example 2: Input: -123 Output: -321 Example 3: Inpu ...
- java10个整数反向输出_输入一个整数,实现反转输出,如输入123,输出321。
输入一个整数,实现反转输出. Example 1: Input: 123 Output: 321 Example 2: Input: -123 Output: -321 Example 3: Inpu ...
- 输入一个非负整数,正序输出它的每一位数字
题目:输入一个非负整数,正序输出它的每一位数字 #include <stdio.h>int main(int argc, char **argv) {// 13425 / 10000 -& ...
最新文章
- FATE 集群部署 step1
- #与##在宏定义中的--宏展开
- Windows下关于Git的行结束符
- 为什么onenote一直在加载_OneNote:科研笔记独一无二的无敌利器
- 用VBA得到EXCEL表格中的行数和列数
- 2017西安交大ACM小学期 敏感词汇[AC自动机]
- Python花式编程案例锦集(3)
- xm list源码分析
- glassfish 是oracle的,GlassFish“百天”小版本 彰显Oracle的大功力
- 搜索场 day1 A 求和
- 筑牢高校实验室安全管理防线,科学管理提高师生安全意识
- 个推华为推送、小米推送、苹果推送及角标
- 最基础的傅里叶变换公式推导
- Dragonfly 应用-如何计算面孔隙率
- tesseract 学习笔记 psm+限定识别内容提升识别精度
- ggggggggggg
- 星巴克季节限定星怡杯樱花味拿铁升级回归
- 风影ASP.NET基础教学 10 DetilsView
- 深度学习学习笔记(二)
- 存储过程中的when others then 和 raise 何意义?