二级C语言上机题库参考答案 (2)
c语言二级考试题库及详解答案
c语言二级考试题库及详解答案C语言二级考试题库及详解答案一、选择题1. 在C语言中,以下哪个选项是合法的标识符?A. 2variableB. variable2C. 3numberD. variable#答案:B2. C语言中,整型变量int所占的字节数是:A. 1字节B. 2字节C. 4字节D. 8字节答案:C(注:实际字节数可能因编译器和平台而异,但通常为4字节)3. 下列哪个不是C语言的控制语句?A. ifB. switchC. forD. goto答案:B(注:switch也是C语言的控制语句,此题有误)二、填空题1. 在C语言中,若要定义一个整型数组,可以使用以下语法:___________。
答案:int array_name[array_size];2. C语言中,用于计算两个数的乘积的运算符是:___________。
答案:*三、简答题1. 简述C语言中数组和指针的区别。
答案:数组是一种数据结构,用于存储相同类型的元素集合。
指针是一个变量,它存储了另一个变量的内存地址。
数组名可以作为指针使用,但数组本身不是指针。
数组的大小在定义时确定,而指针可以指向不同大小的内存块。
2. 解释C语言中的递归函数。
答案:递归函数是一种函数,它在执行过程中调用自己。
递归函数通常用于解决可以分解为相似子问题的问题。
递归函数必须有一个明确的终止条件,以避免无限递归。
四、编程题1. 编写一个C语言程序,实现求1到100的和。
答案:```c#include <stdio.h>int main() {int sum = 0, i;for(i = 1; i <= 100; i++) {sum += i;}printf("1到100的和是:%d\n", sum);return 0;}```2. 编写一个C语言函数,实现字符串反转。
答案:```cvoid reverseString(char *str) {int len = 0;while(str[len] != '\0') {len++;}for(int i = 0; i < len / 2; i++) {char temp = str[i];str[i] = str[len - 1 - i];str[len - 1 - i] = temp;}}```五、论述题1. 论述C语言中函数的作用和重要性。
计算机二级C语言上机复习题及答案解析范文一份
计算机二级C语言上机复习题及答案解析范文一份计算机二级C语言上机复习题及答案解析 1计算机二级C语言上机复习题及答案解析填空题给定程序中,函数fun的功能是:在形参ss所指字符串数组中,查找含有形参substr所指子串的所有字符串并输出,若没找到则输出相应信息。
ss所指字符串数组__有N个字符串,且串长小于M。
程序中库函数strstr(s1, s2)的功能是在s1串中查找s2子串,若没有,函数值为0,若有,为非0。
请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!给定源程序:#include#include#define N 5#define M 15void fun(char (*ss)[M], char *substr){ int i,find=0;for(i=0; i __1__ ; i++)if( strstr(ss[i], __2__) != NULL ){ find=1; puts(ss[i]); printf(“\n"); }if (find==__3__) printf("\nDon't found!\n");}main(){ char x[N][M]={"BASIC","C langwage","Java","QBASIC","Access"},str[M];int i;printf("\nThe original string\n\n");for(i=0;i printf("\nEnter a string for search : "); gets(str);fun(x,str);}解题思路:本题是根据给定的字符串数组中查找指定的字符串,如果存在,则显示。
c语言题库2(计算机二级)
一、选择题1. 在C语言中,不合法的实型常量是()。
A. -0.123B. -.123C. -1.23e-1D. -123e-3.02. 设有说明语句int i,j;,则表达式i>=j||i<j的值是()。
A. 视i、j的具体值而定B. FALSEC. 4TRUED.13. 以下程序的运行结果是()。
main(){ unsigned a = 0x3ef, b;b = a << 2;printf("%x,%x\n", a, b);}A. 3ef,fb B, 3ef,fbc C fbc,3ef D fbc,fbc4. 设int a,b;,用语句scanf('%d%d",&b);输入a、b值时,不能作为输入数据分隔符的是()。
A. 空格B. ,C. 回车D. tab5. 以下程序的运行结果是()。
main(){ int i=3,j=2,k;k=i+j;{int k=8;if(i==3) printf("%2d",k);else printf("%2d",j);}printf("%2d%2d\n",i,k);}A.8 3 5B.8 3 8C.3 8 3D. 5 8 36. 以下程序的运行结果是()。
void main(){ int a=1;switch(a){case 1: printf("aaaa\n");case 2: printf("bbbb\n"); break;default: printf("cccc\n");}}A.aaaaB. aaaaC. aaaaD. aaaabbbb bbbb cccccccc7. 以下程序的运行结果是()。
main(){ int a,b,c,n=13;printf(" A B C\n");for(a=1;a<=n;a++)for(b=1;b<=n;b++)for(c=b;c<=n;c++)if(a*a==b*b+c*c)printf("%3d%3d%3d\n",a,b,c);}A. A B CB. A B CC. A B CD. A B C5 3 4 3 5 4 4 5 3 5 4 310 6 8 6 10 8 8 10 6 10 8 613 5 12 5 13 12 12 13 5 13 12 58. 以下程序的运行结果是()。
全国计算机二级《C语言》考试题库与答案
全国计算机二级《C语言》考试题库与答案全国计算机二级《C语言》考试题库与答案在学习、工作中,我们都离不开试题,借助试题可以检验考试者是否已经具备获得某种资格的基本能力。
什么样的试题才能有效帮助到我们呢?以下是店铺为大家收集的全国计算机二级《C语言》考试题库与答案,欢迎大家分享。
全国计算机二级《C语言》考试题库与答案篇1(1)下列关于栈叙述正确的是( )。
A.栈顶元素最先能被删除B.栈顶元素最后才能被删除C.栈底元素永远不能被删除D.栈底元素最先被删除(2)下列叙述中正确的是( )。
A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D.以上说法都不正确某二叉树共有7个结点,其中叶子结点只有l个,则该二叉树的深度为(假设根结点在第1层)( )。
A.3B.4C.6D.7软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。
下面属于应用软件的是( ):A.学生成绩管理系统B.c语言编译程序C.UNIX操作系统D.数据库管理系统(5)结构化程序所要求的基本结构不包括( )。
A.顺序结构B.GOT0跳转C.选择(分支)结构D.重复(循环)结构(6)下面描述中错误的是( )。
A.系统总体结构图支持软件系统的详细设计B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是( )。
A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言一个教师可讲授多门课程,一门课程可由多个教师讲授。
则实体教师和课程间的联系是( )。
A.1:1联系B.1:m联系C.m:1联系D.m:n联系(9)已知大写字母A的ASCIl码值是65,小写字母a的ASCIl码值是97。
以下不能将变量C中的大写字母转换为对应小写字母的语句是( )。
计算机二级c语言试题题库及答案
计算机二级c语言试题题库及答案一、单项选择题(每题2分,共20分)1. 在C语言中,用于定义变量的关键字是()。
A. defineB. varC. intD. let答案:C2. 下列关于C语言函数的描述,不正确的是()。
A. 函数可以没有参数B. 函数可以返回值C. 函数必须有返回值D. 函数可以嵌套定义答案:C3. 以下哪个选项不是C语言中的运算符()。
A. %B. &&C. ++D. :答案:D4. 在C语言中,用于定义一个结构体的关键字是()。
A. structB. unionC. enumD. typedef答案:A5. C语言中,用于表示逻辑与的运算符是()。
A. &&B. ||C. !D. =答案:A二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型数组的语句是:int array[10]; 其中array[0]的值默认为____。
答案:02. 如果一个函数的返回类型是int,那么在函数体中必须包含一条____语句。
答案:return3. 在C语言中,用于计算字符串长度的函数是____。
答案:strlen4. C语言中,用于将字符数组转换为字符串的字符是____。
答案:'\0'5. 当使用指针变量时,必须先对其进行____。
答案:初始化三、编程题(每题10分,共20分)1. 编写一个C语言函数,实现两个整数的交换。
```cvoid swap(int *a, int *b) {int temp = *a;*a = *b;*b = temp;}```2. 编写一个C语言程序,计算并输出100以内所有偶数的和。
```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d\n", sum); return 0;}```四、简答题(每题10分,共40分)1. 简述C语言中指针和数组的关系。
计算机二级C上机考试题库及答案
计算机二级C上机考试题库及答案一、单项选择题(每题1分,共10分)1. 在C语言中,以下哪个选项是正确的字符串定义方式?A. char str[] = "Hello, World!";B. char str[] = {'H', 'e', 'l', 'l', 'o', ',', ' ', 'W', 'o', 'r', 'l', 'd', '!', '\0'};C. char str[] = {"Hello, World!"};D. char str[] = "Hello, World!";答案:A2. 下列哪个函数用于将字符串s1复制到s2中?A. strcat(s1, s2);B. strcpy(s1, s2);C. strcmp(s1, s2);D. strncpy(s1, s2, n);答案:B3. 在C语言中,以下哪个关键字用于声明一个函数?A. intB. voidC. returnD. function答案:A4. 如果一个变量被声明为static int,那么这个变量的生命周期是?A. 只在函数调用期间B. 程序运行期间C. 只在程序启动时D. 只在程序结束时答案:B5. 在C语言中,以下哪个运算符用于计算两个整数的差?A. +B. -C. *D. /答案:B6. 以下哪个选项不是C语言中合法的标识符?A. _myVarB. my_varC. 2ndVarD. var$name答案:C7. 在C语言中,以下哪个选项是正确的数组定义方式?A. int arr[5] = {1, 2, 3, 4, 5};B. int arr[] = {1, 2, 3, 4, 5};C. int arr[5] = {1, 2, 3};D. int arr[] = {1, 2, 3, 4};答案:A8. 以下哪个选项是正确的C语言注释方式?A. /* This is a comment */B. // This is a commentC. //* This is a commentD. /* This is a comment */答案:A9. 在C语言中,以下哪个选项是正确的多行字符串定义方式?A. char str[] = "Line1\nLine2";B. char str[] = 'Line1\nLine2';C. char str[] = "Line1\nLine2";D. char str[] = "Line1\nLine2";答案:A10. 在C语言中,以下哪个选项是正确的结构体定义方式?A. struct Student {int id;char name[50];};B. struct Student {int id;char name[];};C. struct Student {int id;char name[50] = "John Doe";};D. struct Student {int id;char name[];};答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________运算符可以对变量进行自增操作。
二级C语言上机真题及答案(最新完整版)
1.m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值1.int fun(int score[],int m,int below[]){int i,k=0,aver=0;for(i-0;i<m;i++)aver+=score[i];aver/=m;for(i=0,i<m;i++)if(score[i]<aver){below[k]=score[i];k++;}return k;}2.请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书2.void fun(int *a,int *n){int i,j=0;for(i=2;i<1000;i++)if((i%7==0//i%11==0))&i%77!=0)a[j++]=i;*n=j;}3.请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按3. void fun(int x, int pp[],int *n){int i=1,j=0,k=0,*t=pp;for(i=0;i<=x;i++)if(i%2!=0){t[j]=i;j++;}for(i=0;i<j;i++)if(x%t[i]==0){pp[k]=t[i];k++;}*n=k;}4.请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,4. void fun(char *tt,int pp[]){int i;for(i=0;i<26;i++)pp[i]=0;while (*tt){switch(*tt){case'a':pp[0]++;break;case'b':pp[1]++;break;case'c':pp[2]++;break;case'd':pp[3]++;break;case'e':pp[4]++;break;case'f':pp[5]++;break;case'g':pp[6]++;break;case'h':pp[7]++;break;case'i':pp[8]++;break;case'j':pp[9]++;break;case'k':pp[10]++;break;case'l':pp[11]++;break;case'm':pp[12]++;break;case'n':pp[13]++;break;case'o':pp[14]++;break;case'p':pp[15]++;break;case'q':pp[16]++;break;case'r':pp[17]++;break;case's':pp[18]++;break;case't':pp[19]++;break;case'u':pp[20]++;break;case'v':pp[21]++;break;case'w':pp[22]++;break;case'x':pp[23]++;break;case'y':pp[24]++;break;case'z':pp[25]++;break;}tt++;}}5.请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k各素数5. void fun(int m,int k,int xx[]){int g=0,i,j,flag=1;for(i=m+1;i<m*m;i++){for(j=2;j<i;j++){if (i%j!=0)flag=1;else{flag=0;break;}}if (flag==1&j>=i){if (k>0){xx[g++]=i;k--;}elsebreak;}}}6.请编写一个函数void fun(char a[],char[],int n),其功能是:删除以各字符串中指定下标的字符。
全国计算机二级C语言上机题库答案
【填空】函数fun的功能是计算如下公式。
直到,并且把计算结果作为函数值返回。
例如,若形参e的值为1e -3,则函数返回值为0.551690。
【答案】【1】3.0【2】>【3】(t+1) 【改错】函数fun的功能是:求出如下分数序列的前n项之和。
和值通过函数值返回。
例如,若n=5,则应输出8.391667。
【答案】【1】double fun(int n)【2】s=s+(double)a/b;【编程】请编写函数fun,其功能是:找出2×M整型二维数组中最大元素的值,并将此值返回调用函数。
【答案】int fun (int a[ ][M]){int i,j,max=a[0][0];for(i=0;i<2;i++)for(j=0;j<M;j++)if(max<a[i][j])max=a[i][j];return max;}【填空】函数fun的功能是:计算如下公式前n项的和并作为函数值返回。
例如,当形参n的值为10时,函数返回值为9.612558。
【答案】【1】 0【2】 n 【3】 (t*t)【改错】函数fun的功能是:统计substr所指的子符串在str所指的字符串中出现的次数。
例如,若字符串为aaas 1kaaas,子字符串为as,则应输出2。
【答案】【1】for(i=0;str[i];i++) 【2】if(substr[k+1]==′\0′) 【编程】编写函数fun,其功能是:根据以下公式求π的值(要求精度0.0005,即某项小于0.0005时停止迭代)。
程序运行后,若输入精度0.0005,则程序应输出为3.14…。
【答案】double fun(double eps){double s=1.0,s1=1.0;int n=1;while(s1>=eps){ s1=s1*n/(2*n+1);s=s+s1;n++;}return 2*s}【填空】函数fun的功能是:统计形参s所指的字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。
全国计算机等级考试二级C语言上机题库及详细解答
1 第一套给定程序的功能是:求二分之一圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积(注:圆面积公式为:S r π=2,在程序中定义的变量名要与公式的变量相同)。
例如,输入圆的半径值:19.527,输出为:s=598.949991。
注意:部分源程序给出如下。
请勿改动main 函数和其他函数中的任何内容,仅在横线上填入所编写的若干表达式或语句。
试题程序:#include <stdio.h> double fun( double r) { return 3.14159*【1】/2.0; }void main() { double x; printf("Enter x: "); scanf("%lf",【2】); printf("s=%lf\n",fun(【3】)); }【参考答案】 (1)r*r (2)&x (3)x 【考点分析】 本题考查:圆面积计算公式S π=*r*r;scanf( )函数的形式,其一般形式为"scanf("格式控制字符串",地址表列);",注意地址是由地址运算符"&"后跟变量名组成的;printf( )函数的形式,其一般形式为"printf("格式控制字符串",输出表列);";函数实参调用,函数作为另一个函数调用的实际参数出现。
【解题思路】填空1:计算圆的面积,公式为:s r π=*r 。
填空2:scanf( )函数一般形式为scanf(格式控制,地址表列),因此填入&x 。
填空3:函数的实际参数是圆的半径x 。
下列给定程序中,函数fun 的功能是:计算S=f(-n)+f(-n+1)+…+f(0)+f(1)+f(2)+…f(n)的值。
例如,当n 为5时,函数值应为10.407143。
全国计算机二级c语言上机练习题及答案(二)
全国计算机二级c语言上机练习题及答案(二)计算机二级C上机练习题汇总(二)第四套(1)填空题人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中,且编号唯一。
函数fun的功能是:找出指定编号人员的数据,作为函数值返回,由主函数输出,若指定编号不存在,返回数据中的编号为空串。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!#include#include#define N 8typedef struct{ char num[10];int year,month,day ;}STU;/**********found**********/___1___ fun(STU *std, char *num){ int i; STU a={"",9999,99,99};for (i=0; i<="" p="">/**********found**********/if( strcmp(___2___,num)==0 )/**********found**********/return (___3___);return a;}main(){ STU std[N]={ {"111111",1984,2,15},{"222222",1983,9,21},{"333333",19 84,9,1},{"444444",1983,7,15},{"555555",1984,9,28},{"666666",1983,1 1,15},{"777777",1983,6,22},{"888888",1984,8,19}};STU p;char n[10]="666666";p=fun(std,n);if(p.num[0]==0)printf("\nNot found !\n");else{ printf("\nSucceed !\n ");printf("%s %d-%d-%d\n",p.num,p.year,p.month,p.day);}}第1 处:STU fun(STU *std, char *num)第2 处:if( strcmp(std[i].num,num)==0 )第3 处:return (std[i]);(2)改错题给定程序modi.c中,函数fun的功能是:将s所指字符串的正序和反序进行连接,形成一个新串放在t 所指的数组中。
全国计算机等级考试二级C语言上机考试题库及答案
第1套一、填空给定函数的功能是调用fun 函数建立班级通讯录。
通讯录记录每位学生的编号,姓名和电话号码。
班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为答案yfile5.dat的二进制文件中。
答案:1. STYPE 2. FILE3. fp二、修改先将在字符串s中的字符按正序存放到t串中,然后把s 中的字符按逆序连接到t串后面。
答案:1. for(i = 0 ; i < sl ;i++) 2. t[2*sl] =` 0`; 三、程序将两个两位数的正整数a,答案合并成一个整数放在c中。
合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,答案数的十位和个位数依次放在c数的百位和个位上。
*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);第2套一、填空从键盘输入若干行文本(每行不超过80个字符),写到文件答案yfile4.txt中,用-1作为字符串输入结束的标记。
然后将文件的内容读出显示在屏幕上。
文件的读写分别有自定义函数ReadText 和WriteText实现。
答案:*fw str str 二、修改从低位开始取出长整形变量s中的奇数位上的数,依次构成一个新数放在t中,高位仍放在高位,低位仍放在低位。
答案:long *t sl =sl*10;三、程序将两个两位数的正整数a,答案合并成一个整数放在c中。
合并的方式:将a数的十位和个位数依次放在c数的千位和十位上,答案数的十位和个位数依次放在c数的百位和个位上。
*c=(b/10)*1000+(a%10)*100+(b%10)*10 +(a/10);第3套一、填空将自然数1~10以及它们的平方根写到名为答案yfile3txt的文本文档中,然后再顺序读出显示在屏幕上。
答案:(1)fp (2)fclose(fp)(3)fname二、修改将n个无序整数从小到大排序。
答案:for(i=j+1;i<n;i++)p=i;三、程序将两个两位数的正整数a,答案合并成一个整数放在c中。
二级c语言上机题库答案整理版
1.t=b[i]; b[i]=___b[k]___; b[k]=t;1、(1)b[k](2)N/2(3)<1、(1)int t[N] ,i, num=0;(2)t[num++]=b[i];(3)for(i=0; i<num; i++) 1、int count=0;while(*s!='\0'){if(*s>=48 && *s<=57)count++;s++;}return count;2.void fun(int (*a) __[N]__)2、(1)[N](2)i(3)i+12、(1)aa[i]=m%k;(2)printf("%d",aa[i-1]);2、len=strlen(a[i]) ;if(maxlen<len)k=i , maxlen=len ;3.t2[j]=s[i]; ___j++___;3、(1)j++(2)s[i]=t1[i](3)j3、(1)for(j=i+1;j<6;j++)(2)*(pstr+i)=*(pstr+j);3、int count=0 ;while(*ss != '\0'){if(*ss = = c)count++ ;ss++ ;}return count;4.void fun(int (*t)___[N]___ )4、(1)[N](2)t[i][j](3)t[j][i]4、(1)#define FU(m,n) ((m)/(n))(2)return (value);4、int i,len=0;while(a[len] == '*')len++;i=len;while(a[i]!= '\0'){ a[i-len]=a[i];i++;}for(i=1; i<n-2; i=i+2) {5./**********found**********/___t=i___;/**********found**********/5、(1)t=i(2)i(3)05、(1)while((fabs(t))>=num)(2)t=s/n;5、a[n]=0 ;strcpy(b , a) ;strcat(b , a + strlen(a)+1);6.void show(STU ___tt___)6、(1)tt(2)tt.score[i](3)std6、(1)m=i;(2)if(a[k]>a[m]) m=k;6、unsigned num=w,n=1;while(num!=0){num=num/10;n=n*10;}n=n/10;return w%n;7./**********found**********/___sum=0___;for(i=0; i<n; i++)/**********found**********/7、(1)sum=0(2)t[i][i](3)17、(1)double r;(2)while(fabs(m-n)>0.001)7、char *r,*q;for(q=p;q>h;q--){if(*q == '*'){r=q;while(*r!='\0'){*r=*(r+1);r++;}}}8.{ int i,j; double av;/**********found**********/av=__1__;/**********found**********/8、(1)0(2)x[i]/N(3)j++8、(1)double fun(int m)(2)for(i=100;i<=m;i~1+=0) 8、int i;*s=a[0];for(i=1;i < N;i++){if((*s).s > a[i].s )*s=a[i];}9.for(i=0; i<N; i++) av +=__x[i]/N__;9、(1)x[i]/N(2)j++(3)i++9、(1)num[k]=0;(2)switch(*s)9、int sum=0,i;for(i=0;i<N;i++)sum=sum+a[0][i]+a[M-1][i];for(i=1;i<M-1;i++)sum=sum+a[i][0]+a[i][N-1];return sum;10.av=__s/N__;for(i=j=0; i<N; i++)10、(1)s/N(2)j++(3)-110、(1)#include "stdio.h"(2)upfst(char *p)10、int sum=0,i;for(i=0;i<N;i++)sum=sum+w[0][i]+w[N-1][i];for(i=1;i<N-1;i++)sum=sum+w[i][0]+w[i][N-1];return (double)sum/(4*N-4);11.if (a[i]%2==___1___)11、(1)1(2)j++(3)j11、(1)t=a;a=b;b=t;(2)return(b);11、void fun( char *a ){ char *t;while(*a){if(*a=='*'){t=a-1;while(*a){ *(a) = *(a+1); a++; }*a='\0';a=t;}a++;}}12.for(i=0; i<___M___; i++)12、(1)M(2)<(3)k12、(1)if(('a'<=tt[i])&&(tt[i]<='z'))(2)tt[i]-=32; 12、void fun( int m, int *k, int xx[] ){int i,j,num=0;for(i=2;i<m;i++){for(j=2;j<i;j++){if(i%j==0){xx[num++]= i;break;}}}*k=num;}13./**********found**********/if( ___std[i].year___==year)/**********found**********/13、(1)std[i].year(2)std[i](3)n13、(1)IsPrime(int n)(2)if(!(n%i))13、void fun( STU a[], STU *s ){int i,j=0,max;max = a[0].s;for(i=1;i<N;i++){if(max<a[i].s){max =a[i].s;*s=a[i];}}}14.p = (n%2==0)?n/2:n/2+___1___;14、(1)1(2)i(3)a[p+i]14、(1)float k;(2)if(*c>*a)14、int fun( STREC *a, STREC *b ){int i,num=0,max;max = a[0].s;for(i=1;i<N;i++){if(max<a[i].s)max =a[i].s;}for(i=0;i<N;i++){if(max==a[i].s){b[num]=a[i];num++;}}return num;}15.__FILE*__ fp;char ch;fp = fopen("file1.txt", "w");15、(1)FILE *(2)fp(3)ch15、(1)s[j++]=s[i];(2)s[j]=0;15、void fun(char s[][N], char *b){int i,j,n=0;for(i=0; i < N;i++) /* 请填写相应语句完成其功能*/{for(j=0;j< M;j++) b[n++]=s[j][i];}b[n]='\0';}16.b[i]= __a[0][i]__;for(j=1; j<N; j++)16、(1)a[0][i](2)<(3)x,y16、(1)void fun(int *x,int *y)(2)t=*x;*x=*y;*y=t;16、int fun(int lim, int aa[MAX]){/* 以下代码仅供参考*/int i,j,k=0;/* 其中变量k用于统计素数个数*/for(i=2;i<=lim;i++){/* 以下找出小于或等于lim的素数存入aa数组中并统计素数个数*/ for(j=2;j<i;j++)if(i%j==0)break;if(i==j)aa[k++]=i;}return k;}17.for(i=0; ___s[i]___ !=0; i++)17、(1)s[i](2)'9'(3)*t=n17、(1)t=*x;*x=y;(2)return t;17、void fun (int *a, int *n){int i=1;*n=0;while(i<1000){ if((i%7==0||i%11==0)&&(i%77!=0))a[(*n)++]=i;i++;}}18.max = min = ___a[i]___;px = pn = i;18、(1)a[i](2)a[j](3)a[j]18、(1)switch(g)(2)case 1: return 1; case 2:return 1;18、void fun(STREC *a){int i;float sum=0;for(i=0;i<N;i++){sum+=a->s[i];}a->ave = sum/N;}19.p[__j__]=s[i]; j++;}else19、(1)j(2)k(3)p19、(1)while(i<j)(2)if(*a)19、void fun(char *s, char t[]){int i,j=0,len;len = strlen(s);for(i=0;i<len;i++){ if(i%2==0&&s[i]%2!=0) ;else{t[j]=s[i];j++;}}t[j]='\0';}20.for(i=0; i<N; ___i++___ )20、(1)i++(2)m(3)m20、(1)while((2<=high) && (n<10))(2)yes=0; break;20、double fun(){double x1=0.0,x0;do{x0=x1;x1=cos(x0);}while(fabs(x0-x1)>=1e-6);return x1;}21.if (___a[i]%2___== 0) {21、(1)a[i]%2(2)a[j](3)j21、(1)fun (int n)(2)if(n==1)21、void fun( char *a,int n ){int num=0;char *p=a;while(*p)p++;p=p-1;while(*p=='*'){num++;p--;}if(num>n){p=p+n+1;*p=0;} }22.row=colum= __0__;22、(1)0(2)||(3)122、(1)t-=1.0/i;(2)return t;22、void fun(char *str){int i,j=0,len=0;char *p=str;while(*p){len++;p++;}p=str;for(i=0;i<len;i++){ if(*p!=' '){str[j++]=*p;}p++;}str[j]=0;}23.d=d*10+*s-__'0'__;23、(1)'0'(2)s++(3)ctod(a)+ctod(b)23、(1)void fun ( char *s, int *a, int *b )(2)++(*a);(3)++(*b);23、float fun ( float h ){return (int)(100*h+0.5)/100.0;}24.if(n%2==0) k=n-___1___ ;24、(1)1(2)s[k](3)c24、(1)long s=0,t=0;(2)t=t/10;24、void fun(char *tt, int pp[]){int i;for(i=0;i<26;i++)pp[i]=0;while( *tt){pp[*tt-'a']++;tt++;}}25.n=strlen(___1___);for(j=0; j<len-n; j++)25、(1)ss[i](2)n+j(3)125、(1)if(*p==' ')(2)*(p-1)=toupper(*(p-1));25、void fun(char *s,int num){ int i,j;char t;for(i=1;i<num-2;i++)for(j=i+1;j<num-1;j++)if(s[i]>s[j]){t=s[i];s[i]=s[j];s[j]=t;}}26.for(i=0; i<___1___; i++){26、(1)N(2)N-1(3)026、(1)s=s+(n+1.)/n;(2)return t;26、int fun( int t){int f1=0,f2=1,fn;fn=f1+f2;while(fn<=t){f1=f2;f2=fn;fn=f1+f2;}return fn;}27.__1__ fun(int i, double x, double y)27、(1)double(2)f1(3)f227、(1)char *fun(char *s,char *t)(2)ss++;(3)tt++;27、void fun(char *w, int m) /* 可调用fun1函数左移字符*/ {char a[N];int i;for(i=0;i<m;i++) a[i]=w[i];while(w[i]) { w[i-m]=w[i]; i++;}i--;m--;for(;m>=0;m--,i--) w[i]=a[m];}28.pa->next=___1___;pb->next=pc;28、(1)int i, one=0, zero=0;(2)switch( s[i] )(3)case 0:zero++;break; 28、void fun( char *a , char *s){while(*a = *s){a++;s++;}}29.for(j=___1___; j<M; j++)29、(1)i+1(2)k=j(3)t29、(1)void fun(char *str, char ch )(2)if(*str!=ch)(3)str[1] = 0;29、void fun ( char *s ){ nt i,j,k=0;char t;while(s[k]!='\0') k++;for(i=0,j=k-1;i<k/2;i++,j--){t=s[i];s[i]=s[j];s[j]=t;}}30. __1__ = 0;while (m > 0){30、(1)a[i](2)m%10(3)m/1030、(1)b[i] = a[i][0];(2)for (j=1; j<=N-1; j++)(3)if ( b[i] > a[i][j] ) 30、double fun(double a[ ] , int n){double t,r,sum; int i,j;for(i=0;i<9;i++)for(j=i+1;j<10;j++)if(a[i]>a[j]){ t=a[i];a[i]=a[j];a[j]=t;}sum=a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8];r=sum/8.0;return r;}31.if(s[i]>='0' ___1___ s[i]<='9'){ n=0;31、(1)&&(2)0(3)s[j]31、(1)for(i=2;i<=m;i++)(2)y+=1.0/i/i;31、int i,j;for(i=0;i<3;i++)for(j=0;j<3;j++)b[i][j]=0;for(i=0;i<3;i++)for(j=0;j<3;j++)b[i][j]=a[i][j]+a[j][i];32.if( ___1___==0 )printf("___2___");32、(1)i%5(2)\n(3)a[i]32、(1)return t;(2)for(i=0;i<N;i++) t[i]=x[i];(3)x[i+1]=findmid(a,b,c);32、int i; for(i=0;i<N;i++)if(s[i]==x)return i;return -1;33.while (n<__1__){ for(i=0; i<n; i++ )33、(1)N(2)break(3)n33、(1)sum=0;(2)scanf("%d",&a[i][j]);33、int i,j,t;for(i=0;i<3;i++)for(j=0;j<i;j++){t=array[i][j];array[i][j]=array[j][i];array[j][i]=t;}34.___1___ fun(char ch){34、(1)char(2)ch<='9'(3)'0'34、(1)b[k]=*p;(2)b[k]=' ';k++;34、float ave,sum=0.0;STREC *p;p=h->next;while(p){sum+=p->s;p=p->next;}ave=sum/N;return ave;35.int fun(char (*ss) ___1___, int *n)35、(1)t+=1./i;(2)return t;35、int i,j=0;for(i=0;str[i+1]!=’\0’;i++)if(str[i]==substr[0]&&str[i+1]==substr[1])j++;return j;36.n=len; ___1___=i;for(j=___2___; j>=0; j--)36、(1)k(2)len(3)ss[i][j]36、(1)result*=(double)n--;(2)return result;36、int i=0;char *p;p=s;while(*p){if (*p!=c){s[i]=*p;i++;}}s[i]=’\0’;37.max= ___1___;for(i=1; i<n; i++)37、(1)*std(2)std[i].age(3)37、(1)void fun(int *a,int *b)(2)t=*b;*b=*a;*a=t; 37、int min;int i,j;for(i=0;i<N;i++){ min=tt[0][i];for(j=0;j<M;j++){if(min>tt[j][i])min=tt[j][i];}pp[i]=min;}38.___1___ fun(STU *std, char *num)38、(1)STU(2)std[i].num(3)std[i]38、(1)r++;p++;(2)if(*r==0)38、int i=0;for(;*s!=’\0’;s++)if(*s%2==1)t[i++]=*s;t[i]=’\0’;39.t[0][N-j-1]=t[j][___1___ ];39、(1)0(2)j--(3)j39、(1)double f(double x)(2)return s;39、int i;double s=0.0;for(i=1;i<m;i++)s=s+log(i);return sqrt(s);40.void fun(int ___1___ , int n)40、(1)t[][N](2)i=0;i<n(3)s40、(1)fun(int a[],int m)(2)else if(m>a[mid])40、char *t=a;for(;t<=p;t++) if(*t!=’*’) *(a++)=*t;for(;*t!=’\0’;t++) *(a++)=*t;*a=’\0’;41.for(i=0; s[i]!=___1___ ; i++)if(s[i]==c)41、(1)0(2)0(3)c41、(1)double sum=0.;(2)sum /= c;41、double fun(int n){int i;float s=1.0, t=1.0;for(i=2;i<=n;i++){t=t+i;s=s+1/t;}return s;}42.fp = fopen(__1__, "rb+");42、(1)filename(2)fp(3)fp42、(1)p=(NODE *)malloc(sizeof(NODE));(2)return h;42、int fun( char *s){int i=0,j=0,f=1;while(s[i]){if(s[i]<'a' || s[i]>'z'){if(f) j++;f=0;}elsef=1;i++;}43.fp = fopen(filename, __1__);43、(1)"rb"(2)>(3)fwrite43、(1)p=s;(2)while(*p++);43、void fun( int *a, int *b){int i,k;for(i=0;i<M;i++) b[i]=0;for(i=0;i<N;i++){ k=a[i]/10;if(k>=10) b[10]++;else b[k]++;}}44.void fun(PERSON ___1___){44、(1)*std(2)PERSON(3)std44、(1)int k,q,i;(2)pt[i]=str[k][i];44、void fun ( int a[][N] ){int i,j;for(i=0;i<N;i++)for(j=0;j<=i;j++)a[i][j]=0;}45.__1__=s/N;d=32767;45、(1)*av(2)i(3)x[j]45、(1)float fun(int n)(2)for (i=1; i<n; i++)45、void fun ( int a[][N], int m ){int i,j;for(i=0;i<N;i++)for(j=i;j<N;j++)a[i][j]*=m; }46.void modify(___1___ *ss,float a)46、(1)STU(2)score[i](3)&std46、(1)if(k>0)(2)else if(k==0)46、void fun ( int a[][N], int n ){int i,j;for(i=0;i<N;i++)for(j=0;j<=i;j++)a[i][j]=a[i][j]*n;}47.a[i]=___1___;i=0;47、(1)0(2)t(3)i+t47、(1)b[i]=0;(2)b[a[i] - 'a']++;(3)if (b[max] < b[i]) 47、long fun( char *s ){int i,j;long int p;i=strlen(s);p=s[0]-48;for(j=1;j<i;j++)p=p*10+(s[j]-48);return p;}48.for (i=0; i<___1___; i++){t=a[i];48、(1)n/2(2)i(3)a[n-i-1]48、(1)n= *p-'0';(2)n=n*8+*p-'0';48、STREC fun( STREC *a, char *b ){STREC res;int i;for(i=0;i<N;i++){if(strcmp(a[i].num,b)==0){res=a[i];return res;}}strcpy(res.num,"");res.s=-1;return res;}49.void fun(int ___1___, int n){ int i, j, max, min, px, pn, t;49、(1)*a(2)2(3)i+149、(1)sum=0;(2)if((i+1)%5==0)49、double fun( STREC *a, STREC *b, int *n ){int i,j;double ave,sum=0.0;*n=0;for(i=0;i<N;i++){sum+=a[i].s;}ave=sum/N;for(i=0,j=0;i<N;){if(a[i].s<=ave){b[j]=a[i];j++;(*n)++;}i++;}return ave;}50.__1__ fp;char str[100], str1[100], str2[100];50、(1)FILE *(2)fclose(fp)(3)fp50、(1)t=(STU *)calloc(sizeof(STU),m);(2)t[k]=b[j];50、int fun(int a[], int n){int i,j=0;for(i=1;i<n;i++){if(a[i]!=a[j]){j++;a[j]=a[i];}}return j+1;}。
二级C语言上机题库复习资料及参考答案
二级C语言上机题库复习资料及参考答案第一套1.程序填空程序通过定义学生结构体数组,存储了若干个学生的学号、姓名和三门课的成绩。
函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大排序)。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
第一处tructtudentt;第二处for(i=0;i第三处if(trcmp(a[i].name,a[j].name)>0)2程序修改给定程序MODI1.C中函数fun的功能是:在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向上顺序移动。
/某某found某某/q=p+i;/某某found某某/while(q>p)3程序设计学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组中,请编写了函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。
intfun(STREC某a,STREC某b,intl,inth){inti,j=0;for(i=0;iif((a[i].>=1&&a[i].<=h)b[j++]=a[i];returnj;}第二套1.程序填空给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序连接。
函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。
第一处free(q);第二处q=p->ne某t;第三处q=q->ne某t;2.程序修改给定程序MODI1.C中函数fun的功能是:用选择法对数组中的n各元素按从小到大的顺序进行排序。
/某某found某某/p=j;/某某found某某/p=i;3.程序设计请编写一个fun函数,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。
voidfun(intm,int某a,int某n){inti;某n=0;for(i=7;i<=m;i++)if((i%7==0)||(i==0))a[(某n)++]=i;}第三套1.程序填空函数fun的功能是:逆置数组元素是的值。
NCRE题库二级C语言
第1套上机操作题一、程序填空题【微答案】(1) 0 (2) i++或++i或i+=1或i=i+1 (3)2.0*i【微分析】填空1:循环变量1从开始参加运算,但是在每次循环的开始i都进行自加1操作,故i应赋初值为0。
填空2:循环变量i自增1运算。
填空3:根据公式确定表达式通项。
注意x为double类型,故应将i变为double类型再进行运算。
二、程序修改题【微答案】(1)void fun ( char *s , char *t )(2)t[2*d]='\0';或t[d+i]='\0';或t[2*d]=0;或t[d+i]=0;【微分析】(1)从调用函数来看,函数传递的是数组,所以函数的形参应为指针。
(2) 循环结束后回文字符的个数为2*d个,因为数组下标是从0开始的,所以最后一个字符的下标为2*d-1,在最后一个字符的后面加上结束符'\0',因此为t[2*d]='\0';。
三、程序设计题【微答案】void fun(char *s, char t[]){int i,j=0,n;n=strlen(s);for(i=0;i<n;i++)if(i%2!=0&&s[i]%2!=0){t[j]=s[i]; /*将下标为奇数同时ASCII码值为奇数的字符放入数组t中*/ j++;}t[j]='\0'; /*最后加上结束标识符*/}【微分析】本题要求除了下标为奇数同时ASCII码值也为奇数的字符之外,其余的所有字符都删除。
即要留下下标为奇数同时ASCII码值也为奇数的字符。
所以if的条件语句中应使用if(i%2!=0&&s[i]%2!=0)。
第2套上机操作题一、程序填空题【微答案】(1)t=i (2) i (3) '\0'或0【微分析】本题中第一个for循环的作用是得到字符串的长度,第二个for循环的作用是对下标为奇数的字符按ASCII码大小排序,最后将排好序的字符取出。
c二级上机考试答案
c二级上机考试答案1. 请写出C语言中定义一个整型变量的语句。
答案:int variable_name;2. 在C语言中,如何声明一个指向整型数据的指针?答案:int *pointer_name;3. 如果有一个数组定义如下:int array[5] = {1, 2, 3, 4, 5}; 那么数组的第一个元素是什么?答案:14. 在C语言中,如何使用循环结构打印出1到10的数字?答案:```cfor(int i = 1; i <= 10; i++) {printf("%d ", i);}```5. 请解释C语言中的switch语句的基本用法。
答案:switch语句用于基于不同的情况执行不同的代码块。
它首先评估一个表达式,然后检查这个表达式的值与case标签匹配的情况,执行相应的代码块。
6. 以下代码段的输出是什么?```cint x = 5;printf("%d", x++);```答案:57. 在C语言中,如何声明一个函数,该函数接受一个整型参数并返回一个整型值?答案:int function_name(int parameter);8. 请写出C语言中定义一个结构体的语句,该结构体包含一个整型成员和一个字符型成员。
答案:```cstruct struct_name {int integer_member;char character_member;};```9. 如果有一个函数定义如下:void function_name(void) { /* function body */ }; 那么这个函数的返回类型是什么?答案:void10. 在C语言中,如何使用条件运算符(三元运算符)?答案:条件运算符的一般形式是:condition ? expression1 : expression2,其中condition是条件表达式,expression1是当条件为真时的返回值,expression2是当条件为假时的返回值。
最新最全二级c语言上机题105套参考答案
1. 程序填空题(1) M (2) < (3) k2. 程序改错题(1) || 改为&& if((tt[i]>=‟a‟ && (tt[i]<=‟z‟))(2) +改为-tt[i]-=32;3. 程序设计题void fun( int m, int *k, int xx[] ){int i,j;int n=0;for(i=4;i<m;i++){for (j=2;j<i;j++)if(i%j==0) break;if(j<i) xx[n++]=i;}*k=n;}第2套题参考答案1.程序填空题(1) j++ 或j+=1, ++j, j=j+1 (2) s[i]=t1[i] (3) j2. 程序改错题(1) 将,改为; for(j=i+1; j<6; j++)(2) *(pstr+j) *(patr+i)=pstr+j;3.程序设计题int fun(char *ss, char c){int i, n=0;for(i=0;ss[i]!='\0';i++)if(ss[i]==c)n++;return n;}另一种写法int fun(char *ss, char c){int i=0;for(;*ss!='\0';ss++)if(*ss==c)i++;return i;}1. 程序填空题(1) && (2) 0 或者…\0‟(3) s[j] 或*(s+j)2. 程序改错题(1)将<改为<= for(i=2; i<=m; i++)(2)将1改为1.0 y+=1.0/(i*i); y+=(double)1/(i*i);3. 程序设计题void fun ( int a[3][3], int b[3][3]){int i,j;for(i=0;i<3;i++)for(j=0;j<3;j++)b[i][j]=a[i][j]+a[j][i];}第4套参考答案1.程序填空题(1) s[i] (2) …9‟(3) *t=n2.程序改错题(1) t=*x; *x=y;(2) return t;3.程序设计题void fun (int *a, int *n){int i,k=0;for(i=1; i<1000; i++)if(((i%7==0) || (i%11==0)) && (i%77 !=0))a[k++]=i;*n=k;}第5套参考答案1.程序填空题(1) 1 (2) s[k]或*(s+k) (3) c2.程序改错题(1) long s=0, t=0; (2) t=t/10;3.程序设计题void fun(char *tt, int pp[]){int i;for(i=0;i<26;i++)pp[i]=0;for(i=0; tt[i]!='\0'; i++)if((tt[i]>='a') && (tt[i]<='z'))pp[tt[i]-'a']++;} //tt[i]可以用*tt代替,i++可以用tt++代替,省略i=0第6套参考答案1.程序填空题(1) t=i; (2) i (3) …\0‟或者02.程序改错题(1)while(fabs(t)>=num)(2)t=s/n;3.程序设计题void fun (char a[], char b[], int n){int i,j=0;for(i=0;a[i]!=0;i++)if(i!=n)b[j++]=a[i];b[j]='\0';}第7套参考答案1.程序填空题(1) …\0‟(2) 0 (3) c2.程序改错题(1) double sum=0.0; (2) sum/=c;3.程序设计题float fun(int n){int i, t=0;float s=0.0;for(i=1;i<=n;i++){t=t+i;s=s+1.0/t;}return s;}第8套参考答案1.程序填空题(1) i++ (2) m (3) m2.程序改错题(1)while((high>=2) && (n<10) ) //丢了括号(2)break; //丢了分号3.程序设计题double fun(){double x1=0.0, x0;do{x0=x1;x1=cos(x0);}while(fabs(x0-x1)>=0.000001);return x1;}第9套参考答案1.程序填空题(1) N (2) N-1 (3) 02.程序改错题(1) s=s+(double)(n+1)/n (2) return t;3.程序设计题int fun( int t){int f0=0, f1=1,f;do{f=f0+f1;f0=f1;f1=f;}while(f<t);return f;}第10套参考答案1.程序填空题(1) 0 (2) j-- (3) j2.程序改错题(1) double f(double x) (2) return s;3.程序设计题double fun( int m ){double s=0.0,t=0.0;int i;for(i=1;i<=m;i++)t=t+log(i);s=sqrt(t);return s;}第11套参考答案1.程序填空题(1) N (2) t[i][j] (3) t[j][i]2.程序改错题(1) (m)/(n) (2) value3.程序设计题void fun( char *a ){char *p=a;int i=0;while (*p!='\0' && *p=='*'){p++;}while(*p!='\0'){a[i++]=*p;p++;}a[i]='\0';}另一种解法,用指针void fun( char *a ){char *p=a;while (*p=='*') p++;for (;*p!='\0';p++,a++)*a=*p;*a='\0';}第12套参考答案1.程序填空题(1) t[][N] (2) i=0; i<N; (3) s2.程序改错题(1) int fun(…) (2) else if(m>a[mid])3.程序设计题void fun( char *a, char *p ){char *t=a;int i=0;for(; t<=p;t++)if(*t!='*')a[i++]=*t;for(;*t!=0;t++)a[i++]=*t;a[i]='\0';}另一种用指针void fun( char *a, char *p ){char *t=a;for(; t<=p;t++)if(*t!='*')*(a++)=*t;for(;*t!=0;t++)*(a++)=*t;*a='\0';}第13套参考答案1.程序填空题(1) sum=0; (2) t[i][i] (3) 12.程序改错题(1) double r; (2) while(fabs(n-m)>0.001)3.程序设计题void fun( char *a, char *h,char *p ){int i=0;char *q=a;while(q<h){ a[i]=*q; i++; q++; }while(q<=p){if(*q!='*'){a[i]=*q; i++;}q++;}while(*q){ a[i]=*q; i++; q++; }a[i]=0;}第14套参考答案1. 程序填空题(1)1 (2) j++ (3) j2. 程序改错题(1) t=a; a=b; b=t; (2) return b;3. 程序设计题void fun( char *a ){int i=0;char *p=a;while(*p){if(*p!='*')a[i++]=*p;p++;}a[i]=0;}另一种用for循环void fun( char *a ){int i, j=0;for(i=0; a[i]!=\0‟; i++){if(a[i]!='*')a[ij++]=a[i];}a[j]=0;}第15套参考答案1. 程序填空题(1)a[i]%2==0 (2) a[j] (3) j2. 程序改错题(1) int fun(int n) (2)if(n==1)3. 程序设计题void fun( char *a,int n ){int i=0, j=0;char *p=a, *q=a;while (*p)p++;p--;while(*p=='*'){i++;}if(i>n){while(*q && q<(p+n+1)){a[j++]=*q;q++;}a[j]=‟\0‟;}第16套参考答案1. 程序填空题(1)a[i] (2) a[j] (3) a[j]2. 程序改错题(1)去掉分号(2)case 1: case 2 : return 1;3. 程序设计题void fun(STREC *a){int i;double sum=0.0, average;for(i=0;i<N;i++)sum=sum+a->s[i];average=sum/N;a->ave=average;}第17套参考答案1. 程序填空题(1)a[] (2) 2 (3) i+12. 程序改错题(1)sum=0.0 (2)if((i+1) % 5==0)3. 程序设计题double fun( STREC *a, STREC *b, int *n ){double sum=0.0, ave;int i,j=0;for(i=0;i<N; i++)sum=sum+a[i].s;ave=sum/N;for(i=0;i<N;i++)if(a[i].s<ave)b[j++]=a[i]; //结构体整体赋值return ave;}第18套参考答案1. 程序填空题(1) 1 (2) i (3) a[p+i]2. 程序改错题(1)float k; (2)if(*a<*c)3. 程序设计题int fun( STREC *a, STREC *b ){int max, i,j=0;max=a[0].s;for(i=1; i<N; i++)if(a[i].s>max)max=a[i].s;for(i=0;i<N;i++)if(a[i].s==max)b[j++]=a[i];return j;}第19套参考答案1. 程序填空题(1)char (2) ch=‟9‟(3) …0‟2. 程序改错题(1) b[k]=*p (2)b[k++]= “”; 或者b[k]=”“; k++;3. 程序设计题double fun( STREC *h ){double sum=0, ave;STREC *p=h->next ;while(p!=NULL){sum=sum+p->s;p=p->next ;}ave=sum/N;return ave;}第20套参考答案1. 程序填空题(1) n/2 (2) i (3) a[n-1-i]2. 程序改错题(1) n=*-…0‟ (2) n=n*8+p-…0‟;3. 程序设计题STREC fun( STREC *a, char *b ){int i;STREC str={"\0",-1};for(i=0;i<16;i++)if(strcmp(a[i].num,b)==0)str=a[i];return str;}第21套参考答案1.程序填空题(1) 999 (2) t/10 (3) x2.程序改错题(1) void fun(long s, long *t) (2) while(s>0) 3.程序设计题void fun( STREC a[] ){int i, j, k;STREC t;for(i=0; i<N-1; i++){k=i;for (j=i+1;j<N;j++)if(a[j].s>a[k].s)k=j;if(k!=i){t=a[i]; a[i]=a[k]; a[k]=t;}}}第22套参考答案1.程序填空题(1) 0 (2) x (3) t++2.程序改错题(1) int i, s1; (2) s[s1-i-1]3.程序设计题void fun(int a, int b, long *c){*c=(a/10)*100+(a%10)*1+(b/10)*1000+(b%10)*10;}第23套参考答案1.程序填空题(1) 0 (2) x*10 (3) n/102.程序改错题(1) *t=0; (2) if(d%2==1)3.程序设计题void fun(char p1[], char p2[]){int i,j;for(i=0;p1[i]!='\0';i++);for(j=0;p2[j]!='\0';j++)p1[i+j]=p2[j];p1[i+j]='\0';}第24套参考答案1.程序填空题(1) 1 (2) s>0 (3) i*102.程序改错题(1)int fun(int n, int xx[][M]) (2) printf( "%d", xx[i][j] );3.程序设计题void fun(int a, int b, long *c){*c=(a/10)*1000+(a%10)*10+(b/10)*1+(b%10)*100;}第25套参考答案1.程序填空题(1) 0.0 (2) n (3) (t*t)2.程序改错题(1) for(i = 0; str[i]!='\0'; i++) (2) if(substr[k+1]=='\0')3.程序设计题double fun ( double eps){double s=1,p1=1,p2=1,t=1;int i=1;while(t>eps){p1=p1*i;p2=p2*(2*i+1);t=p1/p2;s=s+t;i++;}return 2*s;}第26套参考答案1.程序填空题(1) 10 (2) 0 (3) x2.程序改错题(1) if (n==0) (2) result=result*(n--); or result*=n--;3.程序设计题long fun ( char *p){long n=0;int flag=1, m;if(*p=='-'){p++; flag=-1;}else if (*p=='+'){p++;}while(*p!=0){m=*p-'0';n=n*10+m;p++;}n=flag*n;return n;}第27套参考答案1.程序填空题(1) (double)(2*k+1) or (double)3 (2)> (3)(t+1)2.程序改错题(1) double fun ( int n ) //教材没错,原题是void(2) s = s + (double)a / b;3.程序设计题int fun (int a[][M]){int i, j, max;max=a[0][0];for(i=0;i<2;i++){for(j=0;j<M;j++)if(a[i][j]>max)max=a[i][j];}return max;}第28套1.程序填空题(1) 1 (2) i*2 (3)-12.程序改错题(1) k++; //丢了分号(2) if(m==k)3.程序设计题void fun(int a[],int n, int *max, int *d){int i;*max=a[0]; *d=0;for(i=1;i<n;i++)if(a[i]>*max){ *max=a[i]; *d=i; }}第29套1.程序填空题(1) 0 (2) i++ ((2.0*i)*(2.0*i))2.程序改错题(1) void fun (char *s, char *t) (2) t[2*d] = '\0';3.程序设计题void fun(char *s, char t[]){int i,j=0,n;n=strlen(s);for(i=0;i<n;i++)if(i%2!=0 && s[i]%2!=0)t[j++]=s[i];t[j]='\0';}第30套1.程序填空题(1) s[i] (2) k (3) 02.程序改错题(1) while ( *w ) //原题无* (2) if(*r==*p) 3.程序设计题void fun(char *s, char t[]){int i,j=0,n;n=strlen(s);for(i=0;i<n;i++)if(s[i]%2==0)t[j++]=s[i];t[j]=0;}第31套参考答案1.程序填空题(1) k (2) N (3) a[k][i]2.程序改错题(1) for(i=strlen(t)-1;i;i--) //教材正确(2) if(t[j]>t[j+1]) 3.程序设计题void fun(char *ss){int i,j,n;n=strlen(ss);for(i=0;i<n;i++)if(i%2==1 && ss[i]>='a' && ss[i]<='z')ss[i]=ss[i]-32;}第32套参考答案1.程序填空题(1) k (2) N-1 (3) temp2.程序改错题(1) void fun(int a[][M], int m) (2) a[j][k] = (k+1) * (j+1) ;3.程序设计题void fun(int a, int b, long *c){*c=(a/10)*10+(a%10)*1000+b/10+(b%10)*100;}第33套参考答案1.程序填空题(1) j (2) 0 (3) i++2.程序改错题(1) for(i = 2 ; i <= m ; i++) (2) y -= 1.0 /(i * i) ;3.程序设计题int fun(int score[],int m, int below[]){double sum=0.0, ave;int i,j=0;for(i=0;i<m;i++)sum=sum+score[i];ave=sum/m;for(i=0;i<m;i++)if(score[i]<ave)below[j++]=score[i];return j;}第34套参考答案1.程序填空题(1) t, s (2) s[i] (3) 02.程序改错题(1) if (i%k==0) (2) if (k==i)3.程序设计题void fun (int x, int pp[], int *n){int i,j=0;for(i=1;i<x;i++)if(x%i==0 && i%2==1)pp[j++]=i;*n=j;}第35套参考答案1.程序填空题(1) s (2) -- (3)return 02.程序改错题(1) double fun (int n) (2) s=s+(double)a/b;3.程序设计题void fun(int m,int k,int xx[]){int i, j;m=m+1;j=0;while(j<k){ for(i=2;i<m;i++)if(m%i==0)break;if(m==i)xx[j]=i; j++;}m++;}}另一种用for循环编写的void fun(int m,int k,int xx[]){int i, j, n;for(i=m+1,n=0; n<k;i++){ for(j=2;j<i;j++)if(i%j==0)break;if(i==j) xx[n++]=i;}}第36套参考答案1.程序填空题(1) n++ (2) 0 (3)s++2.程序改错题(1) t=t+s[k]; or t+=s[k] ; (2) *aver=ave;3.程序设计题int fun(int *s,int t,int *k){int i, max;max=s[0]; *k=0;for(i=1;i<t;i++)if(s[i]>max){ *k=i;max=s[i];}}第37套参考答案1.程序填空题(1) *s (2) s++ (3) n2.程序改错题(1) { //丢了函数的括号(2) if (x[j]>=xa) //不是=> 3.程序设计题float fun(int m, int n){float p1=1,p2=1, p3=1;float p;if(m<n){t=m;m=n;n=t;}for(i=1;i<=m;i++)p1=p1*i;for(j=1;j<=n;j++)p2=p2*j;for(k=1;k<=(m-n);k++)p3=p3*k;p=p1/(p2*p3);return p;}可以先建立一个求阶乘的函数,然后调用long jc(int m){long s=1;int i;for(i=1;i<=m;i++) s=s*i;return s;}float fun(int m, n){float p;p=1.0*jc(m)/jc(n)/jc(m-n);}第38套参考答案1.程序填空题(1) …0‟or 48 (2) s++ (3) sum2.程序改错题(1) if((k%13==0)||(k%17==0)) (2) }3.程序设计题double fun( int n){int i;double sum=0.0;for(i=0;i<n;i++)if(i%3==0 && i%7==0)sum=sum+i;sum=sqrt(sum);return sum;}第39套参考答案1.程序填空题(1) *s (2) 1 (3) k[n]2.程序改错题(1) double float fun(int k) (2) return s;3.程序设计题double fun(int n){double s=0.0, t;int i;for(i=1;i<=n;i++){t=1.0/(i*(i+1));s=s+t;}return s;}第40套参考答案1.程序填空题(1) i (2) ps[j] (3) tp2.程序改错题(1) double fun(int n) (2) return sum; 3.程序设计题double fun(double x, int n){double s=1.0,t=1.0, p=1.0;int i;for(i=1;i<=n;i++){t=t*x;p=p*i;s=s+t/p;}return s;}第41套参考答案1.程序填空题(1) double (2)f1 (3)f32.程序改错题(1) while(p!=NULL) (2) p=p->next3.程序设计题int fun(char *str){int n=0,i,flag=1;char *p=str;while(*p!='\0'){n++;p++;}for(i=0;i<n/2;i++){ if(str[i]==str[n-i-1]);else{flag=0;break;}}return flag;}第42套参考答案1.程序填空题(1) h->next (2) p->next (3)>2.程序改错题(1) p=h->next; (2) p=p->next;3.程序设计题void fun (int (*s)[10], int *b, int *n, int mm, int nn){int i,j,k=0;for(i=0;i<mm;i++)for(j=0;j<nn;j++)b[k++]=s[i][j];*n=k;}第43套参考答案1.程序填空题(1) NODE (2) next (3)r2.程序改错题(1) if(i%2 || s[i]%2==0) (2) t[j]='\0';3.程序设计题void fun (int (*s)[10], int *b, int *n,int mm, int nn){int i,j,k=0;for(i=0; i<nn;i++)for(j=0;j<mm;j++)b[k++]=s[j][i];*n=k;}第44套参考答案1.程序填空题(1) next (2) NULL (3) r2.程序改错题(1) r=t; (2) r=t;3.程序设计题void fun(char a[M][N],char *b){int i,j,k=0;for(i=0;i<M;i++)for(j=0; a[i][j]!='\0'; j++)b[k++]=a[i][j];b[k]='\0';}第45套参考答案1.程序填空题(1) p->next (2) q (3)p->next2.程序改错题(1) while(*s!= '\0') (2) s++;3.程序设计题void fun(int *w, int p, int n){int i,j,t;for(i=0;i<=p;i++){t=w[0];for(j=0;j<n-1;j++)w[j]=w[j+1];w[j]=t;}第46套参考答案1.程序填空题(1)double (2)f1 (2) f22.程序改错题(1)char* fun(char *s, *t) (2) ss++ (3) tt++3.程序设计题void fun (char *w,int m){int i,j,n;char ch;n=strlen(w);for(i=0;i<3;i++){ch=w[0];for(j=1;j<n;j++)w[j-1]=w[j];w[j-1]=ch;}}第47套参考答案1.程序填空题(1) x (2) p (3) s2.程序改错题(1) long k=1; (2) num/=10;3.程序设计题float fun ( float *a , int n ){int i;float ave=0;for(i=0;i<n;i++)ave=ave+a[i];ave=ave/n;return ave;}第48套参考答案1.程序填空题(1) FILE * (2) fp (3) ch2.程序改错题(1) s[j++]=s[i]; (2) s[j]='\0';3.程序设计题void fun(char (*s)[N],char *b){int i,j,k=0;for(i=0;i<N;i++)for(j=0;j<M;j++)b[k++]=s[j][i];b[k]='\0';}第49套参考答案1.程序填空题(1) N (2) k (3) ss[i]2.程序改错题(1) int k=0; (2) while(*p || *q)3.程序设计题#include <stdio.h>void fun( char *a ){int i=0;char *p=a;while(*p && *p=='*'){a[i]=*p;i++;p++;}while(*p){if(*p!='*'){a[i]=*p;i++;}p++;}a[i]='\0';}第50套参考答案1.程序填空题(1) fw (2) str (3) str2.程序改错题(1) void fun (long s, long *t) (2) sl = sl*10;3.程序设计题int fun( STREC *a, STREC *b ){int i,n=0;*b=a[0];for(i=1;i<N;i++)if(a[i].s<b->s)*b=a[i];for(i=0;i<N;i++)if(a[i].s==b->s){b[n]=a[i];n++;}return n;}第51套参考答案1.程序填空题(1) k (2) len (3)ss[i][j]2.程序改错题(1) result*=n—…(2) return result;3.程序设计题void fun( char s[],int c){int j=0,n;char *p=s;while(*p!='\0'){ if(*p!=c)s[j++]=*p;p++;}s[j]='\0';}第52套参考答案1.程序填空题(1) x (2) n (3) t2.程序改错题(1) d=1; (2) s=0; (3) d=d/10;3.程序设计题double fun(double x[9]){int i;double s=0.0,t;for(i=0;i<8;i++){t=sqrt((x[i]+x[i+1])/2);s=s+t;}return s;}第53套参考答案1.程序填空题(1) STU (2) std[i].num (3) std[i]2.程序改错题(1) if(*r==*p) {r++; p++;} (2) if(*r==‟\0‟)3.程序设计题void fun(char *s, char t[]){int i,j=0;for(i=0;s[i]!='\0';i++)if(s[i] % 2==1)t[j++]=s[i];t[j]=0;}第54套参考答案1.程序填空题(1) std[i].year (2) std[i] (3) n2.程序改错题(1) IsPrime(int n) (2) if(!(n%i))3.程序设计题fun(STU a[], STU *s){int i;*s=a[0];for(i=1;i<N;i++)if(a[i].s>s->s)*s=a[i];}第55套参考答案1.程序填空题(1) STU (2) score[i] (3) &std2.程序改错题(1) if(k>1)3.程序设计题void fun(int a[ ][N], int n){int i,j;for(i=0;i<N;i++)for(j=0;j<i;j++)a[i][j]=a[i][j]*n;}第56套参考答案1.程序填空题(1) std[] (2) PERSON (3) std2.程序改错题(1) int k, q, i; (2) pt[i]=str[k][i];3.程序设计题void fun (int a[][N]){int i,j;for(i=0;i<N;i++)for(j=0;j<=i;j++)a[i][j]=0;}第57套参考答案1.程序填空题(1) std[0] (2) std[i].age (3) 2.程序改错题(1) void fun(int *a, int *b) (2) t=*b;*b=*a;*a=t;3.程序设计题void fun(int tt[M][N],int pp[N]){int i,j,max;for(i=0;i<N;i++){max=tt[0][i];for(j=0;j<M;j++)if(tt[j][i]>max)max=tt[j][i];pp[i]=max;}pp[i]=0;}第58套参考答案1.程序填空题(1) a[i] (2) m%10 (3) m/102.程序改错题(1) b[i] = a[i][0]; (2) for (j=1; j<N; j++) (3) if ( b[i] > a[i][j] ) 3.程序设计题double fun(double a[ ] , int n){int i,j;double min,max,sum;min=max=a[0];sum=a[0];for(i=1;i<n;i++){sum=sum+a[i];if(a[i]>max) max=a[i];if(a[i]<min) min=a[i];}sum=sum-max-min;return sum/(n-2);}第59套参考答案1.程序填空题(1) i+1 (2) k=j (3) t2.程序改错题(1) void fun(char *str, char ch ) (2) if ( *str != ch ) (3) str[1] = '\0';3.程序设计题void fun(char*s){int i,n;char t;n=strlen(s);for(i=0;i<n/2;i++){t=s[i];s[i]=s[n-i-1];s[n-i-1]=t;}}第60套参考答案1.程序填空题(1) *n (2) next (3) head2.程序改错题(1) a=NULL; (2) if(*r==*p)3.程序设计题void fun(int a, int b, long *c){*c=(a%10)*1000+(a/10)*10+b%10+(b/10)*100;}第61套参考答案1.程序填空题(1) ss[i] (2) j+n (3) 12.程序改错题(1) if (*p==' ') (2) *(p-1)=toupper( *(p-1));3.程序设计题void fun(char *s,int num){int i,j,k;char *p=s;char ch;for(i=1;i<num-1;i++){ch=p[i];k=i;for(j=i+1;j<num-1;j++)if(p[j]>p[k])k=j;p[i]=p[k];p[k]=ch;}第62套参考答案1.程序填空题(1) [N] (2)len (3) *n=len2.程序改错题(1) t+=1.0/i; (2) return t;3.程序设计题int fun(char *str, char *substr){char *r,*p;int n=0;while(*str){p=str;r=substr;while(*r){ if(*p==*r) {p++; r++;}elsebreak;}if(*r=='\0') n++;str++;}return n;}另一种解法int fun(char *str, char *substr){int i, j=0;for(i=0;str[i+1]!=‟\0‟;i++)if(str[i]==substr[0] && str[i+1]==substr[1]) j++;return j;}第63套参考答案1.程序填空题(1) && (2) …A‟(3) ch2.程序改错题(1) void fun(int a[]) //答案是void fun(int *a) (2) a[j]=a[j-1];3.程序设计题int fun(int n){int i,j,s=0;for(i=2;i<n;i++)if(n%i==0)s=s+i;return s;}第64套参考答案1.程序填空题(1)1.0 (2) -1 (3)t2.程序改错题(1) for(i=1;i<=3;i++) (2) if(k>=0 && k<=6)3.程序设计题double fun(int n){int i,p=1;double s=1.0,t=1.0;for(i=1;i<=n;i++){p=p*i;t=1.0/p;s=s+t;}return s;}第65套参考答案1.程序填空题(1)x (2)n (3)fabs(t)2.程序改错题(1) for(i=1;i<=y;i++) (2) t=t%1000;3.程序设计题double fun(double x){double s=1.0,t;int n=1;t=0.5*x;s=s+t;do{n++;t*=(0.5-n+1)*x/n;s=s+t;}while(fabs(t)>=1e-6);return s;}第66套参考答案1.程序填空题(1) 1.0 (2) 1 (3) i2.程序改错题(1) k=i; (2) b=k%10;3.程序设计题double fun(double x[10]){int i;double s=0.0, ave;for(i=0;i<10;i++)s=s+x[i];ave=s/10;s=0.0;for(i=0;i<10;i++)s=s+pow((x[i]-ave),2); //平方等于两个相乘,0.5次方等于开平方s=s/10;s=pow(s,0.5);return s;}第67套参考答案1.程序填空题(1) tt (2) tt.score[i] (3) std2.程序改错题(1) void fun(int *a,int n) //去掉分号(2) m=i;3.程序设计题unsigned fun(unsigned w){unsigned i;int s=1,sum=0,t;do{t=w%10;t=t*s;sum=sum+t;s=s*10;w=w/10;}while(w>=10);return sum;} //另一种思路是求w的位数,对n-1位取余数第68套参考答案1.程序填空题(1)q (2) next (3) next2.程序改错题(1) p=j; (2) p=i;3.程序设计题void fun ( int m, int *a , int *n ){int i,j=0;for(i=1;i<=m;i++)if((i%7==0)||(i%11==0))a[j++]=i;*n=j;}第69套参考答案1.程序填空题(1) N (2) i (3) -12.程序改错题(1) a2=k/10; (2)return i;3.程序设计题void fun( char *a ){char *p;int i=0,j=0;p=a;while(*p){i++;p++;}p--;while(*p=='*'){ p--;j++;}a[i-j]=0;}第70套参考答案1.程序填空题(1) next (2) t->data (3) t2.程序改错题(1) void fun (char *a) //丢* (2) printf("%c", *a) ; //丢,3.程序设计题char *fun ( char *s, char *t){int i,j;for(i=0;s[i]!='\0';i++);for(j=0;t[j]!='\0';j++);if(i>=j) return s;else return t;}第71套参考答案1.程序填空题(1) “r”(2) fs (3) ft2.程序改错题(1) if (d%2==0) (2) s /= 10;3.程序设计题void fun(char *s, char t[]){int i,j=0;for(i=0;s[i]!='\0';i++)if((i%2==0) &&(s[i]%2==0))t[j++]=s[i];t[j]='\0';}第72套参考答案1.程序填空题(1) a (2) (3) score[i]2.程序改错题(1) s[j++]=s[i]; (2) s[j]=0;3.程序设计题void fun( char *a ){int i,j,n=0;char t;char*p=a;for(i=0;p[i]!='\0';i++)n++;while(*p=='*'){t=p[0];for(i=1;i<n;i++)p[i-1]=p[i];p[i-1]=t;}}另一种思路void fun( char *a ){int i=0,n=0;char*p=a;while(*p=='*'){ n++; p++;} //统计*的个数while(*p){ a[i]=*p ; i++ ; p++} //将前导*后的字符传递给awhile(n!=0) //后面补*{a[i]=‟*‟;i++;n--;}a[i]=‟\0‟}第73套参考答案1.程序填空题(1) N (2) substr (3) 02.程序改错题(1) fun(int x, int y, int z ) (2) return j;3.程序设计题void fun( char *a, int n,int h,int e ){char *p;int i;for(i=0;i<(n-h-e);i++)a[i]=a[h+i];a[i]='\0';}第74套参考答案1.程序填空题(1) data (2) next (3) head2.程序改错题(1) while ( *r ) (2) *a = *r; a++; r++; //r++丢分号3.程序设计题void fun(char *s, char t[]){int i,j=0;for(i=1;s[i]!='\0';i+=2)t[j++]=s[i];t[j]=0;} //可以先求一下字符串的长度strlen第75套参考答案1.程序填空题(1) struct student (2) n-1 (3) a[i].name, a[j].name2.程序改错题(1) q=p+i; (2) while(q>p )3.程序设计题int fun( STREC *a,STREC *b,int l, int h ){int i,j=0;for(i=0;i<N;i++)if(a[i].s>=l && a[i].s<=h)b[j++]=a[i];return j;}第76套参考答案1.程序填空题(1) b->sno (2) ->name (3) &t2.程序改错题(1) double fun(double a, double x0) (2) if( fabs(x1-x0)>=0.00001 ) 3.程序设计题double fun( STREC *a, STREC *b, int *n ){int i,j=0;double ave,sum=0.0;for(i=0;i<N;i++)sum=sum+a[i].s;ave=sum/N;for(i=0;i<N;i++)if(a[i].s>=ave)b[j++]=a[i];*n=j;return ave;}第77套参考答案1.程序填空题(1) STYPE (2)FILE (3) fp2.程序改错题(1) for( i=0; i<sl; i++) (2) t[s1*2] = '\0';3.程序设计题void fun(int a, int b, long *c){*c=(a/10)*1000+(a%10)*10+(b/10)*100+b%10;}第78套参考答案1.程序填空题(1) fp (2) == (3) fp2.程序改错题(1) n=strlen(aa); (2) ch=aa[i];3.程序设计题double fun( STREC *h ){STREC *p=h->next;double max=p->s;while(p!=NULL){if(p->s>max)max=p->s;p=p->next;}return max;}第79套参考答案1.程序填空题(有问题)2.程序改错题(有问题)3.程序设计题void fun(int a, int b, long *c){*c=a/10+(a%10)*100+(b/10)*1000+(b%10)*10;}第80套参考答案1.程序填空题(1) FILE * (2) fclose(fp) (3) fp2.程序改错题(1) t=calloc(m,sizeof(STU)); (2) t[k]=b[j];3.程序设计题int fun(int a[], int n){int i, j=1;for(i=1;i<n;i++)if(a[i-1]!=a[i])a[j++]=a[i];return j;}第81套参考答案1.程序填空题(1) [M] (2) N (3) 02.程序改错题(1) t=1.0; (2) return (2*s)3.程序设计题void fun( char *a, int n ){char *p=a;char *q=a;int i=0,j=0;while(*p=='*'){p++; i++;}if(i>n){while(*q){a[j++]=*(q+i-n); q++;}a[j]='\0';}}第82套参考答案1.程序填空题(1) fp (2) fclose(fp) (3) fname2.程序改错题(1) for ( i=j+1; i<n ; i++ ) (2) p=i;3.程序设计题void fun(int a, int b, long *c){*c=a/10+(a%10)*100+(b/10)*10+(b%10)*1000;}第83套参考答案1.程序填空题(1) NULL (2)n (3) head, ch2.程序改错题(1) for (i = 0,t = 0; p[i] ; i++) (2) c[t]='\0';3.程序设计题void fun ( char *ss ){int i;for(i=1;ss[i]!='\0';i+=2)if(ss[i]>='a' && ss[i]<='z')ss[i]=ss[i]-32;}第84套参考答案1.程序填空题(1) struct student * (2) a->score[i] (3) a2.程序改错题(1) char *fun(char (*sq)[M]) (2) return sp;3.程序设计题void fun(int a, int b, long *c){*c=(a/10)*100+a%10+(b/10)*10+(b%10)*1000;}第85套参考答案1.程序填空题(1) 0 (2) && (3) 12.程序改错题(1) t=t-1.0/i; (2) return t;3.程序设计题void fun (char *str){char *p=str;int i=0;while(*p!='\0'){ if(*p!=' ')str[i++]=*p;p++;}str[i]='\0';}第86套参考答案1.程序填空题(1) j=2 (2) i (3)j2.程序改错题(1)j=0 (2) if(sum%4==2)3.程序设计题double fun(int n){int i;double s=0,t=0;for(i=1;i<=n;i++){t=1.0/(2*i-1)-1.0/(2*i);s=s+t;}return s;第87套参考答案1.程序填空题(1) 0 (2) t (3) i+t2.程序改错题(1) b[i] = 0; (2) b[a[i] - 'a']++; (3) if (b[max] < b[i]) 3.程序设计题(答案评分有问题)long fun( char *s ){int n, i, j;long m=0;n=strlen(s);for(j=0;j<n;j++){i=s[j]-48;m=m*10+i;}return m;}另一种解法int i,sum=0,len;len=strlen(s);for(i=0;i<len;i++){sum=sum*10+*s-48;s++;}return sum;第88套参考答案1.程序填空题(1) “r”(2) > (3) fwrite2.程序改错题(1) p=s (2) while(*p++);3.程序设计题void fun(int *a, int *b){int i,j;for(i=0;i<M;i++)b[i]=0;for(i=0;i<N; i++){j=a[i]/10;if(j>=0 && j<=9)b[j]++;elseb[10]++;}}第89套参考答案1.程序填空题(1) b[k] (2) N/2 (3) <2.程序改错题(1) int t[N] ,i, num=0; (2) t[num++]=b[i]; (3) for(i=0; i<num; i++) 3.程序设计题int fun(char *s){int n=0;while(*s){if(*s>='0' && *s<='9')n++;s++;}return n;}第90套参考答案1.程序填空题(1) j (2) k (3) p2.程序改错题(1) while ( i < j ) (2) if ( *a )3.程序设计题void fun(char *s, char t[]){int len,i,j=0;len=strlen(s);for(i=0;i<len;i++)if(i%2==0 && s[i]%2==1);elset[j++]=s[i];t[j]=0;}第91套参考答案1.程序填空题(1) i%5 (2)\n (3) a[i]2.程序改错题(1) return t; (2) for(i=0;i<N;i++) t[i]=x[i]; (3) x[i+1]=findmid(a,b,c);3.程序设计题int fun( int *s, int x){int i;for(i=0;i<N;i++)if(s[i]==x)break;if(i==15)return -1;elsereturn i;}第92套参考答案1.程序填空题(1) pb (2) p->data (3) p->next2.程序改错题int i, one=0, zero=0 ; (2) switch( s[i] ) (3) case 0 : zero++; break;3.程序设计题void fun( char *a , char *s){while(*s){*a=*s;a++;s++;}*a=0;}第93套参考答案1.程序填空题(1) [N] (2) i (3) i+12.程序改错题(1) void fun(int m,int k) //去掉分号(2) aa[i]=m%k; (3) printf("%d",aa[i-1]);3.程序设计题char *fun(char (*a)[81], int num, char *max){int i,len,m;max=a[0];for(i=0;i<num;i++){if(strlen(max)<strlen(a[i]))max=a[i];}return max;}第94套参考答案1.程序填空题(1) a[0][i] (2) < (3) x, y2.程序改错题(1) void fun(int *x,int *y) (2) t=*x;*x=*y;*y=t;3.程序设计题int fun(int lim, int aa[MAX]){int i,j,k=0;for(i=2;i<=lim;i++){for(j=2;j<i;j++)if(i%j==0) break;。
二级C语言上机题库参考答案 (2)
1填空:(1)STYPE (2)FILE (3)fp改错:(1) for(i=0;i<=sl;i++) (2) t[2*sl]='\0'或t[sl+sl]='\0' 编程:*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);2填空:(1) *fw (2) str (3) str改错:(1) void fun(long s,long *t)(2) s1=s1*10;编程:int i,j=0,min=a[0].s;for(i=0;i<N;i++){if(a[i].s<min){j=0;b[j++]=a[i];min=a[i].s;}else if(min==a[i].s)b[j++]=a[i];}return j;3填空:(1)fp(2)fclose(fp)(3)myfile3.txt改错:(1)for(i=j+1;i<n;i++) (2)p=i;编程:*c=(b%10)*1000+(a%10)*100+(b/10)*10+a/10;4填空:(1)"r" (2 )fs (3)ft改错:(1)if (d%2==0)(2 )s/=10;编程:int i = 0, j = 0;while(s[i]){if(i % 2 == 0 && s[i] % 2 == 0)t[j++] = s[i];i++;}t[j] = 0;5填空:(1)x (2)p (3)s改错:(1)long k=1; (2)num/=10;编程:int i;float aver=0.0;for(i=0;i<n;i++)aver+=a[i];aver=aver/n;return aver;6填空:(1) next (2) t->data (3) t改错:(1) void fun(char *a) (2) print("%c",*a); 编程:int i;char *p=s,*q=t;int n=0,m=0;while(*p) /*计算串s的长度n,其中p为临时指针*/ {n++;p++;}while(*q) /*计算串t的长度m,其中q为临时指针*/ {m++;q++;}if(n>=m) /*比较m和n的值,设置p指向较大的指针*/ p=s;elsep=t;return p;7填空:(1) q (2) next (3) next改错:(1) 缺分号(2) p = i;编程:*n=0; int i;for(i=1;i<=m;i++)if(i%7==0||i%11==0)a[*n++]=i;8填空:(1)0或NULL (2)n (3)head,ch改错:(1) for(i=0,t=0;p[i];i++) (2) c[t]='\0';编程:int i;for(i=1;i<strlen(ss);i+=2){If( (ss[i]>='a'&&ss[i]<='z') ss[i]-=32;9填空:(1) *n (2) next (3) head改错:(1) a=NULL; (2) if(*r==*p)编程:int i,j=0;for(i=0;i<strlen(s);i+=2)if(s[i]%2==0) t[j++]=s[i];t[j]='\0';10填空:(1) data (2) next (3) head改错:(1) while(*r) (2) *a=*r;a++;r++;编程:int i,j=0;for((i=0;i<strlen(s);i+=2)t[j++]=s[i];t[j]='\0';11填空:(1)M (2)< (3)k改错:(1)if(('a'<=tt[i])&&(tt[i]<='z')) (2)tt[i]-=32;编程:int i,j;int t=0;for(i=2;i<m;i++){j=2;while(j<i){if(i%j==0){xx[t]=i;t++;break;}j++;}*k=t;12填空:(1) j++ (2) s[i]=t1[i] (3) j改错:(1) for(j = i + 1; j < 6; j++) (2) *(pstr + i) =*( pstr + j);编程:int cnt=0;char *p=ss;while(*p){if(*p==c)cnt++;p++;}return cnt;13填空:(1)&& (2)0 (3)s[j]改错(1)for(i=2;i<=m;i++)(2)y+=1.0/(i*i);编程题:int c[3][3];for(i=0,i<3;i++)for(j=0;j<3;j++){c[i][j]=a[j][i];b[i][j]=a[i][j]+c[i][j];}14填空:(1)s[i] (2)'9' (3) *t=n;改错:(1) t=*x;*x=y; (2) return (t);编程:int i;*n=0;for(i=7;i<1000;i++)if (((i%7)==0)||((i%11)==0)&&((i%77)!=0)a[(*n)++]=i; 15填空:(1) 1 (2) s[k] (3) c改错:(1) long s = 0,t = 0; (2) t = t / 10;编程:char *p=tt;int i;for(i=0;i<26;i++)pp[i]=0;while(*p){if(*p>='a' &&p<='z')pp[*p-'a']+=1;p++;}16填空:(1) t=i (2) i (3) 0改错:(1) while(fabs(t)>=num) (2) t=s/n;编程:int p,m=0;for(p=0;p<LEN;p++)if(p!=n){b[m]=a[p];m++;}b[m]='\0';17填空:(1) 0或'\0' (2) 0 (3) c改错:(1) double sum=0.0; (2) sum/=c;编程:int k;float str=1.0,sum=1.0;for(k=2;k<=n;k++){sum=sum+k;str=str+1/sum;}return str;18填空:(1) i++ (2) m (3) m改错:(1) while((high>=2)&&(n<10)) (2) 缺分号编程:float x1=0.0,x0;do{x0=x1;x1=cos(x0);}while(fabs(x0-x1)>0.000001);return x1;19填空:(1)N (2)N-1 (3)0改错:(1)s=s+(n+1.0)/n; (2)return t;编程:int f0=0,f1=1,f;do{f=f0+f1;f0=f1;f1=f;}while(f<t);return f;20填空:(1)0 (2)j-- (3)j改错:(1)double f(double x)(2)缺分号编程:double s=0.0;int i;for(i=1;i<=m;i++)s=s+log(1.0*i);s=sqrt(s);return s;21填空:(1) 0 (2) x (3) t++改错:(1) int i,s1; (2) t[i]=s[s1-1-i];编程:*c=(b/10)*1000+(a/10)*100+(b%10)*10+a%10;22填空:(1)999 (2)t/10 (3)x改错:(1) void fun(long s,long *t) (2)while(s>0)编程:STREC tmp;int i,j;for (i=0;i<N;i++)for (j=i+1;j<N;j++)if(a[i],s<a[j],s){tmp=a[i];a[i]=a[j];a[j]=tmp;23填空:(1)1 (2)s (3)i*10改错:(1)int fun(int n,int xx[][M]) (2)printf("%d",xx[i][j]); 编程:*c=(a/10)*1000+(b%10)*100+(a%10)*10+(b/10);24填空: (1) 0 (2) 10*x (3) n/10改错: (1) *t=0; (2) if (d%2!=0)编程: char *p=p1;while (*p)p++;while(*p2){*p++=*p2++;*p=0;}25 填空(1) 10 (2) 0 (3) x改错(1) if (n = = 0)(2)缺分号编程: long s=0, t;int i=0,j,n=strlen(p),k,s1;if (p[0]==' -')i++;for (j=i;j<=n-1;j++){t=p[j]-'0';s1=10;for (k=j;k<n-1;k++)t*=s1;s+=t;}if (p[0]=='-')return –s;else return s;26填空:(1)0 (2)n (3)(t*t) 改错:(1)for(i=0;str[i];i++)(2) for(i=0; str[i];i++)编程:double s;float n,t,pi;t=1;pi=0;n=1.0;s=1.0;while((fabs(s))>=eps){pi+=s;t=n/(2*n+1);s*=t;n++;}pi=pi*2;return pi;27填空:(1)1 (2)2*i (3) (-1)改错:(1)缺分号(2)if (m= =k) 编程:int i;*max=a[0];*d=0;for(i=0;i<n;i++)if(*max<a[i]);{*max=a[i];*d=i;}28填空:(1)3.0 (2)> (3) (2*i+1) 改错:(1)double fun (int n)(2)s=s+(double)a/b;编程:int i,j,max=a[0][0];for(i=0;i<2;i++)for (j=0;j<M;j++)if (max<a[i][j])max=a[i][j];return max;29填空:(1)0(2)i++(3)2.0*i改错:(1)void fun (char *s,char *t)(2)t[2*d]='\0';编程:int i,j=o;for(i=1;i<strlen(s);i+=2)if (i%2==0&&s[i]%2)t[j++]=s[i];t[j]='\0';30填空:(1)s[i] (2)k (3)0改错:(1)while (*w) (2)if(*r==*p)编程:int i,j=0;for(i=1;i<strlen(s);i+=2)if(s[i]%2)t[j++]=s[i];t[j]='\0';31填空:(1) k (2) N (3) a[k][i]改错:(1) for(i=strlen(t)-1;i;i--) (2) if(t[j]>t[j+1])编程:char *p=ssint i=0;while(*p){if((i%2)&&(*p>='a'&&*p<='z'))*p-=32;p++;i++;}32填空:(1)k (2)N-1 (3)temp改错:(1)void fun(int a[][M],int m)(2)a[j][k]=(k+1)*(j+1); 编程:*c=(a%10)*1000+(b%10)*100+(a/10)*10+b/10;33填空:(1)j (2)0 (3)i++改错:(1)for(i=2;i<=m;i++) (2)y-=1.0/(i*i);编程:float av=0.0;int i,j=0;for(i=0;i<m;i++)av+=score[i];av/=m;for(i=0;i<m;i++)if(av>score[i])below[j++]=score[i];return j;10;34填空:(1)t,s(2)s[i](3)0改错:(1)if (i%k==0)(2)if(k>=i)编程:int i=0;*n=0;for (i=1;i<=x;i++)if((x%i==0)&&(i%2))pp[(*n)++]=i;35填空:(1)s (2)—(3) return 0改错:(1)double fun (int n)(2)c=a;a+=b;b=c;编程:int r=0,temp,p,sign=1;for(temp=m+1;temp<m*m;temp++){for(p=2;p<temp;p++){if(temp%p!=0)sign=1;else{sign=0;break;}}if(sign= =1&&p>=temp){if(k>=0){xx[r++]=temp;k- -;}else break;}}36填空:(1)n++ (2)0 (3)s++改错:(1)t+=s[k]; (2)*aver=ave;编程:int i,pos=0,max=*s;for(i=1;i<t;i++){if(max<*(s+i)){max=*(s+i);pos=i;}}*k=pos;37填空:(1) *s (2) s++ (3) n改错:(1) int j,c=0; double xa=0.0; (2) if(x[j] >= xa) 编程:float result,temp=1.0;int i;for(i=1; i<=m; i++)temp=temp*i;result=temp;for(temp=1.0,i=1;i<=n;i++)temp=temp*i;result=result/temp;for(temp=1.0,i=1;i<=m-n;i++)temp=temp*i;result=result/temp;return result;38填空:(1)48 (2)s++ (3)sum改错:(1)if ((k%13= =0) || (k%17= =0)) (2) ] int i;for(i=21;i<=n;i++)if((i%3= =0)&&(i%7 = =0))sum=sum+i;return sprt(sum);39填空:(1) *s (2) 1 (3) k[n]改错:(1) double fun(int k) (2) return s;编程:double s=0.0;int i;for(i=1;i<=n;i++)s=s+1.0/(i*(i+1));return s;40填空:(1) i (2) ps[j] (3) tp改错:(1) double fun(int n) (2) return sum;编程:int i;double a=1,b=1,s=1;for(i=1;i<=n;i++)41填空:(1)double (2)f1 (3) f2改错:(1)p=h->next; (2)p=p->next;编程:int i,n=0,fg=1;char *p=str;while(*p){n++;p++;}for(i=0;i<n/2;i++)if(str[i]==str[n-1-i]);else{fg=0;break;}return fg;42填空:(1)h->next (2)p->next (3)>=改错:(1)p=h->next; (2)p=p->next;编程:int i,j;for(i=0;i<mm;i++) for(j=0;j<nn;j++){b[*n]=*(*(s+i)+j);*n=*n+1;}43填空:(1)NODE *(2)q(3)r改错:(1)if(i%2 || s[i]%2==0)(2)t[j]=0;编程:for(j=0;j<nn;j++) for(i=0;i<mm;i++) b[np++]=s[i][j];44填空:(1)next (2)0 (3)r改错:(1)r=t;(2)if(*r= =0)编程:int i,j,k=0;for(i=0;i<M;i++){for(j=0;j<N;j++)if*(*(a+i)+j){b[k]=*(*(a+i)+j};k++;}elsebreak;b[k]=’\0’;}45填空:(1)p->next (2)q (3)p->next改错:(1)'\0' (2)s++;编程:int b[N],i,j=0;for(i=p+1;i<n;i++){b[j]=w[i];j++;}for(i=0;i<=p;i++){b[j]=w[i];j++;}for(i=0;i<n;i++) w[i]=b[i];46填空:(1) double (2) f1 (3) f2改错:(1) char *fun(char *s, char *t) (2) ss++ (3) tt++ 编程:char a[N];int i;for(i=0;i<m;i++) a[i]=w[i];while(w[i]) {w[i-m]=w[i];i++;}i--;m--;for(;m>=0;m--;i--) w[i]=a[m];47填空:(1) FILE * (2) fp (3)ch改错:(1)s[j++]=s[i];(2) s[j]= '\0';编程:for(j=0;j<M;j++)b[n]=s[j][i];48填空;(1)File * (2) fclose(fp) (3) fp 改错;(1)t=(STU*)calloc(sizeof(STU),m); (2) t[k]=b[j];编程;int i,t,j=0,*p=a;t=p[0];for(i=0;i<=n;i++)if(t==p[i]);else{a[j]=t;t=p[i];j++;}if(i>=n)a[j]=t;return j;49填空:(1)"rb" (2)> (3)fwrite改错:(1)p=s; (2) ; (缺分号)编程:int i;for(i=0;j<M;i++) b[i]=0;for(i=0;i<N;i++)if(a[i]>=100)b[10]++;else b[a[i]/10]++;50填空:(1)filename (2 ) fp (3) fp改错:(1)p=(NODE*)malloc(sizeof(NODE)); (2)return h;编程:int i,n=0;for(i=0;i<strlen(s);i++){if(s[i]>=’ a’&&s[i]<=’ z’&&s[i+1]=’ ’||s[i+1]==’\0’) n++;}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、程序填空题给定的程序的功能是调用fun 函数建立班级通讯录。
通讯录中记录每位学生的编号、姓名和电话号码班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制中。
填空:(1)STYPE (2)FILE (3)fp改错:(1) for(i=0;i<=sl;i++) (2) t[2*sl]='\0'或t[sl+sl]='\0'编程:*c=(a/10)*1000+(b/10)*100+(a %10)*10+(b%10);2、程序填空题给定程序的功能是:从键盘输入若干文本(每行不超过80个字符),写到文件myfile4.txt 中,用-1作为字符串输出输入的标志。
然后将文件的内容读出显示在屏幕上。
文件的读写分别由自定义函数ReadText和Writetext实现。
填空:(1) *fw (2) str (3) str 改错:(1) void fun(long s,long *t)(2) s1=s1*10;编程:int i,j=0,min=a[0].s;for(i=0;i<N;i++){if(a[i].s<min){j=0;b[j++]=a[i];min=a[i].s;}else if(min==a[i].s)b[j++]=a[i];}return j;3、程序填空题给定程序中,函数fun的功能是:讲自然数1~10以及它们的平方根写到名为myfile3.txt的文本中,然后再按顺序读出显示在屏幕上。
填空:(1)fp(2)fclose(fp)(3)myfile3.txt改错:(1)for(i=j+1;i<n;i++) (2)p=i;编程:*c=(b%10)*1000+(a%10)*100+ (b/10)*10+a/10;4、程序填空题给定程序中,函数fun的功能是:找出形参s所指字符串出现频率最高的字母(不区分大小写),并统计出其出现的次数,例如,形参s所指的字符串为:abcAbsmaxiess,程序执行后的输出结果为:letter 'a':3 timesletter 's':3 times填空:(1)"r" (2 )fs (3)ft改错:(1)if (d%2==0)(2 )s/=10;编程:int i = 0, j = 0;while(s[i]){if(i % 2 == 0 && s[i] % 2 == 0)t[j++] = s[i];i++;}t[j] = 0;5、程序填空题给定程序中已经建立一个带有头结点的单向链表,链表中的各结点数据域中的数据递增有序链接,函数fun的功能是:把形参x的值放入一个新结点并插入到链表中,插入后各结点数据域的值仍保持递增有序。
填空:(1)x (2)p (3)s改错:(1)long k=1;(2)num/=10;编程:int i;float aver=0.0;for(i=0;i<n;i++)aver+=a[i]; aver=aver/n;return aver;6、程序填空题给定程序中已建立一个带有头结点的单向链表,在main函数中将多次调用fun函数,每调用一次fun函数,输出链表尾部节点中的数据,并释放该节点,使链表缩短。
填空:(1) next (2) t->data (3) t改错:(1) void fun(char *a) (2) print("%c",*a);编程:int i;char *p=s,*q=t;int n=0,m=0;while(*p) /*计算串s的长度n,其中p为临时指针*/{n++;p++;}while(*q) /*计算串t的长度m,其中q为临时指针*/{m++;q++;}if(n>=m) /*比较m和n的值,设置p指向较大的指针*/p=s;elsep=t;return p;7、程序填空题给定程序中建立一个带有头结点的单向链表,链表中的各节点按数据域递增有序链接。
函数fun的功能是:删除链表中数据域值相同的节点,使之只保留一个。
填空:(1) q (2) next (3) next改错:(1) 缺分号(2) p = i; 编程:*n=0; int i;for(i=1;i<=m;i++)if(i%7==0||i%11==0)a[*n++]=i;8、程序填空题给定的程序中,函数fun的功能是:在带有头结点的单向链表中,查找数据域中值为ch的结点。
找到后通过函数值返回该结点在链表所处的顺序号;如不存在值为ch的结点,函数返回0值。
填空:(1)0或NULL (2)n (3)head,ch改错:(1) for(i=0,t=0;p[i];i++) (2) c[t]='\0';编程:int i;for(i=1;i<strlen(ss);i+=2){If( (ss[i]>='a'&&ss[i]<='z') ss[i]-=32;9、程序填空题给定程序中,函数fun的功能是:统计出带有头结点的单向链表中节点的个数,存放在形参n所指的存储单元中。
填空:(1) *n (2) next (3) head改错:(1) a=NULL; (2) if(*r==*p)编程:int i,j=0;for(i=0;i<strlen(s);i+=2)if(s[i]%2==0) t[j++]=s[i];t[j]='\0';10、程序填空题给定程序中,函数fun的功能是:计算出带有头结点的单向链表中各节点数据域中值之和作为函数值返回。
填空:(1) data (2) next (3) head改错:(1) while(*r) (2) *a=*r;a++;r++;编程:int i,j=0;for((i=0;i<strlen(s);i+=2)t[j++]=s[i];t[j]='\0';11、程序填空题给定程序中,函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数数值返回,并把其串长放在形参n所指变量中。
Ss所指字符串数组中共有M个字符串,且串长<N.填空:(1)M (2)< (3)k改错:(1)if(('a'<=tt[i])&&(tt[i]<='z'))(2)tt[i]-=32;编程:int i,j;int t=0;for(i=2;i<m;i++){j=2;while(j<i){if(i%j==0){xx[t]=i;t++;break;}j++;}*k=t;12、程序填空题给定程序中,函数fun的功能是:将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。
例如:形参s所指的字符串为:def35adh3kjsdf7。
执行结果为:defadhkjsdf3537 填空:(1) j++ (2) s[i]=t1[i] (3) j改错:(1) for(j = i + 1; j < 6; j++) (2) *(pstr + i) =*( pstr + j);编程:int cnt=0;char *p=ss;while(*p){if(*p==c)cnt++;p++;}return cnt;13.程序填空题给定程序中,函数fun的功能是:在形参s所指字符串中的每个数字字符之后插入一个*号。
例如,形参s所指的字符串为:def35adh3kjsdf7.执行结果为:def3*5adh3*kjsdf7*。
填空:(1)&& (2)0 (3)s[j]改错(1)for(i=2;i<=m;i++) (2)y+=1.0/(i*i);编程题:int c[3][3];for(i=0,i<3;i++)for(j=0;j<3;j++){c[i][j]=a[j][i];b[i][j]=a[i][j]+c[i][j];}14、程序填空题给定的程序中,函数fun的功能是:统计形参s所指字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出,例如,形参s所指的字符串为abcdef35adgh3kjsdf7。
输出结果为:4。
填空:(1)s[i] (2)'9' (3) *t=n;改错:(1) t=*x;*x=y; (2) return (t);编程:int i;*n=0;for(i=7;i<1000;i++)if(((i%7)==0)||((i%11)==0)&&((i %77)!=0)a[(*n)++]=i;15、程序填空题给定的程序中,函数fun的功能是:把形参s所指字符串中下标为奇数的字符右移到下一个奇数的位置,最右边被移出的字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)例如:形参s所指字符串为:abcdefgh,执行结果为:ahcbedgf填空:(1) 1 (2) s[k] (3) c 改错:(1) long s = 0,t = 0; (2) t= t / 10;编程:char *p=tt;int i;for(i=0;i<26;i++)pp[i]=0;while(*p){if(*p>='a' &&p<='z')pp[*p-'a']+=1;p++;}16、程序填空题在给定程序中,函数fun的功能是:对形参s所指字符串下标喂奇数的字符按ASCII码大小递增排序,并将排序后下标为奇数的字符取出,存入形参p所指字符数组中形成一个新串。
例如,形参s所指的字符串为baawrskjghzlicda,执行后p所指字符数组中的字符串应为:aachjlsw。
填空:(1) t=i (2) i (3) 0改错:(1) while(fabs(t)>=num) (2) t=s/n;编程:int p,m=0;for(p=0;p<LEN;p++)if(p!=n){b[m]=a[p];m++;}b[m]='\0';17、程序填空题给定程序中,函数fun的功能是:在形参s所指字符串中寻找与参数c相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则函数不做任何处理。
例如:s所指字符字符串为:baacda,c中得字符为:a,执行后所指字符串为:baaaacdaa。
填空:(1) 0或'\0' (2) 0 (3) c 改错:(1) double sum=0.0; (2) sum/=c;编程:int k;float str=1.0,sum=1.0;for(k=2;k<=n;k++){sum=sum+k;str=str+1/sum;}return str;18、程序填空题给定程序中,函数fun的功能是:N×N矩阵,根据给定的m (m<=N)值,将每行元素中的值均右移m个位置,左边值为0.例如,N=3,m=2,有下列矩阵1 2 3 4 5 67 8 9程序执行结果为0 0 10 0 40 0 7填空:(1) i++ (2) m (3) m改错:(1) while((high>=2)&&(n<10)) (2) 缺分号编程:float x1=0.0,x0;do{x0=x1;x1=cos(x0);}while(fabs(x0-x1)>0.000001); return x1;19、程序填空题给定程序中,函数fun的功能是:将N*N矩阵中元素的值按列右移1个位置,右边被移出矩阵的元素绕回左边。