一个关于数组中满足条件的元素选择、及再次排序得c语言函数。
来源:互联网 发布:ubuntu 终端 中文 编辑:程序博客网 时间:2024/06/05 15:45
已知数据文件IN27.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一个函数jsVal(),其功能是:把千位数字和十位数字重新组合成一个新的十位数ab(新十位数的十位数字是原4位数的千位数字,新十位数的个位数字是原4位数的十位数字),以及把个位数字和百位数字组成另一个新的十位数cd(新十位数的十位数字是原4位数的个位数字,新十位数的个位数字是原4位数的百位数字),如果新组成的两个十位数ab>cd,ab必须是偶数且能被5整除,cd必须是奇数,同时两个新数均不为0,则将满足此条件的4位数按从大到小的顺序存入数组b中,并要计算满足上述条件的4位数的个数cnt,最后,调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT27.DAT文件中。
#include <stdio.h>#define MAX 200int a[MAX],b[MAX],cnt=0;void jsVal(){int i,j,qian,bai,shi,ge,temp,kk;for(i=0;i<200;i++)//查找满足的数据{qian=a[i]/1000;bai=(a[i]/100)%10;shi=(a[i]/10)%10;ge =a[i]%10;if(((10*qian+shi)>(10*ge+bai))&&(bai%2==1))if((shi==0)&&((10*qian+shi + 10*ge+bai)!=0)){b[cnt++]=a[i];}}for(j=1;j<cnt;j++)//排序{kk=j;while((b[j]>b[j-1])&&(j!=0)){temp=b[j];b[j]=b[j-1];b[j-1]=temp;j--;}j=kk;}}void readDat(){ int i; FILE *fp; fp=fopen("IN27.DAT","r"); for(i=0;i<MAX;i++) fscanf(fp,"%d",&a[i]); fclose(fp);}main(){ int i; readDat(); jsVal(); printf("满足条件的数=%d\n",cnt); for(i=0;i<cnt;i++) printf("%d\n",b[i]); printf("\n"); writeDat();}writeDat(){ FILE *fp; int i; fp=fopen("OUT27.DAT","w"); fprintf(fp,"%d\n",cnt); for(i=0;i<cnt;i++) fprintf(fp, "%d\n",b[i]); fclose(fp);}
- 一个关于数组中满足条件的元素选择、及再次排序得c语言函数。
- 一个关于数组中满足条件的元素选择、及函数变换得c语言函数
- 一个关于将满足给定条件的数据按顺序写到另一文件中的C语言函数。
- 求一个数组中满足一定条件的两个元素的最大差值
- 从三个数组中选择满足条件的三个数
- 一个关于文件结构体数组的条件排序函数
- JS删除一个数组中满足条件的所有数据
- 利用c语言将一个文件中满足某条件的数据 保存到另外一个文件中
- js的一个选择数组中所有符合条件的元素并删除的方法
- 关于用集合的remove方法删除list集合中满足条件的元素问题
- java 函数式编程 - 判断集合中是否存在满足某个条件的元素
- c语言数组--选择排序
- 删除列表中满足一定条件的元素
- matlab求矩阵中满足某条件的元素个数
- Python:找到列表中满足某些条件的元素
- C实现数组中元素的排序
- C语言中关于指针数组的一个例子
- C语言函数 选择法对一维数组排序
- shell判断文件是否存在
- PHP中判断数组是否为空的方法
- Linux设备驱动开发学习(1)--字符设备驱动
- 12 Bash For Loop Examples for Your Linux Shell Scripting
- 男人与女人之间灰常有趣的35条定律
- 一个关于数组中满足条件的元素选择、及再次排序得c语言函数。
- 创建链接服务器出现“解密过程中出错”问题
- PMD规则之Basic Rules
- shell 数组建立及使用技巧
- HDU 3826 Squarefree number
- PMD规则之Braces Rules
- 发送邮件的几个函数
- PMD规则之Clone Implementation Rules
- 浏览器对Script下载的非并行处理再说明