『壹』 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;

}

(1)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語言)關於統計一行數字字元中每個數字字元出現的次數。

大部分錯誤都集在中stat方法中,如下:

voidstat(char*s,int*num){
inti;
charch;
ch=s[i];//你上面只是定義了i,從未賦值,i的值就是一個隨機數
while((ch=getchar())!=' '){//你前面的indata就已經讀入數據到s中了,這里只應該從s中讀取並比較它是不是就可以了,而不應該是getchar
if(ch>='0'&&ch<='9')
num[ch-'0']+=1;
}
}
另外一個很重要的錯誤,你的num數組在使用前也並未初始化,會導至num中的數字也全部是隨機的

修改如下

#include<stdio.h>
#defineM10
#defineN10
voidindata(char*s){
inti;
for(i=0;i<M;i++)
s[i]=getchar();
}
voidstat(char*s,int*num){
inti=0;
charch;
ch=s[i];//取第一個元素
for(;i<N;i++)num[i]=0;//num初始化
i=0;
while(ch!=''){
if(ch>='0'&&ch<='9')
num[ch-'0']++;
ch=s[++i];//取下一元素
}
}
voidoutdata(int*num){
inti;
for(i=0;i<N;i++)
printf("%d:%d ",i,num[i]);
}
main(){
intnum[N];
chars[M];
indata(s);
stat(s,num);
printf("Outputtheresult: ");
outdata(num);
}

//當然stat也可以進一步簡化,變為
voidstat(char*s,int*num){
inti=0;
charch;
for(;i<N;i++)num[i]=0;
i=0;
while((ch=s[i++])!=''){
if(ch>='0'&&ch<='9')
num[ch-'0']++;
}
}

『叄』 c語言輸入數據統計數字個數

這個簡單,只要變抄量字元串,判斷襲每個字元是否是數字(str[i]>='0' && str[i] <=9就是數字)。如果當前位不是數字,但前一個字元是數字,就說明前面有過一個數字了(數字計數+1).

//比如:
#include<stdio.h>
intmain()
{
ini,cnt=0;
charstr[11]="ab12cd34dd";
for(i=1;i<11;i++)
if((str[i]<'0'||str[i]>'9')&&(str[i-1]>='0'&&str[i-1]<=9))
cnt++;
printf("個數%d "cnt);
return0;
}

注意保存字元串的數組,多定義一位,最後一個元素必須是0(也就是結束符合『』);比如上面
我寫的常量"ab12cd34dd",只有10個字元,實際內存中有11個字元,最後一個字元就是『』,
所以數組我定義11位,循環也是11位

『肆』 c語言字元數組中數字字元的統計

#include<stdio.h>
#include<string.h>

intmain(void)
{
intn,count,i,k,j,w;
chara[100];
scanf("%d",&n);
w=n;//先把n存起來n是一個用戶輸入的常量最好不要修改就算修改也要知道原始值
intb[100]={0};

while(n>0)
{
count=0;
scanf("%s",a);
k=strlen(a);

for(i=0;i<k;i++)
{
if(a[i]<='9'&&a[i]>='0')
{
count++;
}
}
b[n-1]=count;
n--;
}

//這時n已經等於0了!!!
//for(j=n-1;j>=0;j--)
for(j=w-1;j>=0;j--)
{
printf("%d ",b[j]);
}
return0;
}

『伍』 統計字元串中數字的個數並輸出用C語言寫出

#include <stdio.h>
#include <string.h>
int main()
{
char a[100];
unsigned int i,count=0;
printf("輸入一字元串\n");
gets(a);
for(i=0;i<=strlen(a)-1;i++)
if(a[i]>='0'&&a[i]<='9')
count++;
printf("字元串中數字的個內數容是%d\n",count);
return 0;
}

『陸』 C語言中求輸入若干字元統計其中字母及數字字元的個數

用下面的循環加判斷就可以統計其中的字母和數字的個數:專
int i,zm=0,sz=0;
char s[200];
gets(s);
for(i=0;s[i];i++)
{
if(s[i]>='A'&&s[i]<='Z'||s[i]>='a'&&s[i]='z')zm++;
else if(s[i]>='0'&&s[i]='9')sz++;
}
printf("共有字屬母%d 數字%d\n",zm,sz);

『柒』 C語言統計字元個數問題

兩處錯誤:
1.
算符
優先順序:
while(c=getchar()!='\n')
改成:內
while((c=getchar())!='\n')
2.拼寫錯誤容:
if((c>='A')&&(c<='z')||(c>='a')&&(c<='z'))
改成:
if((c>='A')&&(c<='Z')||(c>='a')&&(c<='z'))

『捌』 c語言 從鍵盤輸入一行字元,分別統計其中數字字元,字母字元和其他字元的個數

||

可以參考下面的代碼:

#include <stdio.h>

intmain()

{

inta,b,c,ch;

a=b=c=0;//計數器初始化為0.

while((ch=getchar())!=' ')//循環讀取字元,到換行結束。

{

if(ch>='0' && ch<='9')//數字

a++;

else if((ch>='a' && ch<='z')||(ch>='A' && ch<='Z'))//字母

b++;

else//其它

c++;

}

printf("%d%d%d ",a,b,c);//輸出結果。

return0;

}

(8)c語言統計數字字元個數擴展閱讀:

printf()函數函數

printf()函數是格式化輸出函數, 一般用於向標准輸出設備按規定格式輸出信息。在編寫程序時經常會用到此函數。函數的原型為:

int printf(const char *format, ...);

函數返回值為整型。若成功則返回輸出的字元數,輸出出錯則返回負值,printf()函數的調用格式為:

printf("<格式化字元串>", <參量表>);

while語句的一般表達式為:while(表達式){循環體}。

『玖』 在c語言中怎麼統計數字字元字母個數

#include <stdio.h>

int count_letter(char *str)
{
char *p = str;
int cnt = 0;

//開始計數
while (*p != '\0') {
if ((*p >= 'a' && *p <= 'z') || (*p >= 'A' && *p <= 'Z')) {
cnt++;
}

p++;
}
//計數完成

printf("letter cnt:%d\n", cnt); //列印出英文字母總數

return cnt; //計數結果返回
}

int main()
{
char *str = "gkdial9-1.;J19D-=-=YdlUImf"; //實例字元串
count_letter(str); //調用計數函數
return 0;
}

『拾』 C語言統計字元串中字母、數字的個數 以下是我的代碼。

# include <stdio.h>int i,z=0,s=0,q=0;
void f1(char str[100],char str1[100],char str2[100],char str3[100]); //全局變數
int main ()
{
char str[100],str1[100],str2[100],str3[100];
printf ("input string:\n");
gets(str);
f1(str,str1,str2,str3);
printf ("字母數: %d %s\n",z,str1);
printf ("數字個數:%d %s\n",s,str2);
printf ("其他字元:%d %s\n",q,str3);
return 0;
}
void f1(char str[100],char str1[100],char str2[100],char str3[100])
{
for (i=0; str[i] != '\0'; i++)
if ((str[i] >= 'A') && (str[i] <= 'Z') || (str[i] >= 'a') && (str[i] <= 'z'))
{
str1[z++] = str[i];

}
else if (str[i] >= '0' && str[i] <= '9')
{
str2[s++] = str[i];

}
else
{
str3[q++] = str[i];

} str1[z] = '\0';
str2[s] = '\0';
str3[q] = '\0'; //全放在這里

}