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