第一范文网 - 专业文章范例文档资料分享平台

计算机三级考试上机最新南开100精简版

来源:用户分享 时间:2025/5/16 0:54:41 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

#define MAX 100 typedef struct{

char dm[5]; /*产品代码*/ char mc[11]; /*产品名称*/ int dj; /*单价*/ int sl; /*数量*/ long je; /*金额*/ }PRO;

PRO sell[MAX]; void ReadDat(); void WriteDat();

void SortDat() {int i,j; PRO xy;

for(i=0;i<99;i++)

for(j=i+1;j<100;j++)

if(strcmp(sell[i].mc,sell[j].mc)>0||strcmp(sell[i].mc,sell[j].mc)==0&&sell[i].je>sell[j].je) {xy=sell[i];sell[i]=sell[j];sell[j]=xy;} }

void main() {

memset(sell,0,sizeof(sell)); ReadDat(); SortDat(); WriteDat(); }

void ReadDat() {

FILE *fp;

char str[80],ch[11]; int i;

fp=fopen(\ for(i=0;i<100;i++){ fgets(str,80,fp);

memcpy(sell[i].dm,str,4); memcpy(sell[i].mc,str+4,10); memcpy(ch,str+14,4);ch[4]=0; sell[i].dj=atoi(ch);

memcpy(ch,str+18,5);ch[5]=0;

sell[i].sl=atoi(ch);

sell[i].je=(long)sell[i].dj*sell[i].sl; }

fclose(fp); }

void WriteDat() {

FILE *fp; int i;

fp=fopen(\ for(i=0;i<100;i++){

printf(\ fprintf(fp,\ }

fclose(fp); }??

************************************************************************** ★☆题目14(整数统计排序题)

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a中取出一个四位数,如果该四位数连续大于该四位数以后的五个数且该数是奇数(该四位数以后不满五个数,则不统计),则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。 注意:部分源程序存在文件prog1.c中。

程序中已定义数组:a[200],b[200],已定义变量:cnt

请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。 #include #define MAX 200

int a[MAX], b[MAX], cnt = 0 ;

void jsVal() {int i,j,flag;

for(i=0;i

if(a[i]>a[j]&&a[i]%2) flag=1; else {flag=0;break;} if(flag==1) b[cnt++]=a[i]; }

for(i=0;i

if(b[i]>b[j]) {flag=b[i];b[i]=b[j];b[j]=flag;} }

void readDat() {

int i ;

FILE *fp ;

fp = fopen(\

for(i = 0 ; i < MAX ; i++) fscanf(fp, \ fclose(fp) ; }

void main() {

int i ;

readDat() ; jsVal() ;

printf(\满足条件的数=%d\\n\

for(i = 0 ; i < cnt ; i++) printf(\ printf(\ writeDat() ; }

writeDat() {

FILE *fp ; int i ;

fp = fopen(\ fprintf(fp, \

for(i = 0 ; i < cnt ; i++) fprintf(fp, \ fclose(fp) ; }

********************************************************************* ★题目15(整数各位数字运算排序题)

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:若一个四位数的千位数字上的值小于等于百位数字上的值,百位数字上的值小于等于十位数字上的值,以及十位数字上的值小于等于个位数字上的值,并且原四位数是偶数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

注意:部分源程序存在文件prog1.c中。

程序中已定义数组:a[200],b[200],已定义变量:cnt

请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。 #include #define MAX 200

int a[MAX], b[MAX], cnt=0;

void jsVal() {int i,j;

int qw,bw,sw,gw; for (i=0;i

{qw=a[i]/1000; bw=a[i]00/100; sw=a[i]0/10; gw=a[i];

if((qw<=bw)&&(bw<=sw)&&(sw<=gw)&&(a[i]%2==0)) }

for(i=0;i

if (b[i]>b[j]) {qw=b[i];b[i]=b[j];b[j]=qw;} }

void readDat() {

int i ;

FILE *fp ;

fp = fopen(\

for(i = 0 ; i < MAX ; i++) fscanf(fp, \ fclose(fp) ; }

void main() {

int i ;

readDat() ; jsVal() ;

printf(\满足条件的数=%d\\n\

for(i = 0 ; i < cnt ; i++) printf(\ printf(\ writeDat() ; }

writeDat() {

FILE *fp ; int i ;

b[cnt++]=a[i];

计算机三级考试上机最新南开100精简版.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c38jaf91bwp423gj8fm2d_5.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top