上机考试题参考答案Word下载.docx
- 文档编号:15896649
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:64
- 大小:31.31KB
上机考试题参考答案Word下载.docx
《上机考试题参考答案Word下载.docx》由会员分享,可在线阅读,更多相关《上机考试题参考答案Word下载.docx(64页珍藏版)》请在冰豆网上搜索。
Theoriginalstringis:
puts(a);
fun(a);
\n"
Thestringaftermodified:
}
2、写程序,实现矩阵(3行3列)的转置(即行列互换)。
intfun(intarray[3][3])
{inti,j,t;
for(i=0;
i<
2;
for(j=i+1;
j<
3;
j++)
{t=array[i][j];
array[i][j]=array[j][i];
array[j][i]=t;
{inti,j;
intarray[3][3]={{100,200,300},{400,500,600},{700,800,900}};
{for(j=0;
%7d"
array[i][j]);
fun(array);
Convertedarray:
3、请编一个函数fun(int*a,intn,int*odd,int*even),函数的功能是分别求出数组中所有奇数之和以及所有偶数之和。
形参n给了数组中数据的个数:
利用指针odd返回奇数之和,利用指针even返回偶数之和
例如:
数组中的值依次为:
1,8,2,3,11,6;
则利用指针odd返回奇数之和24;
利用指针even返回偶数之和8。
试题程序。
fun(int*a,intn,int*odd,int*even)
{inti;
*even=0;
*odd=0;
n;
if(!
(a[i]%2))
*even+=a[i];
else
*odd+=a[i];
{inta[6]={1,9,2,3,11,6},i,n=6,odd,even;
Theoriginaldatais:
i++)printf("
%5d"
*(a+i));
\n\n"
fun(a,n,&
odd,&
even);
Thesumofoddnumbers:
%d\n"
odd);
Thesumofevennumber:
even);
4、要求程序的功能是:
把20个随机数存入一个数组,然后输出该数组中的最小值。
其中确定最小值的下标的操作在fun函数中实现,请给出该函数的定义。
#defineVSIZE20
intfun(intlist[],intsize)
{inti,j=0;
for(i=1;
size;
if(list[i]<
list[j])
j=i;
returnj;
{
inti;
intvector[VSIZE];
VSIZE;
vector[i]=rand();
Vector[%d]=%6d\n"
i,vector[i]);
i=fun(vector,VSIZE);
\nMininum:
vector[%d]=%6d\n"
5、请编一个函数floatfun(doubleh),函数的功能是对变量h中的值保留2位小数,并对第三位进行四舍五入(规定h中的值为正数)。
h值为8.32433,则函数返回8.32;
h值为8.32533,则函数返回8.33。
floatfun(floath)
{longt;
h=h*1000;
t=(h+5)/10;
return(float)t/100;
floata;
Entera:
scanf("
%f"
&
a);
%f\n\n"
a);
Theresult:
%6.2f\n"
fun(a));
6、编写函数fun,函数的功能是:
从字符串中删除指定的字符。
同一字母的大、小写按不同字符处理。
若程序执行时,输入字符串为:
turbocandBorlandc++从键盘上输入字符:
n,则输出后变为:
turbocadborladc++如果输入的字符串不存在,则字符串照原样输出。
intfun(chars[],intc)
{inti,k=0;
s[i];
if(s[i]!
=c)s[k++]=s[i];
s[k]='
\0'
;
{staticcharstr[]="
turbocandborlandc++"
charch;
:
%s\n"
str);
scanf("
%c"
ch);
fun(str,ch);
str[]=%s\n"
7、请编写一个unsignedfun(unsignedw),w是一个大于10的无符号整数,若w是n(n>
=2)位的整数,函数求出w的后n-1位的数作为函数值返回。
w值为5923,则函数返回923;
w值为923则函数返回23。
unsignedfun(unsignedw)
{if(w>
=10000)returnw%10000;
if(w>
=1000)returnw%1000;
=100)returnw%100;
returnw%10;
{unsignedx;
printf("
enteraunsignedintegernumber:
);
scanf("
%u"
x);
if(x<
10)printf("
dataerror!
elseprintf("
theresult:
%u\n"
fun(x));
8、编写函数intfun(intlim,intaa[MAX]),该函数的功能是求出小于lim的所有素数并放在aa数组中,该函数返回所求出素数的个数。
#defineMAX100
intfun(intlim,intaa[MAX])
{inti,j=0,k;
for(k=2;
k<
lim;
k++)
{for(i=2;
i<
k;
i++)
if(!
(k%i))break;
if(i>
=k)aa[j++]=k;
{intlimit,i,sum;
intaa[MAX];
\ninputaintegernumber:
%d"
limit);
sum=fun(limit,aa);
sum;
{if(i%10==0&
&
i!
=0)
aa[i]);
}}
9、请编写函数fun,函数的功能是求出二维数组周边元素之和,作为函数值返回。
二维数组中的值在主函数中赋予。
#defineM4
#defineN5
intfun(inta[M][N])
{intsum=0,i;
N;
sum+=a[0][i]+a[M-1][i];
M-1;
sum+=a[i][0]+a[i][N-1];
returnsum;
{intaa[M][N]={{1,3,5,7,9},
{2,9,9,9,4},
{6,9,9,9,8},
{1,3,5,7,0}};
inti,j,y;
Theoriginaldatais:
M;
j++)printf("
%6d"
aa[i][j]);
y=fun(aa);
\nThesum:
%d\n"
y);
10、请编写函数fun,对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按降序排列。
例如,原来的字符串为CEAedca,排序后输出为CedcEAa。
intfun(char*s,intnum)
num-2;
num-1;
if(s[i]<
s[j])
{t=s[i];
s[i]=s[j];
s[j]=t;
{chars[10];
输入7个字符的字符串:
gets(s);
fun(s,7);
\n%s"
s);
11、请编一函数voidfun(inttt[M][N],intpp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中,二维数组中的数已在主函数中赋予。
#defineM3
#defineN4
voidfun(inttt[M][N],intpp[N])
{inti,j;
{pp[i]=tt[0][i];
for(j=0;
if(tt[j][i]<
pp[i])pp[i]=tt[j][i];
{intt[M][N]={{22,45,56,30},
{19,33,45,38},
{20,22,66,40}};
intp[N],i,j,k;
theoriginaldatais:
t[i][j]);
fun(t,p);
\ntheresultis:
for(k=0;
k<
k++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 上机 考试题 参考答案