C语言每日一练——第7题
一、题目要求
已知数据文件in.dat中存有200个四位数,把这些数存到数组a中,编写函数jsVal(),其功能是:把千位数字和十位数字重新组成一个新的含有两位数字的数ab(新数的十位数字是原四位数的千位数字,新数的个位数字是原四位数的十位数字),以及把各位数字和百位数字组成另一个新的含有两位数字的数cd(新数的十位数字是原四位数的各位数字,新数的个位数字是原四位数的百位数字),如果新组成的两个数ab-cd>=0且ab-cd<=10且两数均是奇数,同时两个新数的十位数字均不为零,则将满足题条件的四位数按大到小的顺序存入数组b中,并计算满足上述的四位数的个数cnt,最后把cnt,数组b的内容结果保存在out.dat文件中。
二、in.dat文件内容
三、程序代码
#include <stdio.h>
#define MAX 200
int a[MAX], b[MAX], cnt = ; void readDat()
{
int i;
FILE *fp;
fp = fopen("in.dat", "r");
for(i = ; i < MAX; i++)
{
fscanf(fp, "%d", &a[i]);
}
fclose(fp);
} void jsVal()
{
int i,j,ab,cd,temp;
int qw,bw,sw,gw;
for(i=;i<MAX;i++)
{
qw=a[i]/;
bw=(a[i]-qw*)/;
sw=(a[i]-qw*-bw*)/;
gw=a[i]%;
//printf("数字:%d,千位:%d,百位:%d,十位:%d,个位:%d\n",a[i],qw,bw,sw,gw);
if (gw==)
{
continue;
}
ab=qw*+sw;
cd=gw*+bw;
if( (ab%!=) && (cd%!=) && (ab>=cd) && (ab-cd<=) )
{
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;
}
}
}
} 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);
} void main()
{
int i;
readDat();
jsVal();
printf("满足条件的数=%d\n", cnt);
for(i = ; i < cnt; i++)
{
printf("%d ", b[i]);
}
printf("\n");
writeDat();
}
四、程序运行结果

C语言每日一练——第7题的更多相关文章
- C语言每日一练——第6题
一.题目要求 计算500~800区间素数的个数cnt,并按所求素数的值从大到小的顺序,计算其间隔间的减.加之和,即第1个素数-第2个素数+第3个素数-第4个素数+第5个素数.....的值sum.最后把 ...
- C语言每日一练——第5题
一.题目要求 选出大于100小于1000的所有个位数与十位数字之和被10除所得余数恰好是百位数字的所有数字(如293).计算并输出上述这些素数的个数cnt以及这些素数值得sum,最后把结果cnt和su ...
- C语言每日一练——第4题
一.题目要求 已知数据文件in.dat中有300个四位数,并调用readDat()函数把这些数存储数组a中,编写函数jsValue(),其功能是:求出所有这些四位数是素数的个数cnt,再把所有满足此条 ...
- C语言每日一练——第3题
一.题目要求 程序功能:计算100以内满足以下条件的所有整数i的个数cnt以及这些i之和sum.条件:i, i+4 ,i+10都是素数,同时i+10小于100.最后电影函数writeDAT()函数把结 ...
- C语言每日一练——第2题
一.题目要求 已知数据文件in.dat中存有300个四位数,并调用读函数readDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出所有这些四位数是素数的个数cnt,再求出所 ...
- C语言每日一练——第1题
一.程序功能 程序的功能是:将大于整数m且紧靠m的k个素数存入数组xx.并把in.dat文件的内容输入到程序,并把输出结果输出道out.dat文件夹中例如:若输入17,5 则应该输入:19,23,29 ...
- python每日一练:0007题
第 0007 题: 有个目录,里面是你自己写过的程序,统计一下你写过多少行代码.包括空行和注释,但是要分别列出来. # -*- coding:utf-8 -*- import os def count ...
- C语言每日小练(四)——勇者斗恶龙
勇者斗恶龙 你的王国里有一条n个头的恶龙,你希望雇佣一些骑士把它杀死(砍掉全部的头). 村里有m个骑士能够雇佣.一个能力值为x的骑士能够砍掉恶龙一个致敬不超过x的头,且须要支付x个金币. 怎样雇佣骑士 ...
- python每日一练:0002题
第 0002 题:将 0001 题生成的 200 个激活码(或者优惠券)保存到 MySQL 关系型数据库中. 示例代码: import os import string import random i ...
随机推荐
- 在VMware通过挂载系统光盘搭建本地yum仓库
1.首先需要有一个VMware虚拟机: 2.进去虚拟机(这里用Linux下deCentOS进行演示): 3.用root账号进行登录,否则在根目录下没有一些操作权限: 4.打开终端: 5,输入命令“cd ...
- python day 1 homework 1
作业一要求: 1 输入用户名密码 2 认证成功后显示欢迎信息 3 输错三次后锁定 import os #生成保存用户信息的字典 d_userinfo = {} #保存用户登录字典 input_logi ...
- Itellij idea2019.2 激活码,有效期2020.5
Itellij idea2019.2 激活码,有效期2020.5 MNQ043JMTU-eyJsaWNlbnNlSWQiOiJNTlEwNDNKTVRVIiwibGljZW5zZWVOYW1lIjoi ...
- Linux基础命令复习01
一.Linux中的基本查看.查找命令: 1.ls 查看目录信息: -l #查看属性,以长格式显示 -d #查看本身属性 -A #显示包括以.开头的隐藏文档 -h #提供易读的单位 -R #表示递 ...
- Kibana创建索引成功,但一直不显示出来(Fielddata is disabled on text fields by default. Set fielddata=true........)
现象 把EFK整个集群搭建完成后,通过Kibana操作界面创建索引(如图1),我创建了lile-zabbix*的索引,显示是创建成功了,但是只要我在重新刷新一次,已经创建的索引就“消失了”.后通过查看 ...
- SpringBoot源码学习系列之SpringMVC自动配置
目录 1.ContentNegotiatingViewResolver 2.静态资源 3.自动注册 Converter, GenericConverter, and Formatter beans. ...
- convert svn repo to git
https://john.albin.net/git/convert-subversion-to-git 1. 抓取Log 在linux 上做的,其余是在win上做的. 2. svn co svn:/ ...
- 提高PHP性能效率的几个技巧!
如何提高效率问题,往往同样的功能,不一样的代码,出来的效率往往大不一样. ● 用单引号代替双引号来包含字符串,这样做会更快一些.因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有ec ...
- Fortran输入输出与声明--xdd
1.建议程序总体格式: program ex1. ... end progr 2.想要打出 My name is "xdd". write(*,*)" My name i ...
- Spring事务笔记
1:在同一个类中,如果A方法有事务,B方法也有事务(propagation = Propagation.REQUIRES_NEW),如下代码所示: @Override@Transactionalpub ...