第1套 上机考试试题
1. 填空题
1.下列给定程序中,函数fun()的作用是:将字符串tt中的大写字母都改为对应的小写字母,其他字符不变。例如,若输入“Ab,cD”,则输出“ab,cd”。
#include
#include
#include
char 1 fun(char tt[])
{
int i;
for(i=0;tt[i];i++)
{
if((tt[i]>='A')&&(tt[i]<= 2 ))
tt[i]+=32;
}
return(tt);
}
main()
{
char tt[81];
printf("\nPlease enter a string: ");
gets(tt);
printf("\nThe result string is: \n%s",fun( 3 ));
}
2.函数fun()的功能是:将ss所指字符串中所有下标为奇数位置的字母转换为大写(若该位置上不是字母,则不转换)。#include
#include
#include
void fun(char *ss)
{
int i;
for(i=0;ss[i]!='\0';i++)
if(i%2==1&&ss[i]>='a'&&ss[i]<='z')
1
}
main()
{
2 *wf;
char tt[81],s[10]="abc4Efg" 3
printf("\nPlease enter an string within 80 characters:\n");
gets(tt);
printf("\n\nAfter changing, the string\n%s",tt);
fun(tt);
printf("\nbecomes\n%s\n",tt);
wf=fopen("out.dat","w");
fun(s);
fprintf(wf,"%s",s);
fclose(wf);
}
例如,若输入abc4Efg,则应输出aBc4EFg。
2. 改错题
下列给定程序中,函数fun()的功能是逐个比较a,b两个字符串对应位置中的字符,把ASCII值小或相等的字符依次存放到c数组中,形成一个新的字符串。
例如:a中的字符串为fshADfg,b中的字符串为sdAEdi,则c中的字符串应为fdAADf。
请改正程序中的错误,使它能得到正确结果。#include
#include
void fun(char *p,char *q,char *c)
{ int k=0;
while(*p||*q)
/**********************found***********************/
{ if (*p<=*q)
c[k]=*q;
else c[k]=*p;
if(*p) p++;
if(*q) q++ ;
/**********************found***********************/
k++
}
}
main()
{ char a[10]="fshADfg",b[10]="sdAEdi",c[80]={'\0'};
fun(a,b,c);
printf("The string a:"); puts(a);
printf("The string b:"); puts(b);
printf("The result :"); puts(c);
}
3. 编程题
请编写函数fun,其功能是将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数个位和十位上,b数的十位和个位数依次放在c数的百位和千位上。
例如,当a=16,b=35,调用该函数后,c=5361。
注意:部分源程序给出如下。
#
#include
void fun(int a ,int b,long *c)
{
}
main()
{
int a,b;
long c;
clrscr();
printf("Input a,b;");
scanf("%d%d",&a, &b);
fun(a,b,&c);
printf("The result is:%ld\n",c);
}
第1套 上