gpt4 book ai didi

c - 查找文件中大写和小写字符的频率 c 程序

转载 作者:行者123 更新时间:2023-11-30 21:17:43 25 4
gpt4 key购买 nike

我尝试了很多东西,但是当我选择 2 分别计算大写和小写时,结果是垃圾,我不知道这有什么问题,而不在乎是小写还是大写仍然可以正常工作。

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main()
{
int i,h,k ,count[26] = {0}, nam[26] = {0};
char c[1000];
FILE *fptr;
fptr=fopen("tep1.txt","w");
if(fptr==NULL){
printf("Error!");
exit(1);
}
printf("a String please:\n");
gets(c);
fprintf(fptr,"%s",c);
fclose(fptr);
printf("discern between upper case and lower case? 0=no, 1=yes");
scanf("%d",&h);

if(h==0){
while (c[i] != '\0'){
if (c[i] >= 'a' && c[i] <= 'z')
count[c[i]-'a']++;

if (c[i]>='A' &&c[i]<='Z')
count[c[i]-'A']++;
i++;
}

for (i = 0; i < 26; i++){
if (count[i] != 0)
printf("%c %c appears %d times on file.\n",i+'a',i+'A',count[i]);
}
return 0;
}
if(h==1){
while (c[i]|c[k] != '\0') {
if (c[i] >= 'a' && c[i] <= 'z')
count[c[i]-'a']++;
i++;
if (c[k]>='A' &&c[k]<='Z')
nam[c[k]-'A']++;
k++;
}

for (i = 0; i < 26; i++){
if (count[i] != 0)
printf("%c %c appears %d times on file.\n",i+'a',count[i]);
}

for (k = 0; k < 26; k++){
if (nam[k] != 0)
printf("%c %c appears %d times on file.\n",k+'A',nam[k]);
}

return 0;
}
}

最佳答案

  • 首先,您必须初始化整数,例如 i = 0
  • 第二件事是计算大小写,问题在于打印。在打印函数中,您编写了两次 %c 和一次 %d,但只给出了两个参数。
  • 只需替换 printf 函数即可,

    printf("%c %c 在文件中出现 %d 次。\n",i+'a',count[i]);

    printf("%c 在文件中出现 %d 次。\n",i+'a',count[i]); 您的问题将得到解决。

    <

关于c - 查找文件中大写和小写字符的频率 c 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35620395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com