C语言上机题105套改后.docx
- 文档编号:16840465
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:87
- 大小:51.54KB
C语言上机题105套改后.docx
《C语言上机题105套改后.docx》由会员分享,可在线阅读,更多相关《C语言上机题105套改后.docx(87页珍藏版)》请在冰点文库上搜索。
C语言上机题105套改后
第一套填空:
调用fun函数建立班级通讯录。
写到名为myfile5.dat的二进制文件中。
1、STYPE2、FILE3、fp
改错:
先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串后面。
1、for(i=0;i<=s1;i++)改为for(i=0;i 程序设计: 将两个两位数的正整数a、b合并形成一个整数放在c中。 {*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);} 第二套填空: 从键盘读入若干行文本(每行不超过80个字符),写到文件myfile4.txt1、*fw2、str3、str 改错: 从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。 高位仍在高位,低位仍在低位。 1、voidfun(longs,longt)改为voidfun(longs,long*t) 2、sl=sl*100;改为sl=sl*10; 程序设计: 将两个两位正整数a、b合并形成一个整数放在c中{*c=(b/10)*1000+(a%10)*100+(b%10)*10+(a/10);} 第三套填空: 将自然数1~10以及它们的平方根写到名为myfile3.txt文件中,1、fp2、fclose(fp);3、fname 改错: 将n个无序整数从小到大排序。 1、for(i=j+1;i for(i=j+1;i 程序设计将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的十位{*c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10);} 第四套填空: 调用函数fun将指定源文件中的内容复制到指定的目标文件中,.主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。 1、"r"2、fs3、ft 改错: 将长整型数众每一位上为偶数的数依次取出,构成一个新数放在t中。 1、if(d%2=0)改为if(d%2==0)2、s\=10;改为s/=10; 第五套填空: 给定程序中已建立一个带有头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。 把形参x的值放入一个新结点并插入到链表中,插入后各结点数据域的值仍保持递增有序。 1、x;2、p3、s 改错: 计算正整数num的各位上的数字之积。 1、longk;改为longk=1; 2、num\=10;改为num/=10; 程序设计: 请编写函数fun,它的功能是: 计算n门课程的平均分,计算结果作为函数值返回。 {inti;floatave=0.0;for(i=0;i 第六套填空: 给定程序中已建立一个带有头结点的单向链表,在main函数中将多次调用fun函数,每调用一次fun函数,输出链表尾部结点中的数据,并释放该结点,使链表缩短。 1、next2、t->data3、t 改错: 将字符串中的字符按逆序输出,但不改变字符串中的内容。 1、a改为*a2、printf("%c"*a)改为printf("%c",*a) 程序设计: 请编写一个函数fun,它的功能是: 比较两个字符串的长度,函数返回较长的字符串。 如两个字符串长度相同,则返回第一个字符串。 {inti;char*p=s,*q=t;for(i=0;*p&&*q;i++){p++;q++;}if(*p==0&&*q==0)returns;if(*p)returns;elsereturnt;} 第七套填空: 给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序连接。 函数fun的功能是: 删除链表中数据域值相同的结点,使之只保留一个。 1、q2、next3、next 改错: 用选择法对数组中n个元素按从小到大的顺序进行排序。 1、p=j改为p=j;2、p=j;改为p=i; 程序设计: 求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。 {inti;*n=0;for(i=7;i<=m;i++)if((i%7==0)||(i%11==0))a[(*n)++]=i;} 第八套填空: 在带有头结点的单向链表中,查找数据域中值为ch的结点。 找到后通过函数值返回该结点在链表中所处的顺序号;若不存在值为ch的结点,函数返回0值。 1、02、n3、head,ch 改错: 删除p所指字符串中的所有空白字符(输入字符串时用‘#’结束输入。 1、For改为for2、c[t]="\0"改为c[t]='\0' 程序设计: 将ss所指字符串中所有下标为奇数位置中的字母转换为大写(若该位置上不是字母,则不转换)。 {inti;for(i=1;i 第九套填空: 统计出带有头结点的单向链表中结点的个数,存放在形参n所指的存储单元中。 1、*n2、next3、head 改错: 求出s所指字符串中最后一次出现的t所指子字符串的地址,通过函数值返回,在主函数输出从此地址开始的字符串;若未找到NULL。 1、a=Null改为a=NULL2、if(r==p)改为if(*r==*p) 程序设计: 将s所指字符串中除了下标为偶数、同时ASCII值也为偶数的字符外,其余的全都删除{inti,j=0;for(i=0;i 第十套填空: 函数fun的功能是: 计算出带有头结点的单向链表中各结点数据域中值之和作为函数值返回。 1、data2、next3、head 改错: 将s所指字符串中出现的与t1所指字符串相同的子串全部替换成t2所指字符串,所形成的新串放在w所指的数组中。 在此处,要求t1和t2所指字符串的长度相同。 1、while(r)改为while(*r) 2、r++改为r++; 程序设计: 将s所指字符串中下标为偶数的字符串的字符删除,串中剩余字符形成的新串放在t所指数组中。 {inti,j=0;for(i=1;i 第十一套填空: 找出指定编号人员的数据,作为函数值返回,由主函数输出,若指定编号不存在,返回数据中的编号为空串。 1、STU2、std[i].num3、std[i] 改错: 从s所指字符串中,找到与t所指字符串相的子串的个数作为函数值返回。 1、p++改为p++; 2、if(r=='\0')改为if(*r==0) 程序设计: 将s所指字符串中ASCII值为偶数的字符删除,串中剩余字符形成一个新串放在t所指数组中。 {inti,j=0;for(i=0;i 第十二套填空: 找出指定出生年份的人员,将其数据放在形参k所指的数组中,由主函数输出,同时由函数值返回满足指定条件的人数。 1、std[i].year2、std[i]3、n 改错: 读入一个整数k(2≤k≤10000),打印它的所有质因子(即所有为素数的因子)。 1、IsPrime(intn);改为IsPrime(intn)2、if! (n%i)改为if(! (n%i)) 程序设计: 学生的数据。 找出成绩最高的学生记录,通过形参指针传回主函数(规定只有一个最高分)。 已给出函数的首部,请完成该函数。 {inti,max=a[0].s,j=0;for(i=1;i max=a[i].s;}*s=a[j];} 第十三套填空: 给定程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的学号、姓名和3门课的成绩。 函数fun的功能是将该学生的各科成绩都乘以一个系数a。 1、STU2、score[i]3、&std 改错: 求k! (k<13),所求阶乘的值作为函数值返回。 1、ifk>0改为if(k>0)2、elseif(k=0)改为elseif(k==0) 程序设计: 程序定义了N×N的二维数组,并在主函数中自动赋值。 请编写函数fun(inta[][N],intn),函数的功能是: 使数组左下三角元素中的值乘以n。 {inti,j;for(i=0;i 第十四套填空形参指针所指结构体数组中的三个元素按num成员进行升序排列1、*std2、PERSON3、std 改错: 将m(1≤m≤10)个字符串连接起来,组成一个新串,放在pt所指存储区中。 1、Intk,q,i;改为intk,q,i;2、pt[i]=str[k,i];改为pt[i]=str[k][i]; 程序设计题: 程序定义了N×N的二维数组,并在主函数中自动赋值。 编写函数fun(inta[][N]),函数的功能是: 使数组左下三角元素中的值全部置成0。 {inti,j;for(i=0;i 第十五套填空: 给定程序中,函数fun的功能是: 将形参std所指结构体数组中年龄最大者的数据作为函数值返回,并在main函数中输出。 1、*std2、std[i].age3、max.name 改错: 实现两个整数的交换。 1、voidfun(inta,intb)改为voidfun(int*a,int*b)2、t=b;b=a;a=t;改为t=*b;*b=*a;*a=t; 程序设计题: 请编一个函数voidfun(inttt[M][N],intpp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并以此放入pp所指一维数组中。 二维数组中的数已在主函数中赋予。 {inti,j,min,k;for(i=0;i {min=tt[0][i];k=0;for(j=1;j {min=tt[j][i];k=j;}pp[i]=tt[k][i];} 第十六套填空: 程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的信息。 函数fun的功能是输出这名学生的信息。 1、tt2、tt.score[i]3、std 改错: 求出数组中最大数和次最大数,并把最大数和a[0]中的数对调、次最大数和a[1]中的数对调。 1、m=0;改为m=i;2、if(a[k]>a[m])k=m;改为if(a[k]>a[m])m=k; 程序设计题: 请编写一个函数unsignedfun(unsignedw),w是一个大于10的无符号整数,若w是n(n≥2)位的整数,函数求出w的低n-1位的数作为函数值返回。 {inti;for(i=1;i<=w;i*=10);return(w%(i/10));} 第十七套填空: 对形参ss所指字符串中的M个字符串按长度由短到长进行排序。 ss所指字符串数组中共有M个字符串,且串长 1、i+12、k=j3、t 改错判断ch中的字符是否与str所指串中的某个字符相同;若相同,什么也不做,若不同,则将其插在串的最后1、voidfun(charstr,charch)改为voidfun(char*str,charch)2、if(*str==ch)改为if(*str! =ch)3、str[1]='0';改为str[1]=0; 程序设计题: 请编一个函数fun(char*s),函数的功能是把s所指字符串中的内容逆置。 {charb[N];inti=0,j;for(j=strlen(s)-1;j>=0;j--) b[i++]=s[j];strcpy(s,b);} 第十八套填空: 求出形参ss中最长字符串的长度,其余字符串用字符*补齐,使其与最长的字符串等长。 字符串数组中共有M个字符串,且串长 1、k2、len3、ss[i][j] 改错: 计算整数n的阶乘。 1、result*=--n;改为result*=n--; 2、return_____;改为returnresult; 程序设计题: 从s所指的字符串中删除给定的字符。 同一字母的大、小写按不同字符处理。 如果输入的字符在字符串中不存在,则字符串照原样输出。 {char*p=s;inti=0; while(*p){if(*p! =c)s[i++]=*p;p++;}s[i]=0;} 第十九套填空: 求形参ss中最长字符串的长度,其余字符串用字符*补齐,使其与最长的字符串等长。 ss所指字符串数组中共有M个字符串,且串长 改错: 将p所指字符串中的每个单词的最后一个字母改成大写。 (这里的“单词”是指由空格隔开的字符串)。 1、if(p=='')改为if(*p=='')2、*(p-1)=toupper(*(p-1))改为*(p-1)=toupper(*(p-1)); 程序设计题: 请编写函数fun,对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按ASCII码降序排列。 {charch; inti,j; for(i=1;i<6;i++) for(j=i+1;j<6;j++){ if(*(s+i)<*(s+j)){ ch=*(s+j); *(s+j)=*(s+i); *(s+i)=ch; } } } 第二十套 填空: 给定程序中,函数fun的功能是: 求ss所指字符串数组中长度最长的字符串所在的行下标,作为返回值返回,并把其串长放在形参n所指变量中。 Ss所指字符串数组中共有M个字符串,且串长 1、[N]2、len3、*n=len 改错: 给定程序MODI1.C中fun函数的功能是: 根据形参m,计算如下公式的值。 t=1+1/2+1/3+1/4+……+1/m 1、t+=1.0/k;改为t+=1.0/i; 2、________改为returnt; 程序设计题: 编写一个函数,该函数可以统计一个长度为2的字符串在另一个字符串中出现的次数。 { intcnt=0; char*p=str,*q; while(*p){ q=strstr(p,substr); if(q==NULL)break; p=q+strlen(substr); cnt++; } returncnt; } 第二十一套 填空: 给定程序中,函数fun的功能是: 求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。 Ss所指字符串数组中共有M个字符串,且串长 1、M2、<3、k 改错: 给定程序MODI1.C中fun函数的功能是: tt所指字符串中的小写字母都改为对应的大写字母,其他字符不变。 1、if((‘a’<=tt[i])||(tt[i]<=‘z’))改为 if((‘a’<=tt[i])&&(tt[i]<=‘z’)) 2、tt[i]+=32;改为tt[i]-=32; 程序设计题: 请编写函数fun,其功能是: 将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k传回。 voidfun(intm,int*k,intxx[]) { inti,j; *k=0; for(i=2;i {for(j=2;j if(i%j==0) break; if(i==j) xx[(*k)++]=i; } 第二十二套 填空: 给定程序中,函数fun的功能是: 将s所指字符串中的所有数字字符移动到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。 1、j++2、s[i]=t1[i]3、j 改错: 给定程序MODI1.C中fun函数的功能是: 用冒泡法对6个字符串按由小到大的顺序进行排序。 1、for(j=i+1,j<6,j++)改为 for(j=i+1;j<6;j++) 2、*(pstr+i)=pstr+j;改为 *(pstr+i)=*(pstr+j); 程序设计题: 请编写函数fun,它的功能是: 求出ss所指字符串中指定字符的个数,并返回此值。 { intcnt=0; char*p=ss; while(*p){ if(*p==c)cnt++; p++; } returncnt; } 第二十三套 填空: 给定程序中,函数fun的功能是: 在形参s所指字符串中的每个数字字符之后插入一个*号。 1、&&2、03、s[j] 改错: 给定程序MODI1.C中函数fun的功能是: 根据整型形参m,计算如下公式的值。 y=1+1/(2*2)+1/(3*3)+1/(4*4)+……+1/(m*m) 1、for(i=2;i for(i=2;i<=m;i++) 2y+=1/(i*i);改为y+=1.0/(i*i); 程序设计题: 请编写函数fun,函数的功能是: 实现B=A+A’,即把矩阵A加上A的转置,存放在矩阵B中。 计算结果在main函数中输出。 { intc[3][3]; inti,j; 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]; } } 第二十四套 填空: 给定程序中,函数fun的功能是: 统计形参s所指字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。 1、s[i]2、'9'3、*t=n 改错: 给定程序MODI1.C中函数fun的功能是: 通过某种方式实现两个变量值的交换,规定不允许增加语句和表达式。 1、t=x;x=y;改为t=*x;*x=y; 2、return(y);改为return(t); 程序设计题: 请编写函数fun,它的功能是: 求出1到1000之间能被7或11整除、但不能同时被7和11整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数。 { inti; *n=0; for(i=7;i<1000;i++) if(((i%7)==0||(i%11)==0)&&(i%77)! =0)a[(*n)++]=i; } 第二十五套 填空: 给定程序中,函数fun的功能是: 把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出的字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注: 字符串的长度大于等于2)。 1、1;2、s[k]3、c 给定程序MODI1.C中函数fun的功能是: 求s=aa…aa-…-aaa–aa–a(此处aa…aa表示n个a,a和n的值在1至9之间)a和n是fun函数的形参,表达式的值作为函数值传回main函数。 1、t=1;改为t=0; 2、t=t%10;改为t=t/10; 程序设计题: 请编写一个函数voidfun(char*tt,intpp[]),统计错在tt所指字符串中‘a’到‘z’26个小写字母个字出现的次数,并依次放在pp所指数组中。 { char*p=tt; inti; for(i=0;i<26;i++)pp[i]=0; while(*p){ if(*p>='a'&&*p<='z') pp[*p-'a']+=1; p++; } } 第二十六套 填空: 给定程序中,函数fun的功能是: 对形参s所指字符串中下标为奇数的字符按ASCII码大小递增排序,并将排序后下表为奇数的字符取出,存入形参p所指字符数组中,形成一个新串。 1、t=i2、i3、0; 改错: 给定程序MODI1.C中函数fun的功能是用下面的公式求π的近似值,直到最后一项的绝对值小于指定的数(参数num)为止: π/4≈1-1/3/+1/5-1/7+… 1、while(t>=num)改为while((fabs(t))>=num) 2、t=s%n;改为t=s/n; 程序设计题: 请编写一个函数voidfun(chara[],charb[],intn),其功能是: 删除一个字符串中指定下标的字符。 其中,a指向原字符串,删除指定字符后的字符串存放在b所指的数组中,n中存放指定的下标。 { strncpy(b,a,n); b[n]=0; strcat(b,a+n+1); } 第二十七套 填空: 给定程序中,函数fun的功能是: 在形参s所指字符串中寻找与参数c相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则函数不做任何处理。 1、02、03、c 改错: 在主函数中从键盘输入若干个数放入数组中,用0结束输入并放在最后一个元素中。 给定程序MODI1.C中函数fun的功能是: 计算数组元素中值为正数的平均值(不包括0)。 1、intsum=0.0;改为doublesum=0.0; 2、sum\=c;改为sum/=c; 程序设计题: 编写函数fun,函数的功能是: 根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。 S=1+1/(1+2)+1/(1+2+3)+……+1/(1+2+3+…+n)。 { return2.0*n/(n+1); } 第二十八套 填空: 给定程序中,函数fun的功能是: 有N×N矩阵,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 上机 105 套改