1、程序填空题
给定的程序的功能是调用fun函数建立班级通讯录。通讯录中记录 每位学生的编号、姓名和电话号码班级的人数和学生的信息从键盘 读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进 制中。
填空:(1)STYPE (2)FILE (3)fp
改错: (1) for(i=0;i *c=(a/10)*1000+(b/10)*100+(a)*10+(b); 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 if(a[i].s 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 编程:*c=(b)*1000+(a)*100+(b/10)*10+a/10; 4、程序填空题 给定程序中,函数fun的功能是:找出形参s所指字符串出现频率最高的字母(不区分大小写),并统计出其出现的次数,例如,形参s所指的字符串为:abcAbsmaxiess,程序执行后的输出结果为: letter 'a':3 times letter 's':3 times 填空:(1) \ (2 )fs (3)ft 改错:(1) if (d%2==0) (2 ) s/=10; 编程: int i = 0, j = 0; while(s[i]) { } t[j] = 0; if(i % 2 == 0 && s[i] % 2 == 0) t[j++] = s[i]; i++; 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 6、程序填空题 给定程序中已建立一个带有头结点的单向链表,在main函数中将多次调用fun函数,每调用一次fun函数,输出链表尾部节点中的数据,并释放该节点,使链表缩短。 填空:(1) next (2) t->data (3) t 改错:(1) void fun(char *a) (2) print(\编程: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; else p=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==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 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 10、程序填空题 给定程序中,函数fun的功能是:计算出带有头结点的单向链表中各节点数据域中值之和作为函数值返回。 填空:(1) data (2) next (3) head 改错:(1) while(*r) (2) *a=*r;a++;r++; 编程:int i,j=0; for((i=0;i 11、程序填空题 给定程序中,函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数数值返回,并把其串长放在形参n所指变量中。Ss所指字符串数组中共有M个字符串,且串长 改错:(1)if(('a'<=tt[i])&&(tt[i]<='z')) (2)tt[i]-=32; 编程:int i,j; int t=0; for(i=2;i *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)==0)&&((iw)!=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++; }