求帮忙。。
#include<stdio.h>
int pd(int n)
{
int i;
int k=1;
for(i = 2;i<n;i++){
if(n%i==0){
k=0;
break;
}
}
return k;
}
int main()
{
int n, k = 0;
double sum1 = 0.0;
double avr =0.0;
FILE *fp = fopen("data.in","r");
while(!feof(fp)){
fscanf(fp, "%d", &n);
if(pd(n)){
printf("%d ", n);
sum1=sum1+n;
k=k+1;
}
avr=sum1/k;
}
printf("\n%lf %d\n",sum1,k);
printf("\n%.2lf\n",avr);
}
data.in里的文件是
2 4 5
为什么输出n的时候输出的是
2 5 5 ?
应该是
2 5
的啊?多了一个5怎么回事?
[解决办法]
你把data.in用UE在16进制编辑器里看看,应该是:
32 20 34 20 35 0D 0A