没有合适的资源?快使用搜索试试~ 我知道了~
2023年全国计算机等级考试三级C语言上机100题答案.doc
需积分: 6 0 下载量 117 浏览量
2022-11-10
21:33:27
上传
评论
收藏 218KB DOC 举报
温馨提示
试读
75页
2023年全国计算机等级考试三级C语言上机100题答案.doc
资源推荐
资源详情
资源评论
全国计算机等级考试
三级 C 语言上机 100 题
一.排序类:
1.已知数据文献 IN.DAT 中存有 200 个四位数,并
已调用读函数 readDat()把这些数存入数组 a 中,请
考生编制一函数 jsVal(),其功能是:假如四位数各
位上的数字均是 0 或 2 或 4 或 6 或 8,则记录出满
足此条件的个数 cnt,并把这些四位数按从大到小
的顺序存入数组 b 中。最后 main( )函数调用写函数
writeDat()把结果 cnt 以及数组 b 中符合条件的四位
数输出到 OUT.DAT 文献中。
注意:部分源程序存在文献 prog1.c 中。
程序中已定义数组:a[200],b[200],已定义变
量:cnt
请勿改动数据文献 IN.DAT 中的任何数据、主
函数 main()、读函数 readDat()和写函数 writeDat()的
内容。
#include <stdio.h>
#define MAX 200
int a[MAX], b[MAX], cnt = 0 ;
void jsVal()
{
int i,j,t;
for(i=0;i<MAX;i++)
{
t=a[i];
if(t%2+t/10%2+t/100%2+t/1000%2==0)
b[cnt++]=t;
}
for(i=0;i<cnt-1;i++)
for(j=i+1;j<cnt;j++)
if(b[i]<b[j])
{
t=b[i];
b[i]=b[j];
b[j]=t;
}
}
void readDat()
{
int i ;
FILE *fp ;
fp = fopen("in.dat", "r") ;
for(i = 0 ; i < MAX ; i++) fscanf(fp, "%d", &a[i]) ;
fclose(fp) ;
}
void main()
{
int i ;
readDat() ;
jsVal() ;
printf("满足条件的数=%d\n", cnt) ;
for(i = 0 ; i < cnt ; i++) printf("%d ", b[i]) ;
printf("\n") ;
writeDat() ;
}
writeDat()
{
FILE *fp ;
int i ;
fp = fopen("out.dat", "w") ;
fprintf(fp, "%d\n", cnt) ;
for(i = 0 ; i < cnt ; i++) fprintf(fp, "%d\n", b[i]) ;
fclose(fp) ;
}
2. 已知数据文献 IN.DAT 中存有 200 个四位数,并
已调用读函数 readDat()把这些数存入数组 a 中,请
考生编制一函数 jsVal(),其功能是:假如四位数各
位上的数字均是奇数,则记录出满足此条件的个数
cnt 并把这些四位数按从大到小的顺序存入数组 b
中。最后 main()函数调用写函数 writeDat( )把结果
cnt 以 及 数 组 b 中 符 合 条 件 的 四 位 数 输 出 到
OUT.DAT 文献中。
注意:部分源程序存在文献 prog1.c 中。
程序中已定义数组:a[200],b[200],已定义变
量:cnt
请勿改动数据文献 IN.DAT 中的任何数据、主
函数 main()、读函数 readDat()和写函数 writeDat()的
内容。
#include <stdio.h>
#define MAX 200
int a[MAX], b[MAX], cnt = 0 ;
void jsVal()
{
int i,j,t;
for(i=0;i<MAX;i++)
{
t=a[i];
if(t%2+t/10%2+t/100%2+t/1000%2==4)
b[cnt++]=t;
}
for(i=0;i<cnt-1;i++)
for(j=i+1;j<cnt;j++)
if(b[i]<b[j])
{
t=b[i];
b[i]=b[j];
b[j]=t;
}
}
void readDat()
{
int i ;
FILE *fp ;
fp = fopen("in.dat", "r") ;
for(i = 0 ; i < MAX ; i++) fscanf(fp, "%d", &a[i]) ;
fclose(fp) ;
}
void main()
{
int i ;
readDat() ;
jsVal() ;
printf("满足条件的数=%d\n", cnt) ;
for(i = 0 ; i < cnt ; i++) printf("%d ", b[i]) ;
printf("\n") ;
writeDat() ;
}
writeDat()
{
FILE *fp ;
int i ;
fp = fopen("out.dat", "w") ;
fprintf(fp, "%d\n", cnt) ;
for(i = 0 ; i < cnt ; i++) fprintf(fp, "%d\n", b[i]) ;
fclose(fp) ;
}
3. 已知数据文献 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 <stdio.h>
#define MAX 200
int a[MAX], b[MAX], cnt = 0 ;
void jsVal()
{
int i,j,t;
for(i=0;i<200-5;i++)
if(a[i]>a[i+1]&&a[i]>a[i+2]&&a[i]>a[i
+3]&&a[i]>a[i+4]&&a[i]>a[i+5]&&a[i]%2
==0)
b[cnt++]=a[i];
for(i=0;i<cnt-1;i++)
for(j=i+1;j<cnt;j++)
if(b[i]>b[j])
{
t=b[i];
b[i]=b[j];
b[j]=t;
}
}
4. 已知数据文献 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 <stdio.h>
#define MAX 200
int a[MAX], b[MAX], cnt = 0 ;
void jsVal()
{
int i,j,t;
for(i=5;i<200;i++)
if(a[i]>a[i-1]&&a[i]>a[i-2]&&a[i]>a[i-3]&&a[
i]>a[i-4]&&a[i]>a[i-5]&&a[i]%2==0)
b[cnt++]=a[i];
for(i=0;i<cnt-1;i++)
for(j=i+1;j<cnt;j++)
if(b[i]<b[j])
{
t=b[i];
b[i]=b[j];
b[j]=t;
}
}
5. 已知数据文献 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 <stdio.h>
#define MAX 200
int a[MAX], b[MAX], cnt = 0 ;
void jsVal()
{
int i,j,t;
for(i=0;i<200-5;i++)
if(a[i]>a[i+1]&&a[i]>a[i+2]&&a[i]>a[i+3]&&a[i]
>a[i+4]&&a[i]>a[i+5]&&a[i]%2==1)
b[cnt++]=a[i];
for(i=0;i<cnt-1;i++)
for(j=i+1;j<cnt;j++)
if(b[i]>b[j])
{
t=b[i];
b[i]=b[j];
b[j]=t;
}
}
6. 已知数据文献 IN.DAT 中存有 200 个四位数,并
已调用读函数 readDat()把这些数存入数组 a 中,请
考生编制一函数 jsVal(),其功能是:依次从数组 a
中取出一个四位数,假如该四位数连续大于该四位
数以前的五个数且该数是奇数,且该数必须能被 7
整除(该四位数以前不满五个数,则不记录),则
记录出满足此条件的个数 cnt 并把这些四位数按从
大到小的顺序存入数组 b 中,最后调用写函数
writeDat( )把结果 cnt 以及数组 b 中符合条件的四
位数输出到 OUT.DAT 文献中。
注意:部分源程序存在文献 prog1.c 中。
程序中已定义数组:a[200],b[200],已定义变
量:cnt
请勿改动数据文献 IN.DAT 中的任何数据、主
函数 main()、读函数 readDat()和写函数 writeDat()的
内容。
#include <stdio.h>
#define MAX 200
int a[MAX], b[MAX], cnt = 0 ;
void jsVal()
{
int i,j,t;
for(i=5;i<200;i++)
if(a[i]>a[i-1]&&a[i]>a[i-2]&&a[i]>a[i-3]&&a[i]
>a[i-4]&&a[i]>a[i-5]&&a[i]%2==1&&a[i]%7==0)
b[cnt++]=a[i];
for(i=0;i<cnt-1;i++)
剩余74页未读,继续阅读
资源评论
智慧安全方案
- 粉丝: 3605
- 资源: 59万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功