找回密码
 立即注册
搜索
热搜: Python Java C Html PHP
查看: 80|回复: 0

编程 10000个随机数 最大 最小 平均

[复制链接]
  • 打卡等级:偶尔看看
  • 打卡总天数:10
  • 打卡月天数:0
  • 打卡总奖励:2100
  • 最近打卡:2025-05-20 09:38:24

28

主题

9

回帖

2932

积分

管理员

积分
2932
发表于 2025-5-20 09:54:17 | 显示全部楼层 |阅读模式
根据题目描述,打开BlockCode,编写C语言程序完成文件操作。
本题分值:50分
考核时间:70分钟
考核方式:实操
考核内容:将10000个随机数保存到“number.txt”文件中(每个数字一行)。求这10000个数字的最大值、最小值和平均值,并将其输出到“number.txt”文件最后三行。
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>

  4. float find_max(float arr[], int n){
  5.         float max = arr[0];
  6.         for (int i = 1; i < n; i++){
  7.                 if (arr[i] > max){
  8.                         max = arr[i];
  9.                 }
  10.         }
  11.         return max;
  12. }

  13. float find_min(float arr[], int n){
  14.         float min = arr[0];
  15.         for (int i = 1; i < n; i++){
  16.                 if (arr[i] < min){
  17.                         min = arr[i];
  18.                 }
  19.         }
  20.         return min;
  21. }

  22. float find_average(float arr[], int n){
  23.         float sum = 0;
  24.         for(int i = 0; i < n; i++){
  25.                 sum += arr[i];
  26.         }
  27.         return sum / n;
  28. }

  29. int main(){
  30.         const int n = 10000;
  31.         float arr[n];
  32.         srand(time(NULL));
  33.        
  34.         FILE * file = fopen("number.txt","w");
  35.         if(file == NULL){
  36.                 perror("无法打开文件");
  37.                 return 1;
  38.         }
  39.         for (int i=0;i<n;i++){
  40.                 arr[i]= (float)rand()/RAND_MAX * 100;
  41.                 fprintf(file,"%.2f\n",arr[i]);
  42.         }
  43.         float max = find_max(arr ,n);
  44.         float min = find_min(arr,n);
  45.         float average = find_average(arr,n);
  46.        
  47.         fprintf(file,"Max:%.2f\n",max);
  48.         fprintf(file,"Min:%.2f\n",min);
  49.         fprintf(file,"Avg:%.2f\n",average);
  50.        
  51.         fclose(file);
  52.         return 0;
  53. }
复制代码


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|HELIXABYSS

GMT+8, 2025-7-31 06:59 , Processed in 0.396048 second(s), 18 queries .

Powered by Discuz! X3.5

© 2024-2025 HELIXABYSS

快速回复 返回顶部 返回列表