c語言統計字元串的個數
1. c語言,怎樣算字元串的個數(不重復)
這是統計字元串的不同字元的個數啊。
#include<stdio.h>
int main()
{char s[200];
int i,a[96]={0},n;
gets(s);
for(i=0;s[i];i++)
a[s[i]-32]=1;
for(n=i=0;i<96;i++)
n+=a[i];
printf("%d ",n);
return 0;
}
2. c語言怎麼計算字元串的字元個數
一般有三種辦法可以計算英文字元的個數:
1)使用strlen()函數
2)從首字元開始,邊掃描邊計數,到'\0'為止('\0'不計數)
3)從首字元開始,掃描到'\0'為止,'\0'地址與字元串首地址的差。
3. 用C語言編寫一個程序,輸入一個字元串,統計其中各個字元出現的次數
源程序代碼如下:
#include "pch.h"
#define _CRT_SECURE_NO_WARNINGS//VS環境下需要,VC不需要
#include<stdio.h>
int main()
{
char c = 0;//定義輸入字元變數
int num_count = 0;//數字個數
int bigalp_count = 0;//大寫字母個數
int littlealp_count = 0;//小寫字母個數
int emp_count = 0;//空格個數
int els_count = 0;//其他字元個數
while((c = getchar()) != '
')//連續輸入字元直到輸入回車結束
{
if((c >= '0')&&(c <= '9'))//判斷是否是數字
{
num_count ++ ;
}
else if ((c >= 'a') && (c <= 'z'))//判斷是否是小寫字母
{
littlealp_count++;
}
else if ((c >= 'A') && (c <= 'Z'))//判斷是否是大寫字母
{
bigalp_count++;
}
else if(c == ' ')//判斷是否是空格
{
emp_count ++;
}
else //判斷是否其他字元
{
els_count ++;
}
}
//輸出個數統計值
printf("數字個數:%d
小寫字母個數:%d
大寫字母個數:%d
",num_count, littlealp_count, bigalp_count);
printf("空格個數:%d
其他字元個數:%d
", emp_count, els_count);
return 0;
}
程序運行結果如下:
(3)c語言統計字元串的個數擴展閱讀:
其他實現方法:
#include <stdio.h>
#include <ctype.h> //對空白字元的判斷,調用了isspace()函數,所以要調用頭文件
int main()
{
char str[20]; //這塊對輸入有所限制了
int num_count=0;
int space_count=0;
int other_count=0;
char *p=str;
gets(str); //接收字元串
while(*p)
{
{
num_count++;
}
else if(isspace(*p)) //用isspace函數來判斷是不是空白字元
{
space_count++;
}
else
{
other_count++;
}
p++;
}
printf("num_count=%d
",num_count);
printf("space_count=%d
",space_count);
printf("other_count=%d
",other_count);
return 0;
4. 編寫C語言程序統計輸入字元串的個數、
很簡單了,代碼如下:
#include
void
main()
{
char
a[100];
int
i,count=0,flag=1,n=0;
gets(a);//從鍵盤輸入字元串
for(i=0;a[i];i++)
{
if((a[i]>='a'
&&
a[i]<='z')
||
(a[i]>='a'
&&
a[i]<='z'))//判斷是不是字元
{
flag=0;//設置字元標志
continue;//返回下一個循環
}
if(!flag)//前面一位是字元,即當前是某個單詞字元結束
{
count++;//統計單詞個數
flag=1;//設置非字元標志
}
}
i--;
if((a[i]>='a'
&&
a[i]<='z')
||
(a[i]>='a'
&&
a[i]<='z'))
count++;//增加字元串結束的單詞
printf("共有%d單詞\n",count);
}
5. c語言如何統計字元個數
在C語言中,要統計一個字元串的字元個數,可以採用char類型的字元數組,再進行逐個位元組的掃描,如果它的ASCII值大於零,這個位元組算一個字元;如果它的ASCII值小於零的,就連同後續的一個位元組算一個字元。遇到ASCII值等於零,就停止統計輸出統計的結果。
6. c語言怎麼統計字元串中字元個數
使用系統標准庫函數strlen(s)就可以測得字元數組s中的字元串的字元個數,也就是字元串的長度,需要包含string.h頭文件。
7. C語言統計一句話中字元串的個數
這個程序寫起來有些費事兒,
這個題目還是很不錯的,建議你還是自己寫,
對於自己的提高還有很有幫助的。
實現方法:
數據結構選擇:
二維鏈表(要是沒學過,用二維數組也行,但是推薦使用二維鏈表,這樣效率高且buffer消耗最小)
實現方法:
(統計字元串出現次數比較簡單,就不寫了)
1.
字元串檢測
以空格為基準,判斷是否一個字元串結束,直到"$$$"認為遍歷結束
2.
字元串統計
二維鏈表法:
讀到空格後第一個字元時,對於二維鏈表的所有頭結點進行遍歷,
一旦發現有相同的,再判斷當前讀到的字元串的下一個字元與該頭結點的後續是否相同,
・如果相同,則繼續判斷下一個後續
・如果不同,則繼續判斷下一個頭結點
如果在所有頭結點遍歷完畢後,如果都沒有找到相同的,則將該字元串錄入二維鏈表
二維數組法(需要一開始就初始化數組):
讀到空格後第一個字元時,對於二維數組的第一列的所有成員進行遍歷(列遍歷),
一旦發現有相同的,再判斷當前讀到的字元串的下一個字元與該成員所在行的後續成員是否相同,
・如果相同,則繼續判斷下一個成員
・如果不同,則繼續判斷下一列的0號成員
如果在第一列遍歷完畢後,如果都沒有找到相同的,則將該字元串寫入當前最後錄入完畢字元串的後一行
這題不錯,強烈建議自己做,
我的方法也不一定就好,希望你能多多思考:)
8. 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();
}
9. 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的內容。
10. C語言統計一個字元串的字元個數,for (; getchar() != '\n'; n++);這句,能幫忙解釋一下getchar()!=0嗎
getchar是從你的輸入內容里讀取一個字元值,它的返回值是你輸入的那個字元的ascii碼,
for (; getchar() != '\n'; n++); 意思就是說當讀到換行符時就結束循環,相當於
while(getchar()!='\n') n++;
也就是相當於讀入一個字元,n就自加1,最終實現的效果就是對你輸入內容的計數了。