prog1.c

来自「计算机等级考试 四级 机试总汇 历年真题」· C语言 代码 · 共 76 行

C
76
字号
#include <conio.h>
#include <stdlib.h >
#include <stdio.h>
#define MAXNUM 200

int xx[MAXNUM] ;
int totNum = 0 ; /* 文件IN.DAT中共有多少个正整数 */
int totCnt = 0 ; /* 符合条件的正整数的个数 */
double totPjz = 0.0 ;  /*  平均值 */

int ReadDat(void) ;
void WriteDat(void) ;

void CalValue(void)
{int i,k,t,l;
 i=0;
 while (i<MAXNUM)
   { totNum++;
     k=xx[i];
     k=k/10;
     t=k%10;
     k=k/10;
     l=k%10;
     if(l<t) {
       totCnt++;
       totPjz+=xx[i];
       printf("%d ",xx[i]);
       if (totCnt%10==0) printf("\n");
       }
     i++;
   }
 printf("\n");
 totPjz=totPjz/totCnt;
}



void main()
{
  clrscr() ;
  if(ReadDat()) {
    printf("数据文件IN.DAT不能打开!\007\n") ;
    return ;
  }
  CalValue() ;
  printf("文件IN.DAT中共有正整数=%d个\n", totNum) ;
  printf("符合条件的正整数的个数=%d个\n", totCnt) ;
  printf("平均值=%.2lf\n", totPjz) ;
  WriteDat() ;
}

int ReadDat(void)
{
  FILE *fp ;
  int i = 0 ;

  if((fp = fopen("in.dat", "r")) == NULL) return 1 ;
  while(!feof(fp)) {
    fscanf(fp, "%d,", &xx[i++]) ;
  }
  fclose(fp) ;
  return 0 ;
}

void WriteDat(void)
{
  FILE *fp ;

  fp = fopen("OUT.DAT", "w") ;
  fprintf(fp, "%d\n%d\n%.2lf\n", totNum, totCnt, totPjz) ;
  fclose(fp) ;
}



⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?