1樓:肥仙女
1、開啟visualc++6.0-檔案-新建-檔案-c++sourcefile。
2、定義陣列和變數:
#include
intmain()
5、如果第一個字元為空格:
elseif(cstring[0]=='')/*判斷第一個字元為空格的情況*/
6、分離字元:
else
}printf("%d\n",iword);
8、完整的源**:
#include
intmain()
elseif(cstring[0]=='')/*判斷第一個字元為空格的情況*/
else
}printf("%d\n",iword);}}}printf("%d\n",iword);}}
2樓:匿名使用者
題目:輸入一行字元,統計其中有多少單詞,單詞之間用空格分隔開。
下面是執行結果:
下面是我編寫的源**:
#include
//輸入一行字元,統計其中有多少單詞,單詞之間用空格分隔開int main()
printf("there is %d words in this line;\n",num);
return 0;}
c語言輸入一行字元 統計其中有多少個單詞,單詞之間用空格分隔開
3樓:凌亂心扉
#include<stdio.h>
int main()
{intword,num=0;
char ch;
while((ch=getchar())!='\n'){if(ch=='')
word=0;
else
{if(word==0)
{num++;
word=1;}}
}printf("%d",num);
return0;}分析
若當前字元=空格
yesﻩ未出現新單詞,使word=0,num不累加noﻩ前一字元為空格(word=0),新單詞出現,使num加1,word=1
前一字元為非空格(word=1),未出現新單詞,num不加1*/其它方法:
#include<stdio.h>
int main()
{char string[81];
int i,num=0,word=0;
char c;
gets(string);
for(i=0;((c=string[i])!='\0');i++)if(c=='')word=0;
elseif(word==0)
{word=1;
num++;
}printf("thereare%dwordsinthisline.\n",num);
return0;}
4樓:箕精義友槐
#include
"stdio.h"
main()
printf("there
are%d
words
inthe
line.
\n",
num);
}不知道我有沒有說清楚,我自己看
程式的時候就是這樣自己按程式走幾次,一般都能懂,希望對你有幫助···
5樓:文化廚子
#include
int main()
printf("there are %d words in the line.\n",num);
return 0;}
6樓:驀然回首時
你弄的太亂,我整理了一下:
#include
main()
printf("there are %d words in the line. \n" ,num);
}你說的這句
if(c==' ') word=0;
else if(word==0)
當c=空格時,令word=0;不執行else if語句
直到c!=空格時(注意連續多個空格的處理),不執行if語句,執行else if語句
由於前面令word=0,所以到空格後第一非空格字元時,word是=0的,else if判斷成功,
執行word=1; num++;,第二個非空格字元時,word就=1了,就不執行word=1; num++;了
這樣一個單詞num就加一次
由於初始時令word=0,故第一單詞的第一個字母時,num就等於1了
好了,就說這麼多,不懂再問我
7樓:
這為朋友,很少在電腦上調程式吧,這段程式中有一些值得注意的錯誤。首先,標準輸入輸出標頭檔案是#include,第
二、陣列string後是中括號,應該是string[81],第三,string和string是不同的,c語言區分大小寫,最後一個問題,程式設計時所有符號一律用英文輸入,這個雖然是小問題,但一開始就應養成良好的習慣。
下面是我改好的程式:
#include
main()
printf("there are %d words in the line.\n",num);
}好了,言歸正傳。這段程式有個值得注意的問題,for迴圈沒有大括號,意味著它包含一個if-else語句,if語句中是c=' '表示一個單詞的結束,然後用word標記,word=0時表示有一個完整的單詞。當讀入到下一個字母時,表示又有一個新的單詞,所以if(word==0)時,num++,同時將word取消標記準備下一次標記。
比如說:
輸入i am a boy.
i讀入:因為word==0 所以num=1,word=1
讀入一個空格:word=0 說明第一個單詞讀入完畢
a讀入:因為word==0 所以num=2,word=1 說明有第二個單詞
m讀入:word=1 說明第二個單詞未讀完
讀入一個空格 word=0 說明第二個單詞讀入完畢
a讀入 因為word=0 說明有第三個單詞 所以 num=3,word=1
以此類推,得到結果為4
8樓:匿名使用者
首先要知道c中選擇控制語句if--else語句的配對,c語言規定else與其前面最近的一個沒有配對的if成對。這題中很顯然第一個if與下面的else配對。第一個if語句意思是說:
如果c中的值是『空格』則將0值給word,下面緊跟著一個else,如果c中的值不是空格,就執行第二個if。第二個if意思是說如果word中的值是哦,就把1給word,然後對num加一。
理解上面的關係你就很容易理解這裡面變數word的含義了。其實word這個變數僅僅是一個單詞輸入完的一個標誌。當輸入一個單詞,輸入空格時,程式中word等於0,接著執行else,直接轉入執行第二個if,此時判斷word是不是等於0,如果等於零說明c中的值是空格,及一個單詞已經輸入完,此時就對word置一,為下次判斷做準備,然後對num加一。
如果再輸入一個新的單詞,當沒有輸完時,及c中的值不是空格,此時第一個if不執行,執行else,接著又執行第二個if。但此時word的值是1,因此第二個if也不執行,即num不會加一。
體會一下吧,希望對你有所幫助。
9樓:詩葉子
#include "stdio.h"
main()
else s=1;
}printf("共有單詞 : %d 個 \n",sum);}
10樓:浪漫雪兒
呵呵,好好看看書在來問吧!學習認真點,不過那位老兄你說那麼多人家看了都煩,你直接給正確答案不就行了嘛。
編寫一個程式輸入一行字元,統計其中有多少個單詞。單詞之間用一個或多個空格分隔開
11樓:匿名使用者
也就是從檔案中讀取資料,你看下邊的行嗎?#includeint jishu(file *fp);int main()
int jishu(file *fp)
return number;
}在dev c++編譯器中執行成功……
12樓:吾好夢中殺豬
#include
#include
#define n 100
#define isvalidword(a) (((a) >= 'a' && (a) <= 'z') || ((a) >= 'a' && (a) <= 'z') ? 1 : 0)
int main()
{char str[n];
int len;
int i;
int wordnum = 0;
int wordstart = 0;
gets(str);
len = strlen(str);
for (i=0; i
13樓:匿名使用者
#include
void main()
for(i=0;(c=str[i])!='\0';i++)} printf("您輸入的字串有%d個字母,有%d個空格,\n有%d個單詞,\
有%d個數字,有%d個其他字元\n",k,j,word,num,others);
}//注意printf函式中換行要用轉意字元"\"
14樓:匿名使用者
#include
#include
char a[100];
int main()
printf("%d\n",sum);}
15樓:匿名使用者
#include void main()printf("there are %d words in the line.\n",num);
c語言:輸入一行字元,統計出其中單詞的個數,個單詞之間用空格分隔,空格數可以是多個。 輸入案例1
16樓:it孤鶩
#include
int main()
printf("%d\n",count);
return 0;}
17樓:
/*統計一個字串
單複詞的個數,單制
詞間以一bai到多個空格分du隔。*/
#include
main()
printf("此字串的dao單詞有%d個\n",s);}
c語言題目陣列部分輸入一行字元統計其中大
include stdio h void counter char int n,i char array 100 printf enterastring gets array counter array return0 void counter char p int i,n,numuppercase...
輸入一行字元,分別統計出其中英文字母 數字和其它字元的個數
private sub command1 click s inputbox 請輸入一行字元 split s,用了split a b d 0 for i 1 to len s c asc mid s,i,1 if c 65 and c 90 or c 97 and c 122 then a a 1 e...
c語言輸入一行字串,統計每個字母出現的次數? 比如 a 1次b 0次c 10次
include include int main 輸入一行字串,統計每個字母出現的次數?比如 a 1次 b 0次 c 10次 include void main for i 0 i 26 i if a i printf c d次 i a a i printf n for i 0 i 26 i if ...