版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C上机试题库
一、2002年4月
/*程序修改题1
给定程序中函数fun的功能是:先从键盘上输入一个
3行3列矩阵的各个元素的值,然后输出主对角线元素之和。
请改正函数fun中的错误或在横线处填上适当的内容并把横线删
除,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序
的结构!
*/
#include
intfun()
(
inta[3][3],sum;
inti,j;
/*********found**********/
sum=0;
结束输入。
请改正程序中的错误,使程序能输出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改
程序的结构!
****老王注:本类有输出结果的程序修改题,在评分时先看结果,如果
****结果正确,则直接给分;结果不正确或无结果,再一个错
****一个错评分。此法并不适用所有类似题。
*/
#include
intfun(char*c,intstatus)
if(*c==,')return1;
printf(n\n");
NONO();
)
NONO()
(
/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/
charsl[81],ch;
inti,flag=1;
FILE*rf,*wf;
rf=fopen("n,"r");
wf=fopen("","w");
fgets(sl,80,rf);
for(i=0;i<strlen(sl);i++){
ch=sl[i];
flag二fun(&ch,flag);
sl[i]=ch;
)
fprintf(wf,"%s",si);
fclose(rf);
fclose(wf);
)
/*内容:
keysinindexesallowyouquickaccesstospecificrecordsanddefine
*/
/*内容:
KeysInIndexesAllowYouQuickAccessToSpecificRecordsAndDefine
*/
/*编程题
程序的功能是:把20个随机数存入一个数组,然后输出该数组
中的最小值。其中确定最小值的下标的操作在fun函数中实现,请给
出该函数的定义。
注意:部分源程序在文件中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun
的花括号中填入你编写的若干语句。
*/
/*老王注:本题考生可以一字不动,只要按Ctrl+F9运行一下,
即可得38分,费去m牛n虎之力正确编程,不过多得
2分而已!
*/
#include
#include
#defineVSIZE20
intvector[VSIZE];
intfiin(intlist[],intsize)
(
t
*/
/*文件内容如下:
Youcanspecifyhaheprimaryindexisinrecordnumbersequence.
*/
二、2001年9月
*程序修改题13
给定程序中函数fun的功能是:将字符串中的内容按
逆序输出,但不改变字符串中的内容。
例如,若字符串为abed,则应输出:deba.
请改正程序中的错误,使它能计算出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序
的结构!
*/
#include
/************found************/
fun(char*a)
*/
/*正确程序生成的内容如下:
0
0
1
1
0
0
0
1
1
0
*/
/*编程题
请编一个函数fun(int*a,intn,int*odd,int*even),函
数的功能是分别求出数组中所有奇数之和以及所有偶数之和。形参n
给出数组中数据的个数;利用指针。dd返回奇数之和,利用指针even
返回偶数之和。
例如:数组中的值依次为:1,9,2,3,11,6;则利用指针
odd返回奇数之和24;利用指针even返回偶数之和8。
注意:部分源程序存在文件文件中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun
的花括号中填入你编写的若干语句。
*/
#include
#include
#defineN20
fun(int*a,intn,int*odd,int*even)
{,fun(M,aa));
)
/*编程题
函数fun的功能是:将两个两位数的正整数a、b合并形成一个
整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数
的千位和十位上,b数的十位和个位数依次放在c数的个位和百位
上。
例如,当a=45,b=12.调用该函数后,c=4251。
注意:部分源程序存在文件中。数据文件中
的数据不得修改。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun
的花括号中填入你编写的若干语句。
*/
#include
#include
voidfun(inta,intb,long*c)
{//
*c=a/10*1000+a%10*10+b/l0+b%10*100;
//
)
main()
{inta,b;longc;
clrscr();
printf("Inputa,b:n);
scanf("%d%d",&a,&b);
fun(a,b,&c);
printf("Theresultis:%ld\n",c);
NONO();
)
NONO()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/
FILE*rf,*wf;
inti,a,b;longc;
rf=fopen("H,"r");
wf=fopenC'V'w");
for(i=0;i<10;i++){
fscanf(rf,"%d,%dn,&a,&b);
fun(a,b,&c);
fprintf(wf,na=%d,b=%d,c=%ld\nn,a,b,c);
)
fclose(rf);
fclose(wf);
45,12
63,54
14,78
88,91
71,13
12,45
72,32
29,99
34,43
22,44
*/
/*
a=45,b=12,c=4251
a=63,b=54,c=6435
a=14,b=78,c=1847
a=88,b=91,c=8189
a=71,b=13,c=7311
a=12,b=45,c=1524
a=72,b=32,c=7223
a=29,b=99,c=2999
a=34,b=43,c=3344
a=22,b=44,c=2424
*/
2001年9月计算机等级考试二级C语言上机试题(1、2、3)
/*程序修改题1
给定程序中函数fun的功能是:先将在字符串s中的字符
按正序存放到t串中,然后把s中的字符按逆序连接到t串的后面。
例如:当s中的字符串为:"ABCDE”时,
则t中的字符串应为:"ABCDEEDCBA"。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序
的结构!
*/
#include
#include
#include
voidfun(char*s,char*t)
{inti,si;
si=strlen(s);
/************found************/
for(i=0;i<si;i++)
//for(i=0;i<=si;i++)
t[i]=s[i];
for(i=0;i<si;i++)
t[sl+i]=s[sl-i-l];
/************found************I
t[sl+i]='\O';
//t[sl]=W;
)
main()
{chars[100],t[100];
clrscr();
printf("\nPleaseenterstrings:n);scanf("%s",s);
fun(s,t);
printf("Theresultis:%s\n,',t);
)
/*编程题
函数fun的功能是:将两个两位数的正整数a、b合并形成一个
整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数
的千位和十位上,b数的十位和个位数依次放在c数的百位和个位
上。
例如,当a=45,b=如。调用该函数后,c=4152»
注意:部分源程序存在文件中。数据文件中
的数据不得修改。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun
的花括号中填入你编写的若干语句。
*/
#include
#include
voidfun(inta,intb,long*c)
{//
*c=a/10*1000+a%10*10+b/10*100+b%10;
/*下面的方法为另一种更通用的方法,显然要烦琐些
intd,e,n;
*c=0;n=l;
while(a>0)
{d=a%10*10;e=b%10;
*c+=(d+e)*n;
n*=100;
a=a/10;b=b/10;}
*〃/
)
main()
{inta,b;longc;
clrscr();
printf("Inputa,b:H);scanf("%d%dn,&a,&b);
fun(a,b,&c);
printf("Theresultis:%d\n",c);
NONO();
)
NONO()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/
FILE*rf,*wf;
inti,a,b;longc;
rf=fopen(',n,"r");
wf=fopen(“",“w“);
for(i=0;i<10;i++){
fscanf(rf,"%d,%d”,&a,&b);
fun(a,b,&c);
fprintf(wf,na=%d,b=%d,c=%ld\n",a,b,c);
)
fclose(rf);
fclose(wf);
)
/*文本文件内容如下:
45,12
63,54
14,78
88,91
71,13
12,45
72,32
29,99
34,43
22,44
*/
/*正确程序输出的内容如下:
a=45,b=12,c=4152
a=63,b=54,c=6534
a=14,b=78,c=1748
a=88,b=91,c=8981
a=71,b=13,c=7113
a=12,b=45,c=1425
a=72,b=32,c=7322
a=29,b=99,c=2999
a=34,b=43,c=3443
a=22,b=44,c=2424
*/
/*程序修改题2
给定程序中函数fun的功能是:先将在字符串s中的字符
按正序存放到t串中,然后把s中的字符按逆序连接到t串的后面。
例如:当s中的字符串为:"ABCDE”时,
则t中的字符串应为:"ABCDEEDCBA”。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序
的结构!
*/
#include
#include
#include
voidfun(char*s,char*t)
{inti,si;
si=strlen(s);
/************found************/
for(i=0;i<si;i++)
//for(i=0;i<=si;i++)
t[i]=s[i];
for(i=0;i<si;i++)
t[sl+i]=s[sl-i-l];
/************found************I
t[sl+i]='\O';
//t[sl]=
)
main()
{chars[100],t[100];
clrscr();
printf(n\nPleaseenterstrings:");scanf("%s",s);
fun(s,t);
printf("Theresultis:%s\nn,t);
)
/*编程题
函数fun的功能是:将两个两位数的正整数a、b合并形成一个
整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数
的千位和十位上,b数的十位和个位数依次放在c数的百位和个位
上。
例如,当a=45,b=12o调用该函数后,c=4152o
注意:部分源程序存在文件中。数据文件中
的数据不得修改。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun
的花括号中填入你编写的若干语句。
*/
#include
#include
voidfun(inta,intb,long*c)
{//
*c=a/10*1000+a%10*10+b/10*100+b%10;
/*下面的方法为另一种更通用的方法,显然要烦琐些
intd,e,n;
*c=0;n=l;
while(a>0)
{d=a%10*10;e=b%10;
*c+=(d+e)*n;
n*=100;
a=a/10;b=b/10;}
*〃/
)
main()
{inta,b;longc;
clrscr();
printf("Inputa,b:H);scanf("%d%d",&a,&b);
fun(a,b,&c);
printf("Theresultis:%d\n",c);
NONO();
NONO()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/
FILE*rf,*wf;
inti,a,b;longc;
rf=fopen(n",nrn);
wf=fopen("'V'w");
for(i=0;i<10;i++){
fscanf(rf,"%d,%dH,&a,&b);
fun(a,b,&c);
fprintf(wf,,'a=%d,b=%d,c=%ld\nn,a,b,c);
)
fclose(rf);
fclose(wf);
)
/*文本文件内容如下:
45,12
63,54
14,78
88,91
71,13
12,45
72,32
29,99
34,43
22,44
*/
/*正确程序输出的内容如下:
a=45,b=12,c=4152
a=63,b=54,c=6534
a=14,b=78,c=1748
a=88,b=91,c=8981
a=71,b=13,c=7113
a=12,b=45,c=1425
a=72,b=32,c=7322
a=29,b=99,c=2999
a=34,b=43,c=3443
a=22,b=44,c=2424
*/
/*程序修改题3
给定程序中函数fun的功能是:从低位开始取出长整型
变量s中奇数位上的数,依次构成一个新数放在t中。
例如,当s中的数为:7654321时,t中的数为:7531。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序
的结构!
*/
#include
#include
voidfun(longs,long*t)
//voidfun(longs,longt)
{longsl=10;
*t=s%10;
while(s>0)
{s=s/100;
*t=s%10*si+*t;
/************found************I
sl=sl*10;
//si=si*100;
main()
{longs,t;
clrscr();
printf("\nPleaseenters:");scanf("%ld'*,&s);
fun(s,&t);
printf("Theresultis:%ld\n",t);
/*编程题
函数fun的功能是:将两个两位数的正整数a、b合并形成一个
整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数
的个位和百位上,b数的十位和个位数依次放在c数的千位和十位
±o
例如,当a=45,b=12o调用该函数后,c=1524o
注意:部分源程序存在文件中。数据文件中
的数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- BIM实施方案资料
- 市场扩张计划策略书模板与实施方案
- 企业品牌宣传与推广标准化手册
- 供应链管理优化策略与工具包
- 技术支持响应快速流程与知识库工具
- 吉林省前郭县联考2026届初三下学期教育质量调研(二模)英语试题含解析
- 江苏省泰州市泰兴市西城达标名校2026年初三一模试题(语文试题文)试题含解析
- 行业诚信领域活动启动承诺书(6篇)
- 居民区绿化管理保证承诺书6篇
- 2026年建筑工地消防安全专项方案编制指南
- 口腔颌面部外伤的护理个案
- 人工智能在农产品质量检测行业的创业计划书提供智能农产品质检解决方案
- 幼儿园实物拓印版画教学的实践研究
- 2025年湖南农电服务招聘考试(非电工类)模拟试题及答案
- 通信行业市场前景及投资研究报告:光模块框架培训
- 国有企业资产租赁合同协议(GF-2025-002)
- 禁毒安全主题班会课件
- 2024河南农业大学辅导员招聘笔试真题及答案
- 餐饮具清洗消毒规程培训考试题及答案
- 2025年幼师高考语文试卷及答案
- 变压器拆除施工方案
评论
0/150
提交评论