单词长度 C语言 能帮忙看看哪里错了么
输入一行单词序列,相邻单词之间由1个或多个空格间隔,请对应地计算各个单词的长度。注意,如果有标点符号(如连字符,逗号),标点符号算作与之相连的词的一部分。没有被空格间开的...
输入一行单词序列,相邻单词之间由1个或多个空格间隔,请对应地计算各个单词的长度。
注意,如果有标点符号(如连字符,逗号),标点符号算作与之相连的词的一部分。没有被空格间开的符号串,都算作单词。
#include<stdio.h>
#include<string.h>
int main(){
char str[255];
gets(str);
int i,k=0,n=0,len,a[100],j=0;
len=strlen(str);
for(i=0;i<len;i++){
if(str[i]!=' '){
k++;
}
else{
a[j]=k;k=0;j++;
}
}
a[len]=k;
for(i=0;i<j;i++){
if(a[i]!=0)printf("%d,",a[i]);
}
printf("%d",a[len]);
return 0;
}
结果:
Empty output file: '12.out' 展开
注意,如果有标点符号(如连字符,逗号),标点符号算作与之相连的词的一部分。没有被空格间开的符号串,都算作单词。
#include<stdio.h>
#include<string.h>
int main(){
char str[255];
gets(str);
int i,k=0,n=0,len,a[100],j=0;
len=strlen(str);
for(i=0;i<len;i++){
if(str[i]!=' '){
k++;
}
else{
a[j]=k;k=0;j++;
}
}
a[len]=k;
for(i=0;i<j;i++){
if(a[i]!=0)printf("%d,",a[i]);
}
printf("%d",a[len]);
return 0;
}
结果:
Empty output file: '12.out' 展开
1个回答
展开全部
#include <stdio.h>
#include <ctype.h>
int fun(char s[],int a[]) {
int i,n = 0,len;
for(i = 0; s[i]; ++i) {
len = 0;
while(isspace(s[i])) ++i;//过滤白字符
printf("s[%d] = \'%c\'\n",i,s[i]);
while(!isspace(s[i]) && s[i]) {++i; ++len;}
if(len) a[n++] = len;//顺序存储每个单词的长度
}
return n;//返回单词个数
}
int main() {
char *s = "Give to me a aple,too!";
int i,n,a[10] = {0};
n = fun(s,a);
for(i = 0; i < n; ++i) printf("%d ",a[i]);
putchar('\n');
return 0;
}
追问
Different: Different at line 1.
Std: 'aa aa aa'
Out: 's[0] = 'G''
Your Output:
s[0] = 'G'
s[5] = 't'
s[8] = 'm'
s[11] = 'a'
s[13] = 'a'
s[23] = '%'
4 2 2 1 9 2
我只学了stdio没学过指针,能用一些低级别的方法么,看不懂……拜托了,谢谢
追答
#include <stdio.h>
#include <ctype.h>
int fun(char s[],int a[]) {
int i,n = 0,len;
for(i = 0; s[i]; ++i) {
len = 0;
while(isspace(s[i])&& s[i]) ++i;//过滤白字符
// printf("s[%d] = \'%c\'\n",i,s[i]);
while(!isspace(s[i]) && s[i]) {++i; ++len;}
if(len) a[n++] = len;//顺序存储每个单词的长度
}
return n;//返回单词个数
}
int main() {
char s[] = "Give to me a aple,too!";
int i,n,a[10] = {0};
n = fun(s,a);
for(i = 0; i < n; ++i) printf("%d ",a[i]);
putchar('\n');
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询