湖南大学C语言试卷及答案.pdf_第1页
湖南大学C语言试卷及答案.pdf_第2页
湖南大学C语言试卷及答案.pdf_第3页
湖南大学C语言试卷及答案.pdf_第4页
湖南大学C语言试卷及答案.pdf_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第 页 共 11 页 一、一、单项单项选择题选择题: (10 分,每题 2 分) 1char *p10;该语句声明了一个:。 A) 指向含有 10 个元素的一维字符型数组的指针变量 p B) 指向长度不超过 10 的字符串的指针变量 p C) 有 10 个元素的指针数组 p,每个元素可以指向一个字符串 D) 有 10 个元素的指针数组 p,每个元素存放一个字符串 2若 int x;且有下面的程序片断,则输出结果为:。 for (x=3; xpt1.xD) rt-pt1.x 5若二维数组 a 有 m 行 n 列,则下面能够正确引用元素 aij的为:。 A) *(a+j*n+i)B) *(a+i*n+j) C) *(*(a+i)+j)D) *(*a+i)+j CDDDC 二、分析程序并写出运行结果。(25 分,每题 5 分) 1 #include main() int n; static char *monthName= “Illegal month“, “January“, “February“, “March“, “April“, “May“, “June“, “July“, “August“, “September“, “October“, “November“, “December“; 第 页 共 11 页 for (n=1; n #defineARR_SIZE7 voidYH(int aARR_SIZE, intn); voidPrintYH(int aARR_SIZE, intn); main() intaARR_SIZEARR_SIZE; YH(a, ARR_SIZE-1); PrintYH(a, ARR_SIZE-1); void YH(int aARR_SIZE, int n) inti, j; for (i=1; i main() inti, n; for (i=1; i void Func(int n); main() 第 页 共 11 页 int i; for (i = 0; i int Func(int i); main() int i; for (i=3; i0; i-) k+; return (k); 运行结果是: 13 17 三、阅读并完成程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合 题目要求。 (20 分,每空 2 分) 1. 下面程序用于读入 10 个字符串,然后找出最大的字符串并打印。 #include #include main() char str1080,maxstring80; 第 页 共 11 页 int i; printf(“Enter ten strings:n“); for (i=0; i0 strcpy(maxstring, stri); printf(“The max string is:%sn“,maxstring); 2. 下面这个程序用于交换两个数组的对应元素的值。 #include #define ARRAY_SIZE 10 voidSwap(int *x, int *y); void Exchange(int a, int b, int n); void InputArray(int a,int n); void PrintArray(int a,int n); main() intaARRAY_SIZE, bARRAY_SIZE, n; printf(“Input array lenth n main() intyear, flag; printf(“Enter year:“); scanf(“%d“, if ( year%4=0 else 第 页 共 11 页 flag = 0; if ( flag ) printf(“Yes!n“); else printf(“No!n“); 四、在下面给出的 4 个程序中,共有 15 处错误(包括语法错误和逻辑错误) ,请找出其中的 错误,并改正之。 (在错误的代码下边画一根横线,把正确的代码写在旁边;漏掉的代码正 确插入合适的位置。30 分,每找对 1 个错误,加 1 分,每修改正确 1 个错误,再加 1 分。 ) 1编程计算矩阵相乘之积。 #include #defineROW 2 #defineCOL 3 / void MultiplyMatrix(int aROWCOL,int bCOLROW, int cROWROW) ; main() int aROWCOL, bCOLROW, cROWROW, i, j; printf(“Input array a:n“); for (i=0; i int FindMax(int num, int n, int *pMaxPos); main() int num10, maxValue, maxPos, minValue, minPos, i/; printf(“Input 10 numbers:n “); for (i=0; i max) max = numi; *pMaxPos = i; 第 页 共 11 页 return max; 3韩信点兵。韩信有一队兵,他想知道有多少人,便让士兵排队报数:按从 1 至 5 报数, 最末一个士兵报的数为 1;按从 1 至 6 报数,最末一个士兵报的数为 5;按从 1 至 7 报数, 最末一个士兵报的数为 4;最后再按从 1 至 11 报数,最末一个士兵报的数为 10。你知道韩 信至少有多少兵吗? #include main() intx;/x=0 while (1) if (x%5=1 x+/x+; printf(“ x = %dn“, x); 4下面函数 Squeez()的功能是删除字符串 s 中所出现的与变量 c 相同的字符。 voidSqueeze(char s, char c);/ voidSqueeze(char s, char c) int i,j; /j=0; for (i=0; si!=0; i+) if (si != c) /c sj = si; j+; si=0;/ sj=0; 或/ sj=0; 五、编程(15 分) 从键盘任意输入某班 10 个学生的成绩, 调用 save 函数把数据存入到以你的学号命名的磁盘 文件中,然后打开该文件读出数据,对成绩进行由高到低的排序,并打印成绩不及格的学生 人数。最后再次调用 save 函数把数据存入到原磁盘文件中。要求按照如下给出的函数原型 进行编程: void save(float score,int n); void Sort(float score,int n); int Fail(float score,int n); 要求用一维数组做函数参数编程实现成绩排序和统计成绩不及格的学生人数, 然后在主 函数中打印这些结果,不能使用全局变量编程。 参考程序如下: 第 页 共 11 页 void load(float score,int n)/3 分 FILE *fp; int i; if(fp=fopen(02406101“,“rb“)=NULL) printf(“cannot open infilen“); return; for(i=0;in;i+) if(fread( return; printf(“file read errorn“); fclose (fp); void save(float score,int n)/3 分 FILE *fp; int i; if(fp=fopen(“02406101“,“wb“)=NULL) printf(“cannot open filen“); return; for(i=0;in;i+) if(fwrite( fclose(fp); void sort(float score,int n)/3 分 int i,j,k; float t; for(i=0;in-1;i+) k=i; for(j=i+1;jn;j+) if(scorejscorek) k=j; t= scorek; scorek= scorei; scorei=t; int Fail(float score,int n)/3 分 int i,k=0; for(i=0;in;i+) if(scorei60) k+; return k; 第 页 共

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论