- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
C上机试题库
一、2002年4月
/*程序修改题1
给定程序MODI1.C中函数fun的功能是:先从键盘上输入一个
3行3列矩阵的各个元素的值,然后输出主对角线元素之和。
请改正函数fun中的错误或在横线处填上适当的内容并把横线删除,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
*/#includeintfun()
{
inta[3][3],sum;inti,j;
/*********found**********/sum=0;
// ;
for(i=0;i3;i++)
{for(j=0;j3;j++)
/*********found**********/scanf(%d,a[i][j]);
//scanf(%d,a[i][j]);
}
for(i=0;i3;i++)sum=sum+a[i][i];printf(Sum=%d\n,sum);
}
main()
{
fun();
}
/*编程题
编写程序,实现矩阵(3行3列)的转置(即行列互换)例如,输入下面的矩阵:
100
200
300
400
500
600
700
800
900
程序输出:100400700
200500800
300600900
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun
的花括号中填入你编写的若干语句。
*/#include#include
intfun(intarray[3][3])
{//
inti,j,t;
for(i=0;i3;i++)for(j=0;ji;j++)
{t=array[i][j];array[i][j]=array[j][i];array[j][i]=t;}
//
}
main()
{
inti,j;
intarray[3][3]={{100,200,300},
{400,500,600},
{700,800,900}};
clrscr();
for(i=0;i3;i++)
{for(j=0;j3;j++)printf(%7d,array[i][j]);printf(\n);
}
fun(array);
printf(Convertedarray:\n);for(i=0;i3;i++)
{for(j=0;j3;j++)printf(%7d,array[i][j]);printf(\n);
}NONO();
}
NONO()
{
/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/inti,j,array[3][3];
FILE*rf,*wf;
rf=fopen(b0103.in,r);
wf=fopen(b0103.out,w);for(i=0;i3;i++)
for(j=0;j3;j++)fscanf(rf,%d,array[i][j]);fun(array);
for(i=0;i3;i++)
{for(j=0;j3;j++)fprintf(wf,%7d,array[i][j]);fprintf(wf,\n);
}
fclose(rf);fclose(wf);
}
/*程序修改题2
给定程序MODI1.C中函数fun的功能是:将从键盘上输入的每个单词的第一个字母转换为大写字母,输入时各单词必须用空格隔开,用.结束输入。
请改正程序中的错误,使程序能输出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
****老王注:本类有输出结果的程序修改题,在评分时先看结果,如果
****结果正确,则直接给分;结果不正确或无结果,再一个错
****一个错评分。此法并不适用所有类似题。
*/#include
intfun(char*c,intstatus)
{
/***********found**********/if(*c==)return1;
//if(c==)return1;else
{
if(status*c=z*c=a)
/***********found**********/
*c+=A-a;
//c+=A-a;return0;
}
}
main()
{
intflag=1;charch;
printf(请输入一字符串
文档评论(0)