C语言编程笔试题(第六套)

匿名网友 匿名网友 发布于: 2015-08-30 00:00:00
阅读 101 收藏 0 点赞 0 评论 0

编程题:

21.请编写函数fun,对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按ASCII码降序排列。

例如,若原来的字符串为CEAedca,则排序后输出为CedcEAa。

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

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

#include <stdio.h>

#include <ctype.h>

#include <conio.h>

void fun( char *s,int num)

{

}

main()

{

char s[10];

printf(“输入7个字符的字符串:”);

gets(s);

fun(s,7);

printf(“n%s”, s);

}

 

23.请编写函数fun,该函数的功能是:判断字符串是否为回文?若是则函数返回1,主函数中输出YES,否则返回0,主函数中输出NO。回文是指顺读和倒读都一样的字符串。

例如,字符串LEVEL是回文,而字符串123312就不是回文。

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

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

#include <stdio.h>

#define N 80

int fun(char *str)

{

 

}

main()

{

char s[N] ;

printf(“Enter a string: “) ;

gets(s) ;

printf(“nn”) ;

puts(s) ;

if(fun(s))

printf(”  YESn”) ;

else

printf(”  NOn”) ;

}

 

改错题:

33.下列给定程序中,函数fun的功能是:将s所指字符串中的字母转换为按字母序列的后续字母(但Z转换为A,z转换为a),其他字符不变。

请改正函数fun中的错误,使它能得出正确的结果。

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

试题程序:

#include<stdio.h>

#include<ctype.h>

#include<conio.h>

void fun(char *s)

{

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

while(*s != ‘@’)

{

if(*s>=’A’&&*s<=’Z’ || *s>=’a’&&*s<=’z’)

{

if(*s==’Z’)

*s=’A’;

else

if(*s==’z’)

*s=’a’;

else

*s+=1;

}

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

(*s)++;

}

}

main()

{

char s[80];

clrscr();

printf(“n Enter a string with length<80. :nn “);

gets(s);

printf(“n The string: nn “);

puts(s);

fun(s);

printf(“nn The Cords:nn “);

puts(s);

}

 

35.下列给定程序中,fun函数的功能是:将p所指字符串中每个单词的最后一个字母改成大写(这里的“单词”是指由空格隔开的字符串)。例如,若输入:

I am a student to take the examination.

则应输出:I aM A studenT tO takE thE examination.

请修改程序中的错误之处,使它能得出正确的结果。

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

试题程序:

#include <conio.h>

#include <ctype.h>

#include <stdio.h>

void fun ( char *p )

{

int k = 0;

for( ; *p; p++ )

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

if( k )

{

if(p==’ ‘)

{

k = 0;

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

* p = toupper ( * (p-1) );

}

}

else

k = 1;

}

 

main()

{

char chrstr[64];

int d;

clrscr();

printf(“nPlease enter an english sentence within 63 letters: “);

gets(chrstr);

d=strlen(chrstr) ;

chrstr[d+1]=’ ‘ ;

chrstr[d+1] = 0 ;

printf(“nnBefor changing: %s”, chrstr);

fun(chrstr);

printf(“nAfter changing:n  %s”, chrstr);

}

评论列表
文章目录