本文目錄一覽:
- 1、C語言實現統計文本文件中,26個英文字母的分別的數量,及其他字元的數量。
- 2、C語言代碼 統計從鍵盤輸入的字元串中各個字母數目
- 3、跪求c語言計數代碼
- 4、c語言 求最大數 簡單代碼
- 5、C語言解答 求代碼
C語言實現統計文本文件中,26個英文字母的分別的數量,及其他字元的數量。
#include stdio.h
#include stdlib.h
#include string.h
int count[27] ; //0-25代表a-z,26代表其它字元
char s[1001] ;
int main()
{
int i ;
FILE *fp ;
fp = fopen(“自己給出路徑名”,”r”) ;
while( fgets(s,1000,fp) ) {
for( i = 0 ; s[i] ; i ++ ) {
if( s[i] ‘A’ || s[i] ‘z’ || ( s[i] ‘Z’ s[i] ‘a’ ) ) //證明是其它字元
count[26] ++ ;
else if( s[i] ‘a’ ) //大寫字元
count[s[i] – ‘A’ ] ++ ;
else
count[s[i] – ‘a’] ++ ;
}
}
for( i = 0 ; i 26 ; i ++ ) {
printf(“%c 或者 %c:%d次\n”, ‘A’ + i , ‘a’ + i , count[i]);
}
printf(“其他字元:%d次\n”,count[26]);
return 0 ;
}
C語言代碼 統計從鍵盤輸入的字元串中各個字母數目
#includestdio.h
#includestring.h
struct letter{
char zimu ;
int n;
};
int main()
{
char word[200];
int l,i,k,t,ZIMU=0;
struct letter let[26],temp;
gets(word);
l=strlen(word);
for(k=0;k26;k++)
{let[k].n=0;
for(i=0;il;i++)
if(word[i]==’a’+k||word[i]==’a’+k-32)
{let[k].zimu=’a’+k;
let[k].n++;} //依次統計各個字母個數
if(let[k].n!=0)ZIMU++;//ZIMU記錄出現的字母種類數
}
for(i=0;i26;i++)
{
if(let[i].n==0)
{
for(k=i+1;k26;k++)
{
if(let[k].n!=0)
{
let[i]=let[k];
let[k].n=0;break;
}
}
}
}//整合結構數組,剔除零項
for(i=0;iZIMU-1;i++)
{
for(k=i+1;kZIMU;k++)
if(let[i].nlet[k].n)
{
temp=let[i];
let[i]=let[k];
let[k]=temp;
}
} //排序
for(i=0;iZIMU;i++)printf(“%c %d\n”,let[i].zimu,let[i].n);
return 0;
}
朋友,你的代碼里有兩處錯誤:首先你沒有整合掉數目為零的字母項,導致後面排序時數據丟失;另外,你的排序演算法也有問題,我看後覺得你是想用冒泡演算法,但是用得不對,建議將經典演算法的代碼記下來,用得時候就好辦了。(我這個新手的一點拙見,我自己的檢驗都通過了,但是不知道是否完全正確,希望多多交流,共同進步)
跪求c語言計數代碼
#include “stdio.h”
#include “stdlib.h”
void main()
{
FILE *fp;
char ch;
int charCounts=0,numCounts=0,numSum=0;
if((fp=fopen(“test.txt”,”r”))==0)//注意,由於不知道想打開的文件的位置和名稱,隨意寫的一個文件名,自己要按文件的路徑和名稱做修改
{
printf(“文件讀取失敗!\n”);
exit(0);
}
while((ch=fgetc(fp))!=EOF)
{
if(ch=’0’ch=’9′)
numCounts++;
else
charCounts++;
}
numSum=numCounts+charCounts;
printf(“該文件中數字字元共有%d個,除數字這外的其它字元共有%d個,總計字元數%d。\n”,numCounts,charCounts,numSum);
fclose(fp);
}
c語言 求最大數 簡單代碼
#include stdio.h
int main(void)
{
int max = 0;
while(1) {
int num = 0;
printf(“請輸入數據:\n”);
scanf(“%d”, num);
if (num == 0) break;
max = num max ? num : max;
}
printf(“%d is the largest one.\n”, max);
return 0;
}
C語言解答 求代碼
#includestdio.h
#define N 2000000
#define M 10000
int f[N]= {0};
int b[M]= {0};
int main()
{
int n,x;
int m;
scanf(“%d”,n);
for(int i=0; in; i++){
scanf(“%d”,x);//所有的提交過的人的編號
f[x]++;//出現過的編號標記
}
scanf(“%d”,m);
for(int i=0; im; i++) {/*抽取這m個人的編號,其中某個人在數組a中出現過,就輸出Yes,否則輸出No*/
scanf(“%d”,b[i]);
}
for(int i=0; im; i++)
{
int t=b[i];
if(f[t]!=0)//判斷;
printf(“Yes\n”);
else
printf(“No\n”);
}
return 0;
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/243229.html