1. c語言統計一個字元串的字元個數,for (; getchar() != '\n'; n++);這句,能幫忙解釋一下getchar()!=0嗎
getchar是從你的輸入內容里讀取一個字元值,它的返回值是你輸入的那個字元的ascii碼,
for (; getchar() != '\n'; n++); 意思就是說當讀到換行符時就結束循環,相當於
while(getchar()!='\n') n++;
也就是相當於讀入一個字元,n就自加1,最終實現的效果就是對你輸入內容的計數了。
2. C語言統計一句話中字元串的個數
這個程序寫起來有些費事兒,
這個題目還是很不錯的,建議你還是自己寫,
對於自己的提高還有很有幫助的。
實現方法:
數據結構選擇:
二維鏈表(要是沒學過,用二維數組也行,但是推薦使用二維鏈表,這樣效率高且buffer消耗最小)
實現方法:
(統計字元串出現次數比較簡單,就不寫了)
1.
字元串檢測
以空格為基準,判斷是否一個字元串結束,直到"$$$"認為遍歷結束
2.
字元串統計
二維鏈表法:
讀到空格後第一個字元時,對於二維鏈表的所有頭結點進行遍歷,
一旦發現有相同的,再判斷當前讀到的字元串的下一個字元與該頭結點的後續是否相同,
・如果相同,則繼續判斷下一個後續
・如果不同,則繼續判斷下一個頭結點
如果在所有頭結點遍歷完畢後,如果都沒有找到相同的,則將該字元串錄入二維鏈表
二維數組法(需要一開始就初始化數組):
讀到空格後第一個字元時,對於二維數組的第一列的所有成員進行遍歷(列遍歷),
一旦發現有相同的,再判斷當前讀到的字元串的下一個字元與該成員所在行的後續成員是否相同,
・如果相同,則繼續判斷下一個成員
・如果不同,則繼續判斷下一列的0號成員
如果在第一列遍歷完畢後,如果都沒有找到相同的,則將該字元串寫入當前最後錄入完畢字元串的後一行
這題不錯,強烈建議自己做,
我的方法也不一定就好,希望你能多多思考:)
3. 用c語言如何判斷一個字元串常量的字母個數,數字個數,空格個數,其他個數
下面是我的程序:
#include
#define
n
81
#include
int
main()
{
char
str[n];
int
i,n,zimu,num,kongge,others;
zimu=num=kongge=others=0;
gets(str);
n=strlen(str);
for(i=0;i
='a'&&str[i]<='z')
zimu++;
else
if(str[i]>='a'&&str[i]<='z')
zimu++;
else
if(str[i]>='0'&&str[i]<='9')
num++;
else
if(str[i]='
')
kongge++;
else
others++;
printf("\n字母:%d,數字:%d,空格:%d,其他:%d",zimu,num,kongge,others);
return
0;
}
希望對你有所幫,記得採納哦。
4. c語言怎麼檢測輸入字元串的個數
#include"stdio.h"
intmain(intargc,char*argv[]){
charch,m,t;
printf("Pleaseentersomestring... ");
m=0,t='';
while((ch=getchar())!=' '){
if(t==''&&ch!='')
m++;
t=ch;
}
printf(" Youenter%dstring(s),itis'%c'end ",m,t);
return0;
}
運行樣例:
5. c語言字元串包含字元個數怎麼看
c語言字元串包含字元個數, 可以用 strlen() 測定字元串長度,用 sizeof() 測定字元串佔用內存多少位元組。
c語言字元串中,可以含有 「轉義字元」(escape sequence),
例如: \r \n \t \\ 八進制數碼 \0123 十六進制數碼 \xab, 不可見字元串結束符 \0 等。
所以不能以打字時按了幾次鍵,或一個字元一個字元地去數,那樣判斷。
程序例子,判斷 "abc\0123\xab\n" 的字元串長度和佔用內存多少位元組:
#include <stdio.h>
int main()
{
char s[]="abc\0123\xab\n";
printf("%d %d\n",strlen("abc\0123\xab\n"),sizeof("abc\0123\xab\n")); //方法一
printf("%d %d\n",strlen(s),sizeof(s)); //方法二
return 0;
}
輸出
7 8 //方法一,用字元串常量。
7 8 //方法二,用字元串變數s。
6. 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;
}
(6)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的內容。
7. C語言如何判斷 某個字元串中有多少字元
#include<stdio.h>
#include<string.h>
main()
{
charc[20];
inti=0,j=0,k=0,l=0,h=0;
printf("請輸入一個字元串:");
gets(c);
for(i=0;i<=strlen(c);i++)
{
if(c[i]>='0'&&c[i]<='9')
j++;
if((c[i]>='a'&&c[i]<='z')||(c[i]>='A'&&c[i]<='Z'))
k++;
if(c[i]=='')
l++;
if((c[i]>32&&c[i]<=47)||(c[i]>=58&&c[i]<=64)||(c[i]>=91&&c[i]<=96)||(c[i]>=123&&c[i]<=126))h++;
}
printf("數字有%d個
",j);
printf("字母有%d個
",k);
printf("空格有%d個
",l);
printf("其它字元有%d個
",h);
return0;
}
8. C語言 判斷該字元個數
#include
<stdio.h>
#include
<stdlib.h>
int
main()
{
int
n1=0,n2=0,n3=0,n4=0;//分別用來統計的計數器,同時進行初始化(不能少)
char
ch;
while((ch=getchar())!='\n')//一個一個字元地輸入,直到輸入回車
{
if(ch>='0'&&ch<='9')
n1++;//是否數字字元
else
if(ch>='A'&&ch<='Z')n2++;//是否大寫字母
else
if(ch>='a'&&ch<='z')n3++;//是否小寫字母
else
n4++;//其他字元
}
printf("數字個數:%d,大寫字母個數:%d,小寫字母個數:%d,其他字元個數:%d\n",n1,n2,n3,n4);//輸出
system("pause");
return
0;
}
9. c語言中統計字元串中各個字元的個數
原發布者:zlaikai1314
#include#include#include#includeusingnamespacestd;chara[100];//字元數組intb[100];//字元個數doublep_a[100];//字元概率數組intsum=0;//字元總數//判斷當前字元temp是否已出現過boolsearch(chartemp,chara[],intm,intn)//m為數組a的元素總個數,即100;n為當前數組a中存放的字元種類的個數{inti=0;while(i<n){if(a[i]==temp)returntrue;elsei++;}returnfalse;}//求各個字元的個數,放在數組b中voidread_file(stringfile_name="test_data.txt"){intk=0;ifstreamfile(file_name.c_str());//將string轉化為char數組chartemp;if(file.is_open()==true)//檢查文件是否打開{while(file.peek()!=EOF)//從文件中讀取一個字元,但該字元並未從輸入流中刪除{file.get(temp);//從文件讀入一個字元並把它存儲在tempsum++;//統計出現的字元總數if(search(temp,a,100,k)){for(inti=0;i<k;i++){if(temp==a[i]){b[i]++;break;}}}else
10. 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;
}