1樓:自我程式設計
思路:按題意,用指標遍歷字串st,使用標識變數flag首次遇到字母置1並計數,遇到空格時flag重置0。
注意:本程式不考慮夾雜非字母的情況,請規範輸入。比如「i am a stu**dent」,stu**dent將作為一個單詞識別。
下面是**:
#include
int getwordnum(char st)
char *p=st;
int cnt=0,flag=0;
while(*p)
if(flag==0 && ((*p>='a' && *p<='z') || (*p>='a' && *p<='z')))
cnt++,flag=1;
if(flag && *p==' ')
flag=0;
p++;
return cnt;
int main()
char str="i am a student";
printf("%s共計單詞個數%d\n",str,getwordnum(str));
return 0;
2樓:聽不清啊
#include
#include
int getwordnum(char s){int i,n=0;
s[strlen(s)-1]=0;
for(i=0;s[i];i++)
{for(;s[i]&&s[i]==' ';i++);
for(;s[i]&&s[i]!=' ';i++);
n++;
return n;
int main()
{ char s[300];
gets(s);
printf("%d\n",getwordnum(s));
return 0;
3樓:匿名使用者
#include
int getwordnum(char st)return s;
}int main(int argc, char *argv)
c語言字元陣列和字串程式設計題 求解
4樓:匿名使用者
|#include
int main();
scanf("%s",st);
total(st,b);
printf("字串長度:%d,字母du個數zhi:%d,數字個數:%d,其他字元個數:%d\n",b[0],b[1],b[2],b[3]);
return 0;
}void total(char st,int b)else if(st[i]>='0' && st[i]<='9')else
i++;}}
c語言字元陣列程式設計題求解
5樓:聽不清啊
編寫這個函式時,需要掃描整個字串,當沒有遇到回車符的時候進行迴圈,然後內部再包含兩個需迴圈,當沒有遇到字母的時候迴圈,然後再當沒有遇到空格的時候迴圈,這樣就是得到了一個單詞,等到整個迴圈結束的時候,就得到了單詞的總數
6樓:匿名使用者
#include "stdafx.h"
#include
using namespace std;
int getwordnum(char st) else if(*st == ' ')
st++;
}return n;
}int _tmain(int argc, _tchar* argv)
c語言字元陣列程式設計題 求解
7樓:匿名使用者
#include "stdafx.h"
#include
using namespace std;
void getsubstr(char st)st++;}}
int _tmain(int argc, _tchar* argv)
C語言中字元陣列和字元指標
又問了一遍哈,我就知道這麼多了 前者是靜態的,也就是每次都要設定一個最大的max上限才能保證不會越界。後者是動態的,你可以用多少就申請多少,可以在任何時候擴大或減小 free 當資料很大時,就需要把不用的空間free,而直接開陣列不可以 另外如果在main內,陣列不能開很大,但是卻可以malloc一...
C語言字串,求大佬,C語言字串陣列的問題
在語句for j 0 s j 0 j 中,j 記錄的是串s的字元個數,結束該迴圈時,s j 恰好是 0 在接下來的for迴圈中,第一個j 後,s j 是串s的最後一個字元,而i為0,迴圈體將s 0 與s j 進行交換,第二個j 是正常遞減,以便與i 相對應,交換s i 和s j 沒那個程式之類執行不...
關於c語言字元型,C語言中關於字元型變數。
關於printf c a i 如果把他換成printf s a i 為什麼不能編譯?回答 編譯應該沒問題,只是執行時必定錯誤.字串指一串連續的字元型的儲存域.c語言的字串在操作時一般以0值字元標誌字串的尾字元 佔一個字元的儲存域,但不計入字串長度 c 應該對應於字元型變數 當然字串中的一個字元也可以...