Ⅰ 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;
}
(1)c語言輸入一串字元統計子串個數擴展閱讀:
printf()函數函數
printf()函數是格式化輸出函數, 一般用於向標准輸出設備按規定格式輸出信息。在編寫程序時經常會用到此函數。函數的原型為:
int printf(const char *format, ...);
函數返回值為整型。若成功則返回輸出的字元數,輸出出錯則返回負值,printf()函數的調用格式為:
printf("<格式化字元串>", <參量表>);
while語句的一般表達式為:while(表達式){循環體}。
Ⅱ 編寫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);
}
Ⅲ 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;
}
Ⅳ c語言 鍵盤輸入一字元串 統計字元串所含字元個數
主要代碼:
char
s[1000];
int
i,j=0;
scanf("%s",s);
for(i=0;i<1000;i++)
{
if(s[i]=='*')
//for循環查找字元*的數量
j++;//利用變數j計數
}
Ⅳ 用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;
}
程序運行結果如下:
(5)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;
Ⅵ c語言,從鍵盤輸入一串字元串,統計字元串中特定字元的個數,並輸出個數
程序設計思路如下:
從鍵盤分別輸入字元串和要統計的字元,然後對此字元串從頭開始逐個與所統計的字元比較,如相同,則讓計數器加1,知道字元串整體比較結束為止,計數器中就是需統計的字元的個數。
#include"stdio.h"
main()
{charstr[100],ch;/*定義str字元串,定義ch用來存放要統計的字元*/
intcnt=0,i;/*定義cnt用作計數器,初始值為0*/
/*輸入字元串*/
printf("請輸入字元串:");
gets(str);
/*輸入要統計的字元*/
printf("請輸入要統計的字元:");
scanf("%c",&ch);
/*對此字元串從頭開始逐個與所統計的字元比較,如相同,則讓計數器加1,知道字元串整體比較結束為止*/
for(i=0;str[i];i++)
if(str[i]==ch)
cnt++;
/*輸出結果*/
printf("%s串中%c字元的個數是:%d個",str,ch,cnt);
}
Ⅶ C語言編寫:輸入任意一串字元串,統計該字元串中出現的字元a的個數,並輸出共統計的個數。
代碼如下:
/*編程從鍵盤輸入一個字元串,統計該字元串中從'a'到'z'共26個小寫字母各自出現的次數,
將結果存入數組中,並輸出*/
#include<stdio.h>
#include<string.h>
#define N 100
main()
{ int i,j=0,c[26]={0};
char str[N];
printf("請輸入一個字元串:");
gets(str);
for(i=0;i<strlen(str);i++)/*外循環掃描/遍歷字元數組*/
for(j=0;j<26;j++)
if(str[i]=='a'+j)
{ c[j]++;
break;
}
for(i=0;i<26;i++)
printf("%c-%d ",'a'+i,c[i]);/*輸出字母a-z及其出現的次數*/
}
(7)c語言輸入一串字元統計子串個數擴展閱讀
字元串常量與字元數組的區別
1)字元串常量是一個字元數組,但是內容和長度在初始化時就已經固定了,不可更改;可以通過一個指向字元串常量第一個元素的指針來訪問該字元串常量;
2)字元數組是一個用於存放字元的數組,字元數組的值是可以更改的。
常用字元串函數:
1、復制字元串
C 語言中使用庫函數 strcpy 來進行字元串復制操作:
char *strcpy(char *dst , char const *src);
函數 strcpy 接收兩個字元串參數,並將參數 src 字元串復制到 dst 參數。使用 strcpy 函數時需要注意的是,必須保證目標字元數組 dst 的長度足夠存放源字元數組 src 的內容。
如果 src 比 dst 長,則 src 剩餘部分的字元仍會被復制,而且它們會覆蓋 dst 後面的內存空間的值,如果這除內存空間原本就存放有值,則會導致原本的數據丟失,這樣會造成很嚴重的後果。為了解決這個問題, C 語言中提供了一種更為安全的方式來進行字元串復制操作——strncpy 函數:
char *strncpy(char *dst , char const *src , size_t len);
2、連接字元串
C 語言中使用庫函數 strcat 來連接兩個字元串:
char *strcat(char *dst,char const *src);
函數 strcat 將參數 src 字元串連接到參數 dst 字元串的後面。與 strcpy 函數一個同樣的問題是,必須保證 dst 的剩餘空間足夠存放下 src 整個字元串。C 語言中提供了 strncat 函數來解決這個問題:
char *strncat(char *dst , char const *src , size_t len);
strncat 函數從 src 中最多復制 len 個字元到目標數組 dst 後面,並且,strncat 總是在結果字元串後面添加一個 NUL 位元組,而且不會像 strncpy 函數那樣對 dst 剩餘的空間用 NUL 進行填充。
Ⅷ 在C語言中,怎麼編一個程序使得輸入一串字元,得出他的個數
因為char
*str你沒有給它分配存儲字元串的空間。
可以用malloc動態的申請:
char
*str
=
(char*)
malloc(sizeof(char)
*100);
然後再
scanf("%s",
str);就可以了
而char
str[100]這里是申請了包含100個字元的內存空間。
Ⅸ 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的內容。