Ⅰ c語言,從鍵盤輸入一串字元串,統計字元串中特定字元的個數,並輸出個數
程序設計思路如下:
從鍵盤分別輸入字元串和要統計的字元,然後對此字元串從頭開始逐個與所統計的字元比較,如相同,則讓計數器加1,知道字元串整體比較結束為止,計數器中就是需統計的字元的個數。
#include"stdio.h"
main()
{charstr[100],ch;/*定義str字元串,定義ch用來存放要統計的字元*/
intcnt=0,i;/*定義cnt用作計數器,初始值為0*/
/*輸入字元串*/
printf("請輸入字元串:");
gets(str);
/*輸入要統計的字元*/
printf("請輸入要統計的字元:");
scanf("%c",&ch);
/*對此字元串從頭開始逐個與所統計的字元比較,如相同,則讓計數器加1,知道字元串整體比較結束為止*/
for(i=0;str[i];i++)
if(str[i]==ch)
cnt++;
/*輸出結果*/
printf("%s串中%c字元的個數是:%d個",str,ch,cnt);
}
Ⅱ c語言怎麼計算字元串的字元個數
一般有三種辦法可以計算英文字元的個數:
1)使用strlen()函數
2)從首字元開始,邊掃描邊計數,到'\0'為止('\0'不計數)
3)從首字元開始,掃描到'\0'為止,'\0'地址與字元串首地址的差。
Ⅲ 用c語言求一個字元串中某個字元的個數
#include<stdio.h>
#include<string.h>
intmain()
{
chara[100],ch;
inti,count=0;
printf("輸入一個字元串(小於100個字元 ");
gets(a);
printf("輸入查詢字元: ");
ch=getchar();
for(i=0;i<strlen(a);i++)
{
if(a[i]==ch)
{
count++;
}
}
printf("該字元的個數是%d ",count);
return0;
}
Ⅳ C語言 輸入一串字元,計算當中0~9數字的個數
#include <stdio.h>
main()
{
char x;
int a[10]={0},i;
while((x=getchar())!='\n')
if(x>='0'&& x<='9')
a[x-'0']+=1;
for(i=0;i<10;i++)
printf("%d的個數是%d \n", i,a[i]);
return 0;
}
你錯在了for循環裡面 錯把i打成了1 這種錯誤很難發現。 主要要你編程的時候細心
Ⅳ 在C語言中 先輸入一串字元串再計算所有字元的個數
想統計所有字元個數,可以調用庫函數strlen(a),頭文件是<string.h>
想程序實現,while循環有錯,改成
for(i=0;a[i];i++)//a[i]!=NULL
{
if(a[i]>='a'&&a[i]<='z'||a[i]>='A'&&a[i]<='Z')
j++;
else
if(a[i]>='0'&&a[i]<='9')
j++;
else
if(a[i]=='
')
j++;
else
j++;
}
Ⅵ C語言編程 計算一串字元中的數字個數
#include<stdio.h>
#include<string.h>
intmain()
{
charszText[1006]={0};
intcount=0;
intnFlag=0;
gets(szText);
for(inti=0;i<strlen(szText);i++)
{
if(szText[i]<='9'&&szText[i]>='1')
{
if(nFlag==0)
{
count++;
nFlag=1;
}
}
else
{
nFlag=0;
}
}
printf("%d ",count);
return0;
}
稍微修改了一下,樓主可以參考
Ⅶ C語言 輸入一串字元串,計算字母,數字,特殊符號的個數
#include<stdio.h>
void main()
{ int nE=0,nS=0,nN=0,nO=0,i=0;
char a[1000];
scanf("%s",a);
while (a[i]!='\0') {
if (a[i]<='z' && a[i]>='a' || a[i]<='Z' && a[i]>='A')
nE++;
else
{if (a[i]<='9' && a[i]>='0')
nN++;
else
{if (a[i]==' ')
nS++;
else
nO++;
}
}
i++;
}
printf("%d\n%d\n%d\n%d",nE,nS,nN,nO);
}
Ⅷ c語言怎麼編寫統計一個字元串中各個字元的個數
void getNum(char *str)
{int i,a[26]={0},A[26]={0};
for(;*str;str++)
if(*str>='A'&&*str<='Z')A[*str-'A']++;
else if(*str>='a'&&*str<='z')a[*str-'a']++;
for(i=0;i<26;i++)
if(A[i])printf("%c:%d ",'A'+i,A[i]);
for(i=0;i<26;i++)
if(a[i])printf("%c:%d ",'a'+i,a[i]);
}
void main()
{
int num;
char *testStr = "How are you? Fine Thank you!";
getNum(testStr);
getch();
}
Ⅸ c語言輸入一行字元串,如何統計其中的字母和數字的個數
要統計英文字母,空格,數字和其他字元的個數,代碼如下:
#include<stdio.h>
#include<stdlib.h>
int main()
{
char c;
int letters=0;
int space=0;
int digit=0;
int other=0;
printf("請輸入一行字元:>");
while((c=getchar())!=' ')
{
if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
{
letters++;
}
else if(''==c)
{
space++;
}
else if(c>='0'&&c<='9')
{
digit++;
}
else
{
other++;
}
}
printf("字母的個數:>%d 空格的個數:>%d
數字的個數:>%d 其他字元的個數:>%d ",
letters,space,digit,other);
system("pause");
return 0;
}
(9)c語言一串字元求的個數擴展閱讀:
include用法:
#include命令預處理命令的一種,預處理命令可以將別的源代碼內容插入到所指定的位置;可以標識出只有在特定條件下才會被編譯的某一段程序代碼;可以定義類似標識符功能的宏,在編譯時,預處理器會用別的文本取代該宏。
插入頭文件的內容
#include命令告訴預處理器將指定頭文件的內容插入到預處理器命令的相應位置。有兩種方式可以指定插入頭文件:
1、#include<文件名>
2、#include"文件名"
如果需要包含標准庫頭文件或者實現版本所提供的頭文件,應該使用第一種格式。如下例所示:
#include<math.h>//一些數學函數的原型,以及相關的類型和宏
如果需要包含針對程序所開發的源文件,則應該使用第二種格式。
採用#include命令所插入的文件,通常文件擴展名是.h,文件包括函數原型、宏定義和類型定義。只要使用#include命令,這些定義就可被任何源文件使用。如下例所示:
#include"myproject.h"//用在當前項目中的函數原型、類型定義和宏
你可以在#include命令中使用宏。如果使用宏,該宏的取代結果必須確保生成正確的#include命令。例1展示了這樣的#include命令。
【例1】在#include命令中的宏
#ifdef _DEBUG_
#define MY_HEADER"myProject_dbg.h"
#else
#define MY_HEADER"myProject.h"
#endif
#include MY_HEADER
當上述程序代碼進入預處理時,如果_DEBUG_宏已被定義,那麼預處理器會插入myProject_dbg.h的內容;如果還沒定義,則插入myProject.h的內容。
Ⅹ 在C語言中,怎麼編一個程序使得輸入一串字元,得出他的個數
因為char
*str你沒有給它分配存儲字元串的空間。
可以用malloc動態的申請:
char
*str
=
(char*)
malloc(sizeof(char)
*100);
然後再
scanf("%s",
str);就可以了
而char
str[100]這里是申請了包含100個字元的內存空間。