#include <stdio.h>
int main() {
FILE* file = fopen("numbers.txt", "r");
if (file == NULL) {
perror("Error opening file");
return 1;
}
int num;
int sum = 0;
int min = INT_MAX;
int max = INT_MIN;
for (int i = 0; i < 10; i++) {
if (fscanf(file, "%d", &num) != 1) {
perror("Error reading from file");
fclose(file);
return 1;
}
sum += num;
if (num < min) {
min = num;
}
if (num > max) {
max = num;
}
}
fclose(file);
double avg = (double)sum / 10;
printf("Total: %d\n", sum);
printf("Average: %f\n", avg);
printf("Minimum: %d\n", min);
printf("Maximum: %d\n", max);
return 0;
}
در این برنامه ابتدا فایل “numbers.txt” را برای خواندن با استفاده از fopen باز می کنیم. سپس از یک حلقه برای خواندن هر یک از 10 عدد از فایل با استفاده از تابع fscanf استفاده می کنیم. اگر fscanf مقداری غیر از 1 برگرداند که نشان میدهد نمیتواند عددی را از فایل بخواند، یک پیغام خطا چاپ میکنیم و از برنامه خارج میشویم.
همانطور که هر عدد را می خوانیم، مجموع همه اعداد را به روز می کنیم و حداقل و حداکثر مقادیری را که تاکنون دیده ایم را دنبال می کنیم.