分词并显示

程序的功能是:调用Input函数读入最多80个字符,要求字符串中只保留字母和空格,遇到读满或者回车结束读入字符,空格用于分隔单词。请将字符串中用空格分隔的单词在屏幕上输出来。
要求用指针完成函数中各参数的传递与访问,自定义函数头和函数体中不得出现数组下标形式的表示法。

函数接口定义:

void Input ( char *str ); int Split_Count ( char *str,char **pStr );

裁判测试程序样例:

#include <stdio.h> 

/* userCode(<80字符): 自定义函数之原型声明 */ 

void Input ( char *str ); 

int Split_Count ( char *str,char **pStr );

int main(void) 

{ 

   char String[81]={0}, *pString[45];

   int i=0, count;

   Input(String); 

   count = Split_Count(String, pString);

    printf("%d Words: ", count);

   for (i=0; i<count-1; i++) {

        printf("%s-", pString[i]);

   }

   printf("%s", pString[count-1]);

   putchar('\n');

   return 0;

}

/* 请在这里填写答案 */

输入样例:

Actions speak  louder than  words

输出样例:

5 Words: Actions-speak-louder-than-words

输入样例:

12A good && beginning is half  @done  

输出样例:

6 Words: A-good-beginning-is-half-done

 answer:

void Input ( char *str ){
    int i = 0;
    char ch;
    ch = getchar();
    while(ch != '\n' && i<80){
        if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')||(ch==' )){
            str[i++] == ch;
        }
        ch = getchar();
    }
    str[i] = '\0';
}
int Split_Count ( char *str,char **pStr ){
	int count = 0;
	while(*str){
		if(*str != ' '){
			*(pStr+count) = str;
			count++;
		}
		while(*str){
			if(*str==' '){
				*str = '\0';
				break;
			}
			str++;
		}
		str++;
	}
	return count;
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值