我有条题目我想了很久了。题目来自,模拟2级C的第三题。我运行结果正确。可是就是没分数;题目就是:有个字符窜a[100], 把里面的字母a出现次数计数到数组b[0],字母b计数到b[1],一直到e到b[4],其他字符计数到b[5]里。
#include <stdio.h>
#include <string.h>
void fun(char *a, int b[]) //这里是我编的
{
int i,j;
for(i=0;i<6;i++) b[i]=0;
while(*a!='\0')
{ if(*a=='a') b[0]+=1;
else if(*a=='b') b[1]+=1;
else if(*a=='c') b[2]+=1;
else if(*a=='d') b[3]+=1;
else if(*a=='e') b[4]+=1;
else b[5]+=1;
a++;
}
}
main()
{ int i, b[6]; char a[100] = "bacd1b+ddep"; //以下不能改的
fun(a, b);
printf("The result is: ");
for (i=0; i<6; i++) printf("%d ", b[i]);
printf("\n");
NONO();
}
NONO()
{/* 本函数用于数据读入和结果写入文件, 考生无需修改 */
FILE *rf, *wf ;
char a[100], *p ;
int b[6], i, j ;
rf = fopen("in.dat", "r") ;
if(rf == NULL) {
printf("在考生文件夹下数据文件in.dat不存在!") ;
return ;
}
wf = fopen("out.dat", "w") ;
for(i = 0 ; i < 10 ; i++) {
fgets(a, 99, rf) ;
p = strchr(a, '\n') ;
if(p) *p = 0 ;
fun(a, b) ;
for(j = 0 ; j < 6 ; j++) fprintf(wf, "%d ", b[j]) ;
fprintf(wf, "\n") ;
}
fclose(rf) ;
fclose(wf) ;
}