本文目录一览:
- 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;
}