一、题目要求

已知数据文件in.dat中有300个四位数,并调用readDat()函数把这些数存储数组a中,编写函数jsValue(),其功能是:求出所有这些四位数是素数的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的按从小到大顺序排列,最后编写函数wirteDat()把数组b中的数输出到out.dat文件中。

二、in.dat文件内容

,,,,,,,,,
,,,,,,,,,
,,,,,,,,,
,,,,,,,,,
,,,,,,,,,
,,,,,,,,,
,,,,,,,,,
,,,,,,,,,
,,,,,,,,,
,,,,,,,,,
,,,,,,,,,
,,,,,,,,,
,,,,,,,,,
,,,,,,,,,
,,,,,,,,,
,,,,,,,,,
,,,,,,,,,
,,,,,,,,,
,,,,,,,,,
,,,,,,,,,
,,,,,,,,,
,,,,,,,,,
,,,,,,,,,
,,,,,,,,,
,,,,,,,,,
,,,,,,,,,
,,,,,,,,,
,,,,,,,,,
,,,,,,,,,
,,,,,,,,,

三、程序代码

#include <stdio.h>
int a[], b[], cnt=; void readDat()
{
FILE *fp;
int i;
fp = fopen("in.dat","r");
for(i = ; i < ; i++)
{
fscanf(fp, "%d,", &a[i]);
}
fclose(fp);
} void writeDat()
{
FILE *fp;
int i;
fp = fopen("out.dat","w");
fprintf(fp, "%d\n", cnt);
for(i = ; i < cnt; i++)
{
fprintf(fp, "%d\n", b[i]);
}
fclose(fp);
} int isP(int m)
{
int i;
for(i = ; i < m; i++)
if(m % i == )
return ;
return ;
}
void jsValue()
{
int i,j;
int temp;
for(i=;i<;i++)
{
if(isP(a[i]))
{
b[cnt++]=a[i];
}
} //方法一:冒泡排序
for(i=;i<cnt;i++)
{
for(j=;j<cnt-i-;j++)
{
if(b[j]>b[j+])
{
temp=b[j];
b[j]=b[j+];
b[j+]=temp;
}
}
}
//方法二:
/*for(i = 0; i < cnt; i++)
{
for(j = i + 1; j < cnt; j++)
{
if(b[i] > b[j])
{
temp = b[j];
b[j] = b[i];
b[i] = temp;
}
}
}*/
}
void main()
{
int i;
readDat();
jsValue();
writeDat();
printf("cnt=%d\n", cnt);
for(i = ; i < cnt; i++)
{
printf("b[%d]=%d\n", i, b[i]);
}
}

四、程序运行结果

最新文章

  1. java批量insert入mysql数据库
  2. ASP.NET MVC 介绍
  3. C# 两行代码实现 延迟加载的单例模式(线程安全)
  4. Linux System Log Collection、Log Integration、Log Analysis System Building Learning
  5. sql存储过程传入ID集合,和临时表的使用
  6. python进阶
  7. lucene文件格式待整理
  8. WampServer修改Mysql密码的步骤
  9. Android Studio添加jar包
  10. cocos2d 中加入显示文字的三种方式(CCLabelTTF 、CCLabelBMFont 和CCLabelAtlas)
  11. 1089-Duplicate Removal
  12. CPU acceleration status:HAXM must be updated(version 1.1.1&lt;6.0.1)
  13. 中国IC业“芯”结:IC小国真能赶追韩美日么?
  14. zongjie
  15. CentOS+OpenCV图像的读入、显示
  16. C语言 &#183; 区间K大数查询
  17. linkinFrame--web应用举例--准备工作
  18. 高级OOP特性(6)
  19. 20165214 2018-2019-2 《网络对抗技术》Exp1 PC平台逆向破解 Week3
  20. 创建Gitblit本地服务器(For windows )01

热门文章

  1. Cesium小插件改造--clock和timeline
  2. centos 生成网卡UUID
  3. AntDeploy一键发布netcore3.0Windows服务到远程服务器
  4. Stream系列(三) FlatMap方法使用
  5. JVM的类加载机制全面解析
  6. Java并发编程:Callable、Future和FutureTask【转】
  7. linux下信号量可设值的函数操作
  8. HTML 5 中的textarea标签
  9. Redis系列(五):Redis的RESP协议详解
  10. C语言Ⅰ博客作业04