zoukankan      html  css  js  c++  java
  • C语言每日一练——第2题

    一、题目要求

    已知数据文件in.dat中存有300个四位数,并调用读函数readDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出所有这些四位数是素数的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及所有不满足此条件的四位数平均数pjz2。最后main()函数调用写函数把结果cnt,pjz1,pjz2,输出到out.dat文件中

    二、in.dat文件内容

    7704,9774,3213,5845,7703,2902,1925,2584,7429,6646
    3793,8640,4364,3032,9190,2498,6394,3796,2434,6791
    5552,9052,9159,8245,7965,1071,8157,6526,2164,6767
    4853,1174,4564,5427,7279,9832,3640,7897,3211,4788
    6556,4781,2168,6014,7795,6536,9461,4287,8029,8303
    2609,8795,8386,3911,8130,7268,1906,7345,3678,5823
    8074,6963,7874,6066,4509,8976,1740,2026,7047,4730
    9538,2193,8473,6729,4207,5095,4623,4933,6226,8098
    1277,5480,1906,4109,9047,1986,5882,8444,1029,6515
    2612,7297,6934,8495,7731,1625,1305,7953,7385,3620
    7206,4549,5736,3131,6875,6917,6087,4640,5314,8646
    6077,5677,7345,4143,1513,8101,2038,9879,3946,6643
    7763,6108,4788,9055,8186,5416,5699,6733,5416,2320
    2430,4772,9962,9676,1319,7767,7369,1411,3663,2876
    2245,4810,5400,6045,1504,4178,7264,2763,7050,1490
    8790,4014,9280,7105,7113,3600,8221,8203,6127,7313
    1850,5983,9689,4102,1036,6375,5064,7188,9887,9800
    6871,4856,2432,9562,3426,9013,5104,4724,4785,9953
    5939,6668,8700,4730,9737,4055,6544,9763,1034,2855
    8078,5111,4817,4593,9876,1189,2507,1197,1782,4347
    7961,8612,9699,6108,4221,2489,8895,3672,8226,8724
    6302,7624,7506,8568,4013,2785,3528,6712,1155,3150
    1388,5803,6328,6841,5825,7802,2022,6290,1775,3652
    9699,6573,8082,9016,4369,4002,3205,2688,8414,7572
    2830,1231,3888,5137,5555,8976,2543,6542,8986,5921
    5346,1368,2566,3304,4089,3880,1244,6650,6523,6123
    1243,7488,5262,9992,3115,9270,6989,1595,1283,2645
    4075,9471,7983,9093,7642,8847,5686,4168,8550,8941
    5188,2290,3219,2853,6978,9053,5843,7153,6382,6289
    3022,5591,9981,7296,2421,7328,9575,7586,1190,8504
    View Code

    三、程序代码

    #include <stdio.h>  
    int a[300], cnt=0;  
    double pjz1=0.0, pjz2=0.0;  
    
    //从in.dat中读取文件内容
    void readDat()  
    {
      FILE *fp;  
      int i;  
      fp = fopen("in.dat","r");  
      for(i = 0; i < 300; i++)   
      {
        fscanf(fp, "%d,", &a[i]);
      }
      fclose(fp);  
    }
    
    //把运行结果输出到out.dat文件中
    void writeDat()  
    {
      FILE *fp;   
      fp = fopen("out.dat","w");  
      fprintf(fp, "%d
    %7.2lf
    %7.2lf
    ", cnt, pjz1, pjz2);  
      fclose(fp);  
    }
    
    //判断是否是素数
    int isP(int m)  
    {
      int i;
      for(i = 2; i < m; i++)
      {
          if(m % i == 0)
          {
              return 0;
          }
      }
      return 1;
    }
    void jsValue() 
    {
        int i=0,flag;
        int j=0,k=0;
        int sList[300];        //存放素数的数组
        int nsList[300];    //存放非素数的数组
        for(i=0;i<300;i++)
        {
            flag=isP(a[i]);
            if(flag)
            {
                cnt++;
                sList[j++]=a[i];
            }
            else
            {
                nsList[k++]=a[i];
            }
        }
        for(i=0;i<j;i++)
        {
            pjz1+=sList[i];
    
        }
        for(i=0;i<k;i++)
        {
            pjz2+=nsList[i];
        }
        pjz1/=j;
        pjz2/=k;
    
    }
    main()
    {
      readDat();  
      jsValue();  
      writeDat();  
      printf("cnt=%d
    满足条件的平均值pzj1=%7.2lf
    不满足条件的平均值pzj2=%7.2lf
    ", cnt,pjz1,pjz2);  
    }
    View Code

    四、程序运行结果

  • 相关阅读:
    Django路由系统
    修改数据库时区问题
    Django框架篇
    前端css
    前端html
    前端初识
    数据库3
    数据库2
    数据库1
    数据库初识
  • 原文地址:https://www.cnblogs.com/wutao666/p/9589119.html
Copyright © 2011-2022 走看看