西南交大考研复试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;iprintf("%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;iif(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;iif(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;iif(i==0||i==M-1)
for(j=0;jsum+=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;jprintf("\n");
}
y=fun(aa);
printf("\nThesum:
%d\n",y);
printf("\n");
}
/*请编写函数fun,对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按降
序排列。
例如,
原来的字符串为CEAedca,排序输出为CedcEAa。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写
的若干语句。
*/
#in