文档详情

二级C语言上机试验指导.doc

发布:2017-04-24约22.35万字共250页下载文档
文本预览下载声明
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和其
显示全部
相似文档