二级C语言上机试验指导.doc
文本预览下载声明
C语言南开100套 睿佳教育内部资料 第 PAGE 250页
欢迎访问睿佳教育网站
全国计算机等级考试
二级C语言上机题南开100套
1.填空题
请补充main函数,该函数的功能是:把一个字符串中的所有小写字母字符全部转换成大写字母字符,其他字符不变,结果保存原来的字符串中。
例如:当str[N]=123 abcdef ABCDEF!,结果输出:123 ABCDEF ABCDEF!。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
#includestdio.h
#includestdlib.h
#includeconio.h
#define N 80
void main()
{
int j;
char str[N]= 123abcdef ABCDEF!;
char *pf=str;
system(CLS);
printf(***original string ***\n);
puts(str);
【1】;
while(*(pf+j))
{
if(*(pf+j)=a*(pf+j)=z)
{
*(pf+j)=【2】;
j++;
}
else
【3】;
}
printf(******new string******\n);
puts(str);
system(pause);
}
1. 改错题
下列给定程序中,函数fun()的功能是逐个比较a,b两个字符串对应位置中的字符,把ASCII值小或相等的字符依次存放到c数组中,形成一个新的字符串。
例如:a中的字符串为fshADfg,b中的字符串为sdAEdi,则c中的字符串应为fdAADf。
请改正程序中的错误,使它能得到正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include stdio.h
#include string.h
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++
}
}
void 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);
}
1. 编程题
请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数个位和十位上,b数的十位和个位数依次放在c数的百位和千位上。
例如,当a=16,b=35,调用该函数后,c=5361。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#includestdlid.h
#includestdio.h
void fun(int a ,int b,long *c)
{
}
void main()
{
int a,b;
long c;
system(CLS);
printf(Input a,b;);
scanf(%d%d,a, b);
fun(a,b,c);
printf(The result is:%ld\n,c);
}
2.填空题
请补充main函数,该函数的功能是求方程ax2+bx+c=0的两个实数根。方程的系数a、b、c从键盘输入,如果判别式(disc=b2-4ac)小于0,则要求重新输入a、b、c的值。
例如,当a=1,b=2,c=1时,方程的两个根分别是x1=-1.00, x2=-1.00。
注意:部分源程序给出如下。
请勿改动主函数main和其
显示全部