c語言,輸入字串,計算某字元出現次數

2021-04-22 02:21:00 字數 6366 閱讀 6985

1樓:載瑰瑋愈閒

//輸入一行字元,分來別源統計出其中字母、空格、bai數字和其他字元du

zhi的個數。

dao#include

intmain(void)

printf("字母=%d\n數字=%d\n空格=%d\n其他字元=%d\n",a,b,c,d);

return0;}

2樓:匿名使用者

修改後:

#include

#include

void main()

3樓:笛子魔童

演算法不錯。就是語法錯誤。scanf("%c",x);這兒scanf("%c",&x);

4樓:竹林_仙客

缺少取地址符:scanf("%c",x)改為scanf("%c",x)

用c語言編寫一個程式,輸入一個字串,統計其中各個字元出現的次數

5樓:一個青年

源程式**如下:

#include "pch.h"

#define _crt_secure_no_warnings//vs環境下需要,vc不需要

#include

int main()

else if ((c >= 'a') && (c <= 'z'))//判斷是否是小寫字母

else if ((c >= 'a') && (c <= 'z'))//判斷是否是大寫字母

else if(c == ' ')//判斷是否是空格

else //判斷是否其他字元

}//輸出個數統計值

printf("數字個數:%d\n小寫字母個數:%d\n大寫字母個數:%d\n",num_count, littlealp_count, bigalp_count);

printf("空格個數:%d\n其他字元個數:%d\n", emp_count, els_count);

return 0;

}程式執行結果如下:

擴充套件資料:

其他實現方法:

#include

#include //對空白字元的判斷,呼叫了isspace()函式,所以要呼叫標頭檔案

int main()

else if(isspace(*p))    //用isspace函式來判斷是不是空白字元

else

p++;

return 0;}

6樓:匿名使用者

//輸入一行字元,分別統計出其中字母、空格、數字和其他字元的個數。

#include

int main(void)

printf("字母=%d\n數字=%d\n空格=%d\n其他字元=%d\n",a,b,c,d);

return 0;}

7樓:匿名使用者

#include #include

#include

#include

using namespace std;

int main()

map::iterator iter;

for (iter = m_count.begin(); iter != m_count.end();++iter)

return 0;}

c語言,程式設計題,輸入一個字串,統計該字串中"the"出現次數。

8樓:白狼聖狂

「the" 是 char[4] 的字串,在遍歷的時候將三個元素分別同時放入字元陣列,再利用遍歷對陣列裡的每個元素進行判斷(建議用strcmp(char* , char*)函式進行判斷,標頭檔案是string.h,正確返回0值)。

#include

#include

int main()

;char getchar[100];        //宣告字串

int stringsize;           //定義字串大小

int time;                 //出現的次數

printf("請輸入內容(不含分隔符):\n");

scanf("%s", getchar);            //輸入字串

stringsize = strlen(getchar);    //獲取輸入字串大小

time = 0;

/*---對字串進行遍歷判斷---*/

for (int i = 0; i < stringsize; i++)

if (strcmp(chartemp, charin) == 0)    //判斷charin的字串和chartemp的字串是否相同

time++;                //相同的話次數加一

}/*---輸出次數---*/

printf("%d\n", time);

return 0;}

9樓:匿名使用者

c語言程式按要求幫寫

10樓:中國乁

?????? ????

c語言,輸入一個字串,統計重複出現某個字母的次數。

11樓:匿名使用者

main() printf("\n字元%c在字串中出現%d次。",l,sum); //輸出結果}

12樓:匿名使用者

#include

#include

#include

char count[100];

char str[1024];

int main()

{while(gets(str)){

memset(count,0,sizeof(count));

int len=strlen(str);

for(int i=0;i於字母a-z和a-z的

13樓:匿名使用者

main()

printf("%d times",n);}

c語言如何統計特定字串出現次數?

14樓:水裡風

#include

int main()

if(cmp[j]!=a[site])

}if(flag==1)count++;}}printlf("%d\n",count);}

15樓:在遊樂園插秧的醉蝶花

這不是我們的作業嗎?

c語言計算字串中某字母出現次數(多組資料)

16樓:匿名使用者

#include

int main()

printf("%d\n",k);

} return 0;

}//以下是我自己寫的一個,用scanf()這種標準輸入會比較安全#include

#include

int main()

printf("%d\n",k);

} return 0;}

17樓:敏朋匡凝竹

#include

char

a[1000000];

//這麼大的字元陣列不要放main裡面

intmain()

printf("%d\n",k);

gets(s);

//在輸出答案k以後,把第二行一個小寫字母后面的'\n'通過gets(s)去掉

}return0;}

c語言:輸入一串字元,再輸入一個字元,統計該字元在字串中出現的次數,並輸出該字串

18樓:水舞江流

你的程式有許多錯誤,主要有:

1、j沒有初始化為0,直接用作陣列下標是不對的,會導致程式崩潰。而且j沒有+1操作,這樣輸入的字元都會覆蓋到一起。

2、不能既有a[j]=getchar()又有scanf("%c",&a[j]),這樣會導致一個字元被另一個覆蓋,陣列不能儲存所有的字元。

3、scanf("%c\n",&m);應寫為scanf("%c",&m);,\n只應出現在printf語句中。

按照你的思路,我把**修改了一下,如下。你可以試試看行不行。

#include

main()

a[j]='\0';

printf("enter a word:");

scanf("%c",&m);

for(j=0;a[j]!='\0';j++)

if(a[j]==m)

count++;

printf("the number is %d\n",count);

return 0;}

19樓:

#include

int main()

a[j]='\0';

printf("enter a word:");

scanf("%c",&m);/*這裡不需要來個\n,不然你輸入的時候也得敲進去\n*/

for(j=0;a[j]!='\0';j++)if(a[j]==m)

count++;

printf("the number is %d\n",count);

return 0;}

20樓:匿名使用者

int count=0,j;

char a[80];

char m;

gets(a);

fflush(stdin);

m=getchar();

for(j=0;a[j];j++)

if(a[j]==m);

count++;

printf("the number is %d\n",count);

c語言統計字串中每個字元出現的次數

21樓:凌亂心扉

#include

#include

int findsub(char*src,char*s)}}return n;

}int main(void)

22樓:匿名使用者

一、演算法分析:

要統計每個字元出現的個數,那麼就要為每個字元做一個統計值,可以用陣列實現。

然後輸入字串。

遍歷字串,對每個字元進行統計。

輸出結果。

二、參考**:

#include

int main()

;//用來統計個數。

char str[200];//儲存字串。

int i;

gets(str);//輸入字串。

for(i = 0; str[i]!='\0'; ++i)//遍歷字串。

cnt[str[i]]++;//統計個數。

for(i=0;i<128; i ++)//遍歷統計到的值。

if(cnt[i]!=0)//如果出現過則列印值,及個數。

printf("%c:%d\n", i, cnt[i]);//輸出結果。

return 0;}

23樓:匿名使用者

邏輯錯了,按照你輸入的字串aabbccddeeffgg

a的統計不會有問題,但是後面的都會出錯

for(i=0;i第一個a不進內部迴圈,let[0]會被賦值

//第二個a進入內部迴圈,在j為0時給let[0].count自增,並跳出迴圈

//第三個b進入內部迴圈,找不到相同字母,跑完迴圈,let[1]會被賦值

//第四個b進入內部迴圈,在j為2時給let[2].count自增

//但是實際上此時let[2]是沒有資料的,你應該是給let[1].count自增

for(j=0;j

錯誤就像上面寫的那樣

其實你這個方法對那些交叉排列的字元來說,更加不好進行統計

如果你要輸入的字元是某一個集合,你完全可以用一個長度為字符集大小的陣列來儲存各字元的出現次數

比如全為小寫字母時,你可以宣告一個int cnt[26]

陣列的下標可以標識字元,0 == 'a' - 'a'、1 == 'b' - 'a'、...、25 == 'z' - 'a'

自己考慮

c統計某字串中某指定字元出現的次數

include using namespace std int a 26 大寫 來int a 26 小寫 int main for int i 0 i 26 i if a i 0 cout 暫停 按任意鍵繼續 比賽中不要加這句 return 0 c 一個長字串裡,如何查詢其中某個字串出現的次數,比如...

C語言 從鍵盤上輸入字串,假定該字串的長度小於80,計算其中字母 數字和空格的個數

include define n 80 main printf 字母個數 d n數字個數 d n空格個數 d n a,b,c 初始化a 0,b 0,c 0 c語言程式設計 從鍵盤輸入一串字元 長度不超過80 統計出各字母出現的次數 不區分大小寫 include define max 100 void...

c語言關於字串輸入的問題,一個C語言字串輸入問題

有明顯的致命錯誤 c語言字串輸入時,不要加地址符號 因為陣列名就表示地址。for int i 0 i 2 i 另外再加個標頭檔案 include c語言中比較兩個字串是否相等,不能直接比較if stu j name nm 應改成if strcmp stu j name,nm 0 if stu j n...