我通过汇总文本文件中的所有数字而遇到问题。看起来似乎很简单,但问题是我的代码无法将2000识别为2000,但是将其识别为2,0,0,0,因此它将数字视为4个单独的数字:
我试图一次一次读取文本文件的字母,因为我也想计算一个字母出现的次数
这是我想阅读的文字:
德国波鸿大学鲁尔大学(University of Bochum)MIT 42954 Studierenden(Stander WS 2018/19)eine der zehngrößtenUniversitätenin Deutschland。
1962年的卢布战争(1965年,于法特·莱赫贝特里布(Aufnahme des Lehrbetriebs)逝世,而在德意志联邦大学)在Querenburg的世界大学校园大学就读天使大学:从大学毕业。死于大学,死于沃恩施塔特·胡斯塔特和埃德卡夫·德恩斯大学的统一管理中心
int main()
{
char txtname[2000];
FILE *fp;
int buchstaben[26] = {0};
int i;
int temp;
int sum;
printf("Dateiname:\n");
scanf("%s",&txtname);
printf("%s",&txtname);
strcat(txtname,".txt");
fp = fopen(txtname,"r");
if(fp == NULL) {
printf("Datei konnte nicht geoeffnet werden.\n");
}else {
while( (temp=fgetc(fp)) != EOF)
{
if(temp >= 'a' || temp <= 'z')
buchstaben[(temp - 'a')]++;
if( temp >= 'A' || temp <= 'Z')
buchstaben[(temp - 'A')]++;
if(temp>= 48 || temp<= 57)
}
printf("Anzahl der einzelnen Buchstaben: \n");
for(i=0;i<26;i++)
printf("Buchstabe %c kommt %d mal vor.\n",i+'a',buchstaben[i]);
}
printf("Die Summe aller Zahlen sind:%d",sum);
fclose(fp);
}
我通过汇总文本文件中的所有数字而遇到问题。看起来似乎很简单,但问题是我的代码无法将2000识别为2000,但是将其识别为2,0,0,0,因此它将数字视为4个独立的数字...
您的循环一次读取一个字符。当您看到数字时,必须阅读所有数字,并在阅读数字时将其转换为数字。
您可以使用atoi,它将字符串转换为整数,当它遇到非整数char时,它将停止:
[Bin auch an der RUB,kann man dichzufälligirgendwo kontaktieren?是这样吗? Hab das selbe问题与社会的反抗。