當前位置:首頁 » 編程語言 » c語言計算字母和數字
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言計算字母和數字

發布時間: 2023-05-27 02:40:19

『壹』 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語言編程:編寫函數,統計字元串中字母、數字、空格和其他字元的個數。

#include<stdio.h>

void TongJi(char s[])

{

int ZiMu=0,KongGe=0,ShuZi=0,QiTa=0,i;

for(i=0;s<i>!='';i++)

{

if(s<i>==32)KongGe++;

else if((s<i>>=48)&&(s<i><=57))ShuZi++;

else if(((s<i>>=97)&&(s<i><=122))||((s<i>>=65)&&(s<i><=90)))ZiMu++;

else QiTa++;

}

printf("空格:%d;數字:%d;字母:%d;其他:%d。 ",KongGe,ShuZi,ZiMu,QiTa);

}

int main()

{

char s[100];

printf("請輸入:");

gets(s);

TongJi(s);

return 0;

}

(2)c語言計算字母和數字擴展閱讀:

return用法

C++的關鍵字,它提供了終止函數執行的一種方式。當return語句提供了一個值時,這個值就成為函數的返回值.

說到return,有必要提及主函數的定義,下面是從網路上找到的資料,好好消化吧,對了解主函數中返回值的理解有很大的幫助.

很多人甚至市面上的一些書籍,都使用了void main(),其實這是錯誤的。C/C++中從來沒有定義過void main()。

C++之父Bjarne Stroustrup在他的主頁上的FAQ中明確地寫著The definition void main(){/*...*/}is not and never has been C++,

nor has it even been C.(void main()從來就不存在於C++或者C)。下面我分別說一下C和C++標准中對main函數的定義。

1.C

在C89中,main()是可以接受的。Brian W.Kernighan和Dennis M.Ritchie的經典巨著The C programming Language 2e(《C程序設計語言第二版》)用的就是main()。不過在最新的C99標准中,只有以下兩種定義方式是正確的:

int main(void)

int main(int argc,char*argv[])

(參考資料:ISO/IEC 9899:1999(E)Programming languages—C 5.1.2.2.1 Program startup)

當然,我們也可以做一點小小的改動。例如:char*argv[]可以寫成char**argv;argv和argc可以改成別的變數名(如intval和charval),不過一定要符合變數的命名規則。

如果不需要從命令行中獲取參數,請用int main(void);否則請用int main(int argc,char*argv[])。

main函數的返回值類型必須是int,這樣返回值才能傳遞給程序的激活者(如操作系統)。

如果main函數的最後沒有寫return語句的話,C99規定編譯器要自動在生成的目標文件中(如exe文件)加入return 0;,表示程序正常退出。不過,我還是建議你最好在main函數的最後加上return語句,雖然沒有這個必要,但這是一個好的習慣。

注意,vc6不會在目標文件中加入return 0;,大概是因為vc6是98年的產品,所以才不支持這個特性。現在明白我為什麼建議你最好加上return語句了吧!不過,gcc3.2(Linux下的C編譯器)會在生成的目標文件中加入return 0;。

『叄』 C語言編程! 編寫程序,計算輸入的數字、字母和其他字元的個數。

在ascII表中鍵盤可輸入字元是連續的,不包括空格是從33到126,所以可以定義一個128的數組,做個簡單hash,輸入的字元作hash
key。實現如下:
#include
<stdio.h>
int
main()
{
char
a[1024]
=
{0};
/*接收輸入的字元,由於gets不檢查長度,所以弄大點*/
int
hash_tbl[128]
=
{0};/*hash
表*/
int
i;
printf("Please
input
string:\
");
gets(a);/*從標准輸入讀字元*/
for(i=0;
a[i]!='\\0';
i++)
{
hash_tbl[(int)a[i]]++;/*計算輸入字元的個數*/
}
/*列印非零字元的個數*/
for(i=33;
i<126;
i++)
{
if
(hash_tbl[i]>0)
{
printf("%c
num
is:
%d\
",
i,
hash_tbl[i]);
}
}
return
0;
}

『肆』 C語言統計英文字母、空格、數字和其它字元的數目

#include<stdio.h>

intmain()
{
charc;
intletter=0,
space=0,
digital=0,
others=0;
printf("輸入字元:");
while((c=getchar())!=' ')/*;*/{//<====while條件後多一個分號
if(c>='a'&&c<='z'||c>='A'&&c<='Z')
letter++;
elseif(c=='')
space++;
elseif(c>='0'&&c<='9')
digital++;
else
others++;
}
printf("統計結果: 英文結果:%d 空格結果:%d 數字結果%d 其他結果:%d ",letter,space,digital,others);
return0;
}

『伍』 c語言統計大小寫字母 數字個數

#include <stdio.h>

#include <stdlib.h>

#define N 100

void func3()

{

char str[N];

int i,lower=0,upper=0,digit=0,space=0;

long others=0;

printf("Input a string:");

gets(str);

for(i=0;str[i]!='';i++)

{

if(str[i]>='a' && str[i]<='z')

lower++; /*統計小寫英文字母*/

else if(str[i]>='A' && str[i]<='Z')

upper++; /*統計大寫英文字母*/

else if(str[i]>='0' && str[i]<='9')

digit++; /*統計字元串*/

else if(str[i]==' ')

space++;

else

others++; /*統計其他字母*/

}

printf("lower English character:%d ",lower);

printf("upper English character:%d ",upper);

printf("digit character:%ld ",digit);

printf("space:%d ",space);

printf("other character: %ld ",others);

return 0;

}

int main()

{

while(1)

{

func3();

printf(" ");

system("pause");

}

return 0;

}

(5)c語言計算字母和數字擴展閱讀:

程序實現思路分析

統計大小寫字母、數字的個數,首先要判斷出字元是屬於哪一種,然後增加計數。

1、判斷

小寫字母的范圍為:'a'~'z'

大寫字母的范圍為:'A'~'Z'

數字的范圍為:'0'~'9'

2、聲明三個int變數並賦值初值為0

lower——統計小寫英文字母

upper——統計大寫英文字母

digit——統計數字

『陸』 C語言編程題:從鍵盤輸入一串字元,統計其中的數字與字母個數並輸出

#include<stdio.h>
int
main()
{
char
a[100];
char
b[24];
int
s[100]
=
{
0
};//用於存儲字元的個數
gets(a);//輸入字元
//開始比較
for
(int
x
=
0;
x
<
24;
x++)
{
int
c
=
0;//記錄每個字元個數
b[x]
=
x
+
97;//為了讓b[0]是a,b[1]是b依次類推
for
(int
i
=
0;
i
<
100;
i++)
{
if
(b[x]
==
a[i])
{
++c;
s[x]
=
c;
}
}
if
(s[x]>=1)//只輸出輸入中有的字母
的個數
{
printf("%c
%d\n",
b[x],
s[x]);
}
}
getchar();
return
0;
}
(6)c語言計算字母和數字擴展閱讀:
gets()用法:
gets()函數用來從標准輸入設備(鍵盤)讀取字元串直到回車結束,但回車符
不屬於這個字元串。其調用格式為:
gets(s);
其中s為字元串變數(字元串數組名或字元串指針)。
gets(s)函數與scanf("%s",s)相似,但不完全相同,使用scanf("%s",s)
函數輸入字元串時存在一個問題,就是如果輸入了空格會認為輸入字元串結束,
空格後的字元將作為下一個輸入項處理,但gets()函數將接收輸入的整個字元
串直到回車為止。
示例:
#include<stdio.h>
int
main()
{
char
s[20];
printf("What's
your
name?\n");
gets(s);
printf("%s\n",s);
return
0;
}
當輸入a
bde回車的時候,會輸出a
bde。

『柒』 求一個字元串中字母和數字的個數 c語言謝謝

#include<stdio.h>

intmain(intargc,char*argv[])
{
charbuff[128]={0};
inti=0,cnt1=0,cnt2=0;

printf("輸入一個字元串: ");
scanf("%s",buff);

for(i=0;i<128;i++)
{
if(buff[i]>='0'&&buff[i]<='9')
{
升埋和cnt1++;
}
elseif(buff[i]>='a'&&buff[i]<='z')
{
吵盯cnt2++;
}
elseif(buff[i]>='A'&&buff[i]<='Z')
{
cnt2++;
}
elseif(''==buff[i])
{
break;
}
}

printf("數字的個液枝數:%d字母的個數:%d ",cnt1,cnt2);

return0;
}

『捌』 C語言之字母數字統計

#include<stdio.h>
#include<string.h>
voidmain()
{
inti;
intnum1;
intnum2;
charstr[10000];
while(true)
{
gets(str);
num1=指液0;
num2=0;
for(i=0;i<strlen(str);++i)
{
啟逗談if(str[i]>='悄碰a'&&str[i]<='z')
++num1;
if(str[i]>='A'&&str[i]<='Z')
++num1;
if(str[i]>='0'&&str[i]<='9')
++num2;
}
printf("字母%d數字%d總個數%d ",num1,num2,num1+num2);
}
}

『玖』 C語言問題:輸入一串字元。分別統計其中數字和字母的個數。

對於這個問題,不需要存到數組掘叢。按照如下流程即可:

1 輸入一個字元,對該字元進行判斷:

a) 如果是數字,則數字累加器加一。

b) 如果是字母,則字母累加器加一。

c)如果是換行,則結束統計(以換行為結束符。如需其他結束符,根據需要純盯更改判斷)。

2輸出做散和結果。

代碼:

#include<stdio.h>
intmain()
{
intc,n,i;
c=n=0;
while(1)
{
i=getchar();
if(i>='0'&&i<='9')n++;
elseif((i>='a'&&i<='z')||(i>='A'&&i<='Z'))
c++;
elseif(c==' ')break;
}
printf("數字%d個,字母%d個 ",n,c);

return0;
}

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

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);
輸入n個字元統計其中數字字元、*號和字母的個數。求c語言怎麼寫
對於這個問題,不需要存到陣列弊握磨。按照如下流程即可:
1 輸入一個字元,對該字元進行判斷:
a) 如果是數字,則數字累加器加一。
b) 如果是字母,則字母累加器加一。
c)如果是換行,則結束統計(以換行為結束符。如需其他結束符,根據需要更改判斷)。
2輸出結果。
程式碼:
#include <stdio.h>
int main()
{
int c, n, i;
c=n=0;
while(1)
{
i = getchar();
if(i>='0' && i <= '9') n++;
else if((i>='a' && i <= 'z')||(i>='A' && i <= 'Z'))
c++;
else if(c=='\n') break;
}
printf("數字%d個,字母%d個\n", n,c);

return 0;
}
在c語言中怎麼統計數字字元字母個數
#include <stdio.h>
int count_letter(char *str)
{
char *p = str;
int t = 0;
開始計數
while (*p != '\0') {
if ((*p >= 'a' && *p <= 'z') || (*p >= 'A' && *p <= 'Z')) {
t++;
}
p++;
}
計數完成租斗
printf("letter t:%d\n", t); 列印出英文字母總數
return t; 計數結果返回
}
int main()
{
char *str = "gkdial9-1.;J19D-=-=YdlUImf"; 例項字串
count_letter(str); 呼叫計數函式
return 0;
}
輸入一串字元,統計其中數字字元的個數
a= text1
for i= 1 to len(a)
if mid(a,i,1)>=0 and mid(a,i,1)<=9 then k=k+1
next i
print k

輸入5個字元,統計其中英文字母,數字字元和其他字元的個數用C語言表示
#include "stdio.h"
#include "stdlib.h"
int main(void)
{
char line[1024];
unsigned int nnum = 0;
unsigned int nalp = 0;
unsigned int nblk = 0;
unsigned int noth = 0;
char *p = NULL;
while (gets(line))
{
p = line;
while (*p )
{
if (*p == 32)
{
nblk ;
}
else if (*p >= 48
C語言編寫函式,統計字串中數字字元的個數

#include<stdio.h>#include<string.h>main(){ int i,j=0,k; char a[1000];長度自己根皮旁據實際情況調整 printf("請輸入一串字串:\n"); gets(a); k=strlen(a); for(i=0;i<k;i++) if('0'<=a[i]<='9') j++; printf("這串字串中數字字元有%d個!\n",j);}

求解(C語言):輸入一串字元,直到輸入一個星號(*)為止,統計(輸出)其中的字母個數和數字字元個數。
#include<stdio.h> #include<conio.h> int main() { char ch; int iCountChar = 0,iCountInt = 0; while((ch=getch()) != '*') { if((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')) iCountChar ++; else if(ch >= '0' && ch <= '9') iCountInt ++; printf("%c",ch); } printf("%d\n%d",iCountChar,iCountInt); return 0; }
滿意請採納
輸入若干字元,以¥結束,統計並輸出字串中非數字字元的個數,用VB語言實現
Private Sub Command1_Click()
Do
a = InputBox("")
If a = "¥" Then Exit Do
If IsNumeric(a) = True Then n = n + 1
Loop
Print n
End Sub
從鍵盤上輸入若干個字元,以 * 結束。要求統計其中字母字元、數字字元、空格符和其他字元的個數,要求用 d
using System;
using System.Collections.Generic;
using System.Text;
namespace inputstring
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("輸入一個五位數");
indexer:
string input = Console.ReadLine();
string output;
while (Convert.ToInt32(input) < 9999 || Convert.ToInt32(input) > 100000)
{
Console.WriteLine("輸入不符合提示要求請重新輸入一個五位整數:");
goto indexer;
}
char[] ch = input.ToCharArray();
foreach (char c in ch)
{
Console.Write(" ",c);
}
Console.ReadKey();
}
}
}
c++的不會這個是c#的執行成功
input:12345
output:1 2 3 4 5
c語言問題。輸入一行字元,統計數字字元(0-9),字元(a~z. A~z)及其他字元的個數
簡單:
int count=0;
for(i=0;a[i]!='\0';i++)
if(a[i]>='0'||a[i]<='9||a[i]>='a'||a[i]<='z'||a[i]>='A'||a[i]<='Z')
count++;
printf("%d\n",count); 統計的個數是: