西南交大考研复试c语言上机题库.doc
- 文档编号:188122
- 上传时间:2022-10-05
- 格式:DOC
- 页数:76
- 大小:137KB
西南交大考研复试c语言上机题库.doc
《西南交大考研复试c语言上机题库.doc》由会员分享,可在线阅读,更多相关《西南交大考研复试c语言上机题库.doc(76页珍藏版)》请在冰豆网上搜索。
西南交大考研复试c语言上机题库
/*请编一个函数fun(char*s),函数的功能是把字符串中的内容逆置。
例如:
字符串中原有
的内容为:
abcdefg,则调用该函数后,串中的内容为:
gfedcba。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的
若干语句。
*/
#include
#include
#defineN81
voidfun(char*s){
char*l,t;
for(l=s;*l!
='\0';l++);
l--;
for(;l-s>=1;s++,l--)
{
t=*s;
*s=*l;
*l=t;
}
}
voidmain()
{chara[N];
printf("Enterastring:
");
gets(a);
printf("Theoriginalstringis:
");
puts(a);
fun(a);
printf("\n");
printf("Thestringaftermodified:
");
puts(a);
}/*编写程序,实现矩阵(3行3列)的转置(即行列互换)。
例如,输入下面的矩阵:
100200300
400500600
700800900程序输出:
100400700
200500800
300600900
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写
的若干语句。
*/
#include
voidfun(intarray[3][3])
{
inti,j,t;
for(i=0;i<=2;i++)
for(j=i+1;j<=2;j++)
{
t=array[i][j];
array[i][j]=array[j][i];
array[j][i]=t;
}
}
voidmain()
{
inti,j;
intarray[3][3]={{100,200,300},
{400,500,600},
{700,800,900}};
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
printf("%7d",array[i][j]);
printf("\n");
}
fun(array);
printf("Convertedarray:
\n");
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
printf("%7d",array[i][j]);
printf("\n");
}
}/*请编一个函数fun(int*a,intn,int*odd,int*even),函数的功能是分别求出数组中所有奇数之和以及
所有偶数之和。
形参n给出数组中数据的个数;利用指针odd返回奇数之和,利用指针even返回偶数之和。
例如:
数组中的值依次为:
1,9,2,3,11,6;则利用指针odd返回奇数之和24;利用指针even返回偶数
之和8。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写
的若干语句。
*/
#include
#defineN20
voidfun(int*a,intn,int*odd,int*even)
{
int*p;
n--;
*odd=*even=0;
for(p=a;p<=a+n;p++)
if(*p%2)
(*odd)++;
else
(*even)++;
}
voidmain()
{
inta[N]={1,9,2,3,11,6},i,n=6,odd,even;
printf("Theoriginaldatais:
\n");
for(i=0;i printf("%5d",*(a+i)); printf("\n\n"); fun(a,n,&odd,&even); printf("Thesumofoddnumbers: %d\n",odd); printf("Thesumofevennumbers: %d\n",even); }/*要求程序的功能是: 把20个随机数存入一个数组,然后输出该数组中的最小值。 其中确定最小值的下标 的操作在fun函数中实现,请给出该函数的定义。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 */ #include #include #defineVSIZE20 intvector[VSIZE]; intfun(intlist[],intsize) { inti,pos,min; min=list[0]; pos=0; for(i=0;i if(list[i] { min=list[i]; pos=i; } returnpos; } voidmain() { inti; for(i=0;i { vector[i]=rand(); printf("Vector[%d]=%6d\n",i,vector[i]); } i=fun(vector,VSIZE); printf("\nMininum: Vector[%d]=%6d\n",i,vector[i]); } /*请编一个函数floatfun(doubleh),函数的功能是对变量h中的值保留2位小数,并对第 三位进行四舍五 入(规定h中的值为正数)。 例如: h值为8.32433,则函数返回8.32; h值为8.32533,则函数返回8.33。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的 若干语句。 */ #include floatfun(floath){ intt; t=h*100+0.5; h=t/100.0; returnh; } voidmain() {floata; printf("Entera: "); scanf("%f",&a); printf("Theoriginaldatais: "); printf("%f\n\n",a); printf("Theresult: %f\n",fun(a)); } /*编写函数fun,函数的功能是: 从字符串中删除指定的字符。 同一字母的大、小写按不同字符处理。 若程序执行时,输入字符串为: turbocandborlandc++,从键盘上输入字符: n,则输出后变为: turbocadborladc++,如果输入的字符字符串中不存在,则字符串照原样输出。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 */ #include voidfun(chars[],intc) { char*p,*t; for(p=s;*p! ='\0';p++) if(*p==c) { for(t=p;*t! ='\0';t++) *t=*(t+1); p--; } } voidmain() { staticcharstr[]="turbocandborlandc++"; charch; printf("原始字符串: %s\n",str); printf("输入一个字符: "); scanf("%c",&ch); fun(str,ch); printf("str[]=%s\n",str); }/*编写函数intfun(intlim,intaa[MAX]),该函数的功能是求出小于lim的所有素数并放在 aa数组 中,该函数返回求出素数的个数。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写 的若干语句。 */ #include #defineMAX200 intfun(intlim,intaa[MAX]) { inti,j,count=0; aa[0]=2; for(i=3;i { for(j=0;j<=count;j++) if(! (i%aa[j])) break; if(j>=count) { count++; aa[count]=i; } } return++count; } voidmain() { intlimit,i,sum; intaa[MAX]; printf("输入一个整数: "); scanf("%d",&limit); sum=fun(limit,aa); for(i=0;i if(i%10==0&&i! =0)printf("\n"); printf("%5d",aa[i]); } }/*请编写函数fun,函数的功能是求出二维数组周边元素之和,作为函数值返回。 二维数 组中的值在主函数 中赋予。 例如: 二维数组中的值为 13579 29994 69998 13570 则函数值为61。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写 的若干语句。 */ #include #defineM4 #defineN5 intfun(inta[M][N]){ inti,j,sum=0; for(i=0;i if(i==0||i==M-1) for(j=0;j sum+=a[i][j]; else sum+=a[i][0]+a[i][N-1]; returnsum; } voidmain() {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; printf("Theoriginaldatais: \n"); for(i=0;i {for(j=0;j printf("\n"); } y=fun(aa); printf("\nThesum: %d\n",y); printf("\n"); } /*请编写函数fun,对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按降 序排列。 例如, 原来的字符串为CEAedca,排序输出为CedcEAa。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写 的若干语句。 */ #in
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西南 交大 考研 复试 语言 上机 题库