A. 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的內容。
B. C語言編程題 統計數字字元個數
#include<stdio.h>
int main()
{
int i, n = 0;
char s[256];
printf("Please input a string:\n");
scanf("%s",&s);
for (i = 0; s[i]; i++)
if (s[i] >= '0' && s[i] <= '9')
n++;
printf("%d\n", n);
return 0;
}
C. 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;
}
(3)c語言輸入一串字元統計數字個數擴展閱讀:
printf()函數函數
printf()函數是格式化輸出函數, 一般用於向標准輸出設備按規定格式輸出信息。在編寫程序時經常會用到此函數。函數的原型為:
int printf(const char *format, ...);
函數返回值為整型。若成功則返回輸出的字元數,輸出出錯則返回負值,printf()函數的調用格式為:
printf("<格式化字元串>", <參量表>);
while語句的一般表達式為:while(表達式){循環體}。
D. C語言 從鍵盤讀入一個字元串,統計其中的數字出現的個數
可以定義一個字元數組用來保存字元串
然後通過一次掃描來判斷數組中每個變數是否為'0'-'9'(包括'0'和'9')
如果是則進行統計
當然也可以使用isdigit來判斷是否有數字
下面是一個簡單的代碼
#include<stdio.h>
intmain(intargc,char**argv)
{
charbuf[20];
inti;
intcount=0;
printf("請輸入一個字元串:");
scanf("%s",buf);
for(i=0;buf[i];++i)
{
if(isdigit(buf[i]))
++count;
}
printf("字元串:%s中有%d個數字! ",buf,count);
return0;
}
E. c語言輸入字元串統計數字字元的個數,用換行符結束循環
#include<stdio.h>
intmain()
{
charch;
intdigit=0;
printf("輸入字元串:");
while((ch=getchar())!=' ')
{
if(ch>='0'&&ch<='9')
digit++;
}
printf("數字字元個數=%d ",digit);
return0;
}
示例運行結果:
輸入字元串: abcdg12459650klj546.
數字字元個數= 11
F. c語言輸入數據統計數字個數
這個簡單,只要變數字元串,判斷每個字元是否是數字(str[i]>='0'
&&
str[i]
<=9就是數字)。如果當前位不是數字,但前一個字元是數字,就說明前面有過一個數字了(數字計數+1).
//比如:
#include<stdio.h>
int main()
{
in i,cnt=0;
char str[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\n"cnt);
return 0;
}
注意保存字元串的數組,多定義一位,最後一個元素必須是0(也就是結束符合『\0』);比如上面
我寫的常量"ab12cd34dd",只有10個字元,實際內存中有11個字元,最後一個字元就是『\0』,
所以數組我定義11位,循環也是11位
G. 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 ", b[x], s[x]);
}
}
getchar();
return 0;
}
(7)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? ");
gets(s);
printf("%s ",s);
return 0;
}
當輸入a bde回車的時候,會輸出a bde。
H. C語言:輸入一行字元,統計出其中數字字元的個數
#include <stdio.h>
int main()
{
int i,n=0;
char s[256];
fgets(s,256,stdin);
for(i=0;s[i];i++)
if(s[i]>='0'&&s[i]<='9')
n++;
printf("%d",n);
return 0;
}