1、判断相等用==,fun函数用if(flag=1)这句就用错了
2、for循环不加括号,值包含了第一个if判断的内容,而第二个if(s[i]=='
')这个就会在循环结束之后判断
3、循环中使用循环条件使用*s!='\0',这个s指针一直指向字符串的首地址,*s一直是首地址掘御的值,所以会使的其变为死循环,修改为s[i]!='\0'
4、判断是否为一个单词不能只用s[i]=='
'来判断,如果两个单词直接有多个空格判茄岩的话,就会多判断出单词数,所以修改为s[i]=='
'&&flag==0
5、最后一个单词后面没有空纳圆格的话,该程序会将最后一个单词漏掉,所以循环结束之后需要再判断flag是否为0,为0则说明有一个单词没有统计上,加上。
6、代码书写规范就不说了。
准备工具/材料:装有windows 10的电脑一台,Microsoft Office 家庭和学生版 2010 excel软件。
1、如图所示,我们要计算表中的单词数。
2、使用公式len(圆带)。
3、在单元格中键入= LEN(D5)并按Enter。
4、然后删除该单元格并计算其他单元格中的单词数。
5、使用求和公式计算单词总数。橘裂芦源族
6、敲击回车后,求和出字数总数。
Q:输入一串字符串,输出其中有多少个单词。
Eg:Good Wishes
A:
#include <stdio.h>#include <string.h>#define SIZE 20int main()
{ char str[SIZE]={'\0'} int count=0
printf("plz input the string\n")
gets(str)
puts(str) int length = strlen(str) for (int i=0i<lengthi++)
{
if(str[i]!=' ')
{ count++ while(str[i]!=' '&&str[i]!='\0')
{
i++
}
}
}
printf("%d\n",count) return 0
}
‘\0’和‘0’的区别:
在c语言中,它们都是字符,都用对应的ASCII码来存储。例如第一个ASCII码,0,对应字符为(Null),就是 ‘\0’,即空字符。我们在c语言中判断一个字符串是否结束的标志就是看是否遇到‘\0’,如果遇到‘\0’,则表示字符串结束。字符‘0’和数字0的区别:前者是字符常量,后者是整形常量,但是字符常量可以像整数一样在程序中参与相关运算。
扩展资料字符串所有字符,如果当前字符不为空,单词数+1,再嵌套一个while循环,判断当前单带孙词是谈芦否结束。
#include <stdio.h>
#include <含行带string.h>
int count_words(char* s)
{
int len=strlen(s)
int count,i
for(i=0i<leni++)
{
if(*(s+i)!=' '){ // 如果当前代码不为空
count++ //单词数+1
while(*(s+i)!=' '&&i<len) //判断当前单词是否结束
i++
}
}
return count
}
int main()
{
char* a="i love you"
printf("%d",count_words(a))
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)