设为首页 加入收藏

TOP

C语言编程笔试题(第十三套)
2014-11-24 01:23:04 来源: 作者: 【 】 浏览:5
Tags:语言编程 试题 十三

编程:


40.请编写函数fun,该函数的功能是:移动字符串中的内容,移动的规则如下:把第1到第m个字符,平移到字符串的最后,把第m+l到最后的字符移到字符串的前部。


例如,字符串中原有的内容为ABCDEFGHIJK,m的值为3,移动后,字符串中的内容应该是DEFGHIJKABC。


注意:部分源程序给出如下。


请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。


#include


#include


#define N 80



void fun(char *w, int m)


{ char t;


t=*w;*w=*(w+m-1);*(w+m-1)+t;


if(m>1)


fun(w+1,m-2);


else return;


}


main()


{


char a[N]= “ABCDEFGHIJK”;


int m;


printf(“The original string:\n”);


puts(a);


printf(“\n\nEnter m: “);


scanf(“%d”,&m);


fun(a,m);


printf(“\nThe string after moving:\n”);


puts(a);


printf(“\n\n”);


}



41.请编写函数fun,该函数的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放在一个字符串中。


例如,若二维数组中的数据为:



则字符串中的内容应是WSHWSHWSHWSH。


注意;部分源程序给出如下。


请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。


#include


#define M 3


#define N 4


void fun(char (*s)[N], char *b)


{ int i,j,k=0;


for(i=0;i

for(j=0;j

b[k++]=s[j][i];


b[k]=’\0′;



}


main()


{


char a[100],w[M][N]={{‘w’,'w’, ‘w’,'w’},{‘S’,'S’,'S’,'S’},{‘H’,'H’,'H’,'H’}};


int i,j;


printf(“The matrix:\n”);


for(i=0; i

{


for(j=0;j

printf(“%3c”,w[i][j]);


printf(“\n”);


}


fun(w,a);


printf(“The A string:\n”);


puts(a);


printf(“\n\n”);


}



改错题:


4.下列给定程序中,fun函数的功能是:分别统计字符串中大写字母和小写字母的个数。


例如,给字符串S输入:AaaaBBb123CCccccd,则应输出结果:upper=5,lower=9。


请改正程序中的错误,使它能计算出正确的结果。


注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!


试题程序:


#include


#include


/********found********/


void fun(char *s,int a,int b)


{


while(*s)


{


/********found********/


if (*s>=’A'&&*s<=’Z')


a++;


/********found********/


if(*s>=’a'&&*s<=’z')


b++;


s++;


}


}


main()


{


char s[100];


int upper=0, lower=0;


clrscr();


printf(“\nPlease a string : “);


gets(s);


fun(s,&upper,&lower);


printf(“\n upper=%d lower=%d\n”, upper,lower);


}




7.下列给定程序中函数fun的功能是:用选择法对数组中的n个元素按从小到大的顺序进行排序。


请修改程序中的错误,使它能计算出正确的结果。


注意:不要改动main函数,不得增行和删行,也不得更改程序的结构!


试题程序:


#include


#define N 20


void fun(int a[],int n)


{


int i,j,t,p;


for(j=0;j

{


/********found********/


p=j


for(i=j;i

{


if(a[i]

{


/********found********/


p=i;


t=a[p];


a[p]=a[i];


a[i]=t;


}


}


}


}



main()


{


int a[N]={9,6,8,3,-1},i,m=5;


printf(“dfrgddfgd:”);


for(i=0;i

printf(“%d”,a[i]);


printf(“\n”);


fun(a,m);


printf(“gfdghfg : “);


for(i=0;i

printf(“%d”,a[i]);


printf(“\n”);


}


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C语言编程笔试题(第十二套) 下一篇C语言编程笔试题(第十四套)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: