资源描述:
《c语言 统计一个字符串中单词的个数》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、c语言统计一个字符串中单词的个数这个程序可以自动清除多余的空格。#include"stdio.h"intcount_word(char*str);voidmain(){charstr1[80];intsum=0;puts("pleaseenterastring");gets(str1);sum=count_word(str1);printf("thereare%dwordsinthissentence",sum);}intcount_word(char*str){intcount,flag;char*p;count
2、=0;flag=0;p=str;while(*p!=' ')/*当字符串没有到结尾的时候,重头到尾的循环*/{if(*p=='')/*假如字符串遇到空格,就将flag清零,同时可以过滤掉多余的空格*/flag=0;elseif(flag==0)/*当字符串不是空格时,假如flag为0,那么计算器加1,既是遇到空格后的第一个字符时*/{flag=1;/*将flag标记回1,这样在遇到第一个字符后的字符时可以将他过滤掉,直到遇到空格时,在清零*/count++;}p++;}returncount;}C语言编程题求教---
3、-输入一个字符统计其中的单词个数输入一串字符统计其中的单词个数。*/各个单词间用空格隔开空格数可以是多个/*例子:Input:Let'sgotoroom209count=5这是我做的程序:#includeintmain(void){charch;intc,m;printf("Inputwords:");c=1;while((ch=getchar())!=''){if(ch=='')c++;}printf("count=%d",c);return0;}但是如果是多个空格就要多统计出单词个数来。。
4、。请教要怎样才能使多个空格只算作一个呢??设置一个标志word,表示单词是否开始。如果一直是空格的话,word=0,一旦看到不是空格,并且word是0,则意味着一个新单词开始,将个数增1并将word置为1。#includemain(){charc;inti,num=0,word=0;while((c=getchar())!='')if(c=='')word=0;elseif(word==0){word=1;num++;}printf("Thereare%dwordsintheline",num
5、);}逆序重新存放#includemain(){inta[5],i,temp;/*定义数组及变量为基本整型*/printf("pleaseinputarraya:");for(i=0;i<5;i++)/*逐个输入数组元素*/scanf("%d",&a[i]);printf("arraya:");for(i=0;i<5;i++)/*将数组中的元素逐个输出*/printf("%d",a[i]);printf("");for(i=0;i<2;i++)/*将数组中元素的前后位置互换*/{temp=
6、a[i];/*元素位置互换的过程借助中间变量temp*/a[i]=a[4-i];a[4-i]=temp;}printf("Nowarraya:");for(i=0;i<5;i++)/*将转换后的数组再次输出*/printf("%d",a[i]);}赞同#includevoidmain(){inta[10],i,j,temp;for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<5;i++)for(j=9-i;1;j++){temp=a[j];a[j]=a[i];
7、a[i]=temp;break;}for(i=0;i<10;i++)printf("%d",a[i]);}//3.将一个数组中的值按逆序重新存放。//例如,原来顺序为10、60、5、42、19,要求改为19、42、5、60、10。#includeusingnamespacestd;intmain(){inta[5]={10,60,5,42,19},h[5],b,i;for(b=0;b<=5/2;b++)for(i=0;i<=4;i++)h[4-i]=a[i];for(i=0;i<=4;i++){a[
8、i]=h[i];cout<#includemain(){chara[100],t;inti,k;gets(a);k=strlen(a)-1;for(i=0;2*i<=k;i++){t=a[i];a[i]=a[k-i];a[k-i]=t