1. 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及其出現的次數*/
}
(1)輸入一串字元分別統計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 進行填充。
2. 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;
}
(2)輸入一串字元分別統計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。
3. c語言編程。從標准輸入設備上輸入一個字元串,分別統計其中每個數字,空格,字母及其他字元出現的次數。
代碼如下:
#include <stdio.h>
int main(){
char stringss[1024];
int i,num[4]={0};
int j = 0;
char c;
while((c=getchar()) !=' '){
stringss[j] = c;
j++;
}
for(i=0;i<j;i++)//統計字元串,遇到'