通过命令行参数的方式,写入数据,并计算输入的数值平均值。
创建文件,写入数值,假设输入完全是浮点数,程序需要计算并报告平均值。
通过strtod()函数,将输入的数值型的字符串转为数值。
# include<stdio.h>
# include<stdlib.h>
# define SIZE 10
# define LIM 10
int main(int argc,char*argv[])
{
FILE*fp;
char*end;
double num[SIZE];
double sum = 0;
int count = 0;
int i = 0;
if(argc<2) //输入字符串数量不足
{
fprintf(stderr,"Usage:%s filename",argv[0]);
exit(EXIT_FAILURE);
}
if((fp = fopen(argv[1],"w+"))==NULL) //以w+模式 或者 w模式打开均可
{
fprintf(stderr,"Can't open file %s",argv[1]);
exit(EXIT_FAILURE);
}
for( i = 0; i < (argc-2);i++)
{
num[i]=strtod(argv[2+i],&end); //将字符串转为数值,并给数组赋值
fprintf(fp,"%s ",argv[2+i]); //将字符串写入文件
sum +=num[i];
count++;
}
double avg = sum/count;
printf("The avg is %.4f",avg);
num[i] = avg; //将结果也一并写入文件
fprintf(fp,"\n avg is %.4f",num[i]);
fclose(fp);
return 0;
}
浙公网安备 33010602011771号