上半年C上机题库.docx
《上半年C上机题库.docx》由会员分享,可在线阅读,更多相关《上半年C上机题库.docx(78页珍藏版)》请在冰豆网上搜索。
上半年C上机题库
下下请
1◆◆◆◆◆◆◆◆◆◆◆◆◆◆
【填空】下列给定程序中,函数fun的功能是计算如下公式。
直到,并且把计算结果作为函数值返回。
例如,若形参e的值为1e-3,则函数返回值为0.551690。
【答案】【1】3.0【2】>【3】(t+1)
【改错】下列给定程序中函数fun的功能是:
求出如下分数序列的前n项之和。
和值通过函数值返回。
例如,若n=5,则应输出8.391667。
【答案】【1】doublefun(intn)
【2】s=s+(double)a/b;
【编程】请编写函数fun,其功能是:
找出2×M整型二维数组中最大元素的值,并将此值返回调用函数。
【答案】
inti,j,max=a[0][0];
for(i=0;i<2;i++)
for(j=0;j if(max max=a[i][j];returnmax;31◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中函数fun的功能是:计算下式前n项的和,并作为函数值返回。 例如,当形参n的值为10时,函数返回:-0.204491【答案】【1】1【2】2*i【3】(-1)【改错】下列给定程序中函数fun的功能是:判断一个整数是否为素数,若是素数返回1,否则返回0。 在main()函数中,若fun返回1输出YES,若fun返回0输出NO!。【答案】【1】k++;【2】if(m==k)【编程】请编写函数fun,其功能是:找出一维整型数组元素中最大的值及其所在的下标,并通过形参传回。数组元素中的值已在主函数中赋予。 主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。【答案】inti;*max=a[0];*d=0;for(i=0;i if(*max {*max=a[i];*d=i;}47◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去掉,剩余的数按原来从高位到低位的顺序组成一个新数,并通过形参指针n传回所指变量。 例如,若输入一个数27638496,则新数为739。【答案】【1】10【2】0【3】x【改错】下列给定程序中函数fun的功能是:计算n!。 例如,给n输入5,则输出120.000000。【答案】【1】if(n==0)【2】result*=n--;【编程】请编写函数fun,其功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串"-1234",则函数把它转换为整数值-1234。【答案】longn=0;intflag=1;if(*p==′-′) elseif(*p==′+′) p++;while(*p!=′\0′){n=n*10+*p-′0′; p++;}returnn*flag;下下编2◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中,函数fun的功能是:计算如下公式前n项的和并作为函数值返回。例如,当形参n的值为10时,函数返回值为9.612558。【答案】【1】0【2】n 【3】(t*t)【改错】下列给定程序中函数fun的功能是:统计substr所指的子符串在str所指的字符串中出现的次数。例如,若字符串为aaas1kaaas,子字符串为as,则应输出2。【答案】【1】for(i=0;str[i];i++)【2】if(substr[k+1]==′\0′)【编程】编写函数fun,其功能是:根据以下公式求π的值(要求精度0.0005,即某项小于0.0005时停止迭代)。程序运行后,若输入精度0.0005,则程序应输出为3.14…。【答案】doubles=1.0,s1=1.0;intn=1;while(s1>=eps) { s1=s1*n/(2*n+1);s=s+s1; n++;}Return2*s5◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新数,作为函数值返回。例如,输入一个整数27638496,函数返回值为64862。【答案】【1】0【2】10*x【3】n/10【改错】下列给定程序中函数fun的功能是:将长整型数中各位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。例如,当s中的数为87653142时,t中的数为7531。【答案】【1】*t=0;【2】if(d%2!=0)【编程】编写函数fun,其功能是:实现两个字符串的连接(不要使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串的后面。例如,分别输入下面两个字符串:FirstString—SecondString程序输出:FirstString--SecondString【答案】inti,j;for(i=0;p1[i]!=′\0′;i++);for(j=0;p2[j]!=′\0′;j++)p1[i++]=p2[j];p1[i]=′\0′;8◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指的变量中。ss所指字符串数组中共有M个字符串,且串长小于N。【答案】【1】M 【2】< 【3】k【改错】下列给定程序中函数fun的功能是:将tt所指字符串中的小写字母全部改为对应的大写字母,其它字符不变。例如,若输入"Ab,cD",则输出"AB,CD"。【答案】【1】if((tt[i]>=′a′)&&(tt[i]<=′z′)【2】tt[i]-=32;【编程】编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k返回。例如,若输入17,则应输出:4 6 8 9 10 12 14 15 16。【答案】inti,j,n=0;for(i=4;i{ for(j=2;j if(i%j==0)break;if(j}*k=n;9◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中函数fun的功能是:将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的次序。例如,s所指的字符串为def35adh3kjsdf7,执行后结果为defadhajsdf3537。【答案】【1】j++【2】s[i]=t1[i]【3】j【改错】下列给定程序中函数fun的功能是:用冒泡法对6个字符串进行升序排列。【答案】【1】for(j=i+1;j<6;j++)【2】*(pstr+i)=*(pstr+j);【编程】编写函数fun,其功能是:求ss所指字符串中指定字符的个数,并返回此值。例如,若输入字符串123412132,输入字符为1,则输出3。【答案】inti=0;for(;*ss!=′\0′;ss++)if(*ss==c)i++;returni;10◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中已建立一个带头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数fun的功能是:把形参x的值放入一个新结点并插入链表中,使插入后各结点数据域中的数据仍保持递增有序。【答案】【1】x【2】p【3】s【改错】下列给定程序中函数fun的功能是:计算正整数num各位上的数字之积。例如,若输入252,则输出应该是20。若输入202,则输出应该是0。【答案】【1】longk=1;【2】num/=10;【编程】编写函数fun,其功能是:计算n门课程的平均分,结果作为函数值返回。例如:若有5门课程的成绩是:90.5,72,80,61.5,55,则函数的值为:71.80。【答案】floatav=0.0;inti;for(i=0;iav=av+a[i];return(av/n);13◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中,函数fun的功能是:把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)。例如,形参s所指字符串为abcdefgh,执行结果为ahcbedgf。【答案】【1】1【1】s[k]【1】c【改错】下列给定程序中fun函数的功能是:求表达式s=aa…aa-…-aaa-aa-a(此处aa…aa表示n个a,a和n的值在1至9之间)例如,a=3,n=6,则以上表达式为:s=333333-33333-3333-333-33-3其值是296298。a和n是fun函数的形参,表达式的值作为函数值传回main函数。【答案】【1】longs=0,t=0;【1】t=t/10;【编程】编写函数voidfun(char*tt,intpp[]),统计在tt所指的字符串中'a'到'z'26个小写字母各自出现的次数,并依次放在pp所指的数组中。例如,当输入字符串abcdefgabcdeabc后,程序的输出结果应该是:33322110000000000000000000【答案】inti;for(i=0;i<26;i++) pp[i]=0;if(*tt>=′a′&&*tt<=′z′) pp[*tt-′a′]++;15◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中已建立了一个带头结点的单向链表,在main函数中将多次调用fun函数,每调用一次,输出链表尾部结点中的数据,并释放该结点,使链表缩短。【答案】【1】next【2】t->data 【3】t【改错】下列给定程序中函数fun的功能是:将字符串中的字符逆序输出,但不改变字符串中的内容。例如,若字符串为abcd,则应输出:dcba。【答案】【1】voidfun(char*a)【2】printf("%c",*a);【编程】编写函数fun,其功能是:比较字符串的长度,(不得使用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符长度相同,则返回第一个字符串。例如,输入beijingshanghai(为回车键),函数将返回shanghai。【答案】inti,j;for(i=0;s[i]!=′\0′;i++);for(j=0;t[j]!=′\0′;j++);if(i>=j) returns; elsereturnt;17◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回1,失败时返回0。在复制的过程中,把复制的内容输出到屏幕。主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。【答案】【1】"r"【2】fs 【3】ft【改错】下列给定程序中函数fun的功能是:将长整型数中各位上为偶数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。例如,当s中的数为87653142时,t中的
if(max max=a[i][j];returnmax;31◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中函数fun的功能是:计算下式前n项的和,并作为函数值返回。 例如,当形参n的值为10时,函数返回:-0.204491【答案】【1】1【2】2*i【3】(-1)【改错】下列给定程序中函数fun的功能是:判断一个整数是否为素数,若是素数返回1,否则返回0。 在main()函数中,若fun返回1输出YES,若fun返回0输出NO!。【答案】【1】k++;【2】if(m==k)【编程】请编写函数fun,其功能是:找出一维整型数组元素中最大的值及其所在的下标,并通过形参传回。数组元素中的值已在主函数中赋予。 主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。【答案】inti;*max=a[0];*d=0;for(i=0;i if(*max {*max=a[i];*d=i;}47◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去掉,剩余的数按原来从高位到低位的顺序组成一个新数,并通过形参指针n传回所指变量。 例如,若输入一个数27638496,则新数为739。【答案】【1】10【2】0【3】x【改错】下列给定程序中函数fun的功能是:计算n!。 例如,给n输入5,则输出120.000000。【答案】【1】if(n==0)【2】result*=n--;【编程】请编写函数fun,其功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串"-1234",则函数把它转换为整数值-1234。【答案】longn=0;intflag=1;if(*p==′-′) elseif(*p==′+′) p++;while(*p!=′\0′){n=n*10+*p-′0′; p++;}returnn*flag;下下编2◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中,函数fun的功能是:计算如下公式前n项的和并作为函数值返回。例如,当形参n的值为10时,函数返回值为9.612558。【答案】【1】0【2】n 【3】(t*t)【改错】下列给定程序中函数fun的功能是:统计substr所指的子符串在str所指的字符串中出现的次数。例如,若字符串为aaas1kaaas,子字符串为as,则应输出2。【答案】【1】for(i=0;str[i];i++)【2】if(substr[k+1]==′\0′)【编程】编写函数fun,其功能是:根据以下公式求π的值(要求精度0.0005,即某项小于0.0005时停止迭代)。程序运行后,若输入精度0.0005,则程序应输出为3.14…。【答案】doubles=1.0,s1=1.0;intn=1;while(s1>=eps) { s1=s1*n/(2*n+1);s=s+s1; n++;}Return2*s5◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新数,作为函数值返回。例如,输入一个整数27638496,函数返回值为64862。【答案】【1】0【2】10*x【3】n/10【改错】下列给定程序中函数fun的功能是:将长整型数中各位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。例如,当s中的数为87653142时,t中的数为7531。【答案】【1】*t=0;【2】if(d%2!=0)【编程】编写函数fun,其功能是:实现两个字符串的连接(不要使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串的后面。例如,分别输入下面两个字符串:FirstString—SecondString程序输出:FirstString--SecondString【答案】inti,j;for(i=0;p1[i]!=′\0′;i++);for(j=0;p2[j]!=′\0′;j++)p1[i++]=p2[j];p1[i]=′\0′;8◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指的变量中。ss所指字符串数组中共有M个字符串,且串长小于N。【答案】【1】M 【2】< 【3】k【改错】下列给定程序中函数fun的功能是:将tt所指字符串中的小写字母全部改为对应的大写字母,其它字符不变。例如,若输入"Ab,cD",则输出"AB,CD"。【答案】【1】if((tt[i]>=′a′)&&(tt[i]<=′z′)【2】tt[i]-=32;【编程】编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k返回。例如,若输入17,则应输出:4 6 8 9 10 12 14 15 16。【答案】inti,j,n=0;for(i=4;i{ for(j=2;j if(i%j==0)break;if(j}*k=n;9◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中函数fun的功能是:将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的次序。例如,s所指的字符串为def35adh3kjsdf7,执行后结果为defadhajsdf3537。【答案】【1】j++【2】s[i]=t1[i]【3】j【改错】下列给定程序中函数fun的功能是:用冒泡法对6个字符串进行升序排列。【答案】【1】for(j=i+1;j<6;j++)【2】*(pstr+i)=*(pstr+j);【编程】编写函数fun,其功能是:求ss所指字符串中指定字符的个数,并返回此值。例如,若输入字符串123412132,输入字符为1,则输出3。【答案】inti=0;for(;*ss!=′\0′;ss++)if(*ss==c)i++;returni;10◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中已建立一个带头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数fun的功能是:把形参x的值放入一个新结点并插入链表中,使插入后各结点数据域中的数据仍保持递增有序。【答案】【1】x【2】p【3】s【改错】下列给定程序中函数fun的功能是:计算正整数num各位上的数字之积。例如,若输入252,则输出应该是20。若输入202,则输出应该是0。【答案】【1】longk=1;【2】num/=10;【编程】编写函数fun,其功能是:计算n门课程的平均分,结果作为函数值返回。例如:若有5门课程的成绩是:90.5,72,80,61.5,55,则函数的值为:71.80。【答案】floatav=0.0;inti;for(i=0;iav=av+a[i];return(av/n);13◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中,函数fun的功能是:把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)。例如,形参s所指字符串为abcdefgh,执行结果为ahcbedgf。【答案】【1】1【1】s[k]【1】c【改错】下列给定程序中fun函数的功能是:求表达式s=aa…aa-…-aaa-aa-a(此处aa…aa表示n个a,a和n的值在1至9之间)例如,a=3,n=6,则以上表达式为:s=333333-33333-3333-333-33-3其值是296298。a和n是fun函数的形参,表达式的值作为函数值传回main函数。【答案】【1】longs=0,t=0;【1】t=t/10;【编程】编写函数voidfun(char*tt,intpp[]),统计在tt所指的字符串中'a'到'z'26个小写字母各自出现的次数,并依次放在pp所指的数组中。例如,当输入字符串abcdefgabcdeabc后,程序的输出结果应该是:33322110000000000000000000【答案】inti;for(i=0;i<26;i++) pp[i]=0;if(*tt>=′a′&&*tt<=′z′) pp[*tt-′a′]++;15◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中已建立了一个带头结点的单向链表,在main函数中将多次调用fun函数,每调用一次,输出链表尾部结点中的数据,并释放该结点,使链表缩短。【答案】【1】next【2】t->data 【3】t【改错】下列给定程序中函数fun的功能是:将字符串中的字符逆序输出,但不改变字符串中的内容。例如,若字符串为abcd,则应输出:dcba。【答案】【1】voidfun(char*a)【2】printf("%c",*a);【编程】编写函数fun,其功能是:比较字符串的长度,(不得使用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符长度相同,则返回第一个字符串。例如,输入beijingshanghai(为回车键),函数将返回shanghai。【答案】inti,j;for(i=0;s[i]!=′\0′;i++);for(j=0;t[j]!=′\0′;j++);if(i>=j) returns; elsereturnt;17◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回1,失败时返回0。在复制的过程中,把复制的内容输出到屏幕。主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。【答案】【1】"r"【2】fs 【3】ft【改错】下列给定程序中函数fun的功能是:将长整型数中各位上为偶数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。例如,当s中的数为87653142时,t中的
max=a[i][j];
returnmax;
31◆◆◆◆◆◆◆◆◆◆◆◆◆◆
【填空】下列给定程序中函数fun的功能是:
计算下式前n项的和,并作为函数值返回。
例如,当形参n的值为10时,函数返回:
-0.204491
【答案】【1】1【2】2*i【3】(-1)
判断一个整数是否为素数,若是素数返回1,否则返回0。
在main()函数中,若fun返回1输出YES,若fun返回0输出NO!
。
【答案】【1】k++;【2】if(m==k)
找出一维整型数组元素中最大的值及其所在的下标,并通过形参传回。
数组元素中的值已在主函数中赋予。
主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。
inti;
*max=a[0];
*d=0;
for(i=0;i if(*max {*max=a[i];*d=i;}47◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去掉,剩余的数按原来从高位到低位的顺序组成一个新数,并通过形参指针n传回所指变量。 例如,若输入一个数27638496,则新数为739。【答案】【1】10【2】0【3】x【改错】下列给定程序中函数fun的功能是:计算n!。 例如,给n输入5,则输出120.000000。【答案】【1】if(n==0)【2】result*=n--;【编程】请编写函数fun,其功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串"-1234",则函数把它转换为整数值-1234。【答案】longn=0;intflag=1;if(*p==′-′) elseif(*p==′+′) p++;while(*p!=′\0′){n=n*10+*p-′0′; p++;}returnn*flag;下下编2◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中,函数fun的功能是:计算如下公式前n项的和并作为函数值返回。例如,当形参n的值为10时,函数返回值为9.612558。【答案】【1】0【2】n 【3】(t*t)【改错】下列给定程序中函数fun的功能是:统计substr所指的子符串在str所指的字符串中出现的次数。例如,若字符串为aaas1kaaas,子字符串为as,则应输出2。【答案】【1】for(i=0;str[i];i++)【2】if(substr[k+1]==′\0′)【编程】编写函数fun,其功能是:根据以下公式求π的值(要求精度0.0005,即某项小于0.0005时停止迭代)。程序运行后,若输入精度0.0005,则程序应输出为3.14…。【答案】doubles=1.0,s1=1.0;intn=1;while(s1>=eps) { s1=s1*n/(2*n+1);s=s+s1; n++;}Return2*s5◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新数,作为函数值返回。例如,输入一个整数27638496,函数返回值为64862。【答案】【1】0【2】10*x【3】n/10【改错】下列给定程序中函数fun的功能是:将长整型数中各位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。例如,当s中的数为87653142时,t中的数为7531。【答案】【1】*t=0;【2】if(d%2!=0)【编程】编写函数fun,其功能是:实现两个字符串的连接(不要使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串的后面。例如,分别输入下面两个字符串:FirstString—SecondString程序输出:FirstString--SecondString【答案】inti,j;for(i=0;p1[i]!=′\0′;i++);for(j=0;p2[j]!=′\0′;j++)p1[i++]=p2[j];p1[i]=′\0′;8◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指的变量中。ss所指字符串数组中共有M个字符串,且串长小于N。【答案】【1】M 【2】< 【3】k【改错】下列给定程序中函数fun的功能是:将tt所指字符串中的小写字母全部改为对应的大写字母,其它字符不变。例如,若输入"Ab,cD",则输出"AB,CD"。【答案】【1】if((tt[i]>=′a′)&&(tt[i]<=′z′)【2】tt[i]-=32;【编程】编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k返回。例如,若输入17,则应输出:4 6 8 9 10 12 14 15 16。【答案】inti,j,n=0;for(i=4;i{ for(j=2;j if(i%j==0)break;if(j}*k=n;9◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中函数fun的功能是:将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的次序。例如,s所指的字符串为def35adh3kjsdf7,执行后结果为defadhajsdf3537。【答案】【1】j++【2】s[i]=t1[i]【3】j【改错】下列给定程序中函数fun的功能是:用冒泡法对6个字符串进行升序排列。【答案】【1】for(j=i+1;j<6;j++)【2】*(pstr+i)=*(pstr+j);【编程】编写函数fun,其功能是:求ss所指字符串中指定字符的个数,并返回此值。例如,若输入字符串123412132,输入字符为1,则输出3。【答案】inti=0;for(;*ss!=′\0′;ss++)if(*ss==c)i++;returni;10◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中已建立一个带头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数fun的功能是:把形参x的值放入一个新结点并插入链表中,使插入后各结点数据域中的数据仍保持递增有序。【答案】【1】x【2】p【3】s【改错】下列给定程序中函数fun的功能是:计算正整数num各位上的数字之积。例如,若输入252,则输出应该是20。若输入202,则输出应该是0。【答案】【1】longk=1;【2】num/=10;【编程】编写函数fun,其功能是:计算n门课程的平均分,结果作为函数值返回。例如:若有5门课程的成绩是:90.5,72,80,61.5,55,则函数的值为:71.80。【答案】floatav=0.0;inti;for(i=0;iav=av+a[i];return(av/n);13◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中,函数fun的功能是:把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)。例如,形参s所指字符串为abcdefgh,执行结果为ahcbedgf。【答案】【1】1【1】s[k]【1】c【改错】下列给定程序中fun函数的功能是:求表达式s=aa…aa-…-aaa-aa-a(此处aa…aa表示n个a,a和n的值在1至9之间)例如,a=3,n=6,则以上表达式为:s=333333-33333-3333-333-33-3其值是296298。a和n是fun函数的形参,表达式的值作为函数值传回main函数。【答案】【1】longs=0,t=0;【1】t=t/10;【编程】编写函数voidfun(char*tt,intpp[]),统计在tt所指的字符串中'a'到'z'26个小写字母各自出现的次数,并依次放在pp所指的数组中。例如,当输入字符串abcdefgabcdeabc后,程序的输出结果应该是:33322110000000000000000000【答案】inti;for(i=0;i<26;i++) pp[i]=0;if(*tt>=′a′&&*tt<=′z′) pp[*tt-′a′]++;15◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中已建立了一个带头结点的单向链表,在main函数中将多次调用fun函数,每调用一次,输出链表尾部结点中的数据,并释放该结点,使链表缩短。【答案】【1】next【2】t->data 【3】t【改错】下列给定程序中函数fun的功能是:将字符串中的字符逆序输出,但不改变字符串中的内容。例如,若字符串为abcd,则应输出:dcba。【答案】【1】voidfun(char*a)【2】printf("%c",*a);【编程】编写函数fun,其功能是:比较字符串的长度,(不得使用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符长度相同,则返回第一个字符串。例如,输入beijingshanghai(为回车键),函数将返回shanghai。【答案】inti,j;for(i=0;s[i]!=′\0′;i++);for(j=0;t[j]!=′\0′;j++);if(i>=j) returns; elsereturnt;17◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回1,失败时返回0。在复制的过程中,把复制的内容输出到屏幕。主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。【答案】【1】"r"【2】fs 【3】ft【改错】下列给定程序中函数fun的功能是:将长整型数中各位上为偶数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。例如,当s中的数为87653142时,t中的
if(*max {*max=a[i];*d=i;}47◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去掉,剩余的数按原来从高位到低位的顺序组成一个新数,并通过形参指针n传回所指变量。 例如,若输入一个数27638496,则新数为739。【答案】【1】10【2】0【3】x【改错】下列给定程序中函数fun的功能是:计算n!。 例如,给n输入5,则输出120.000000。【答案】【1】if(n==0)【2】result*=n--;【编程】请编写函数fun,其功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串"-1234",则函数把它转换为整数值-1234。【答案】longn=0;intflag=1;if(*p==′-′) elseif(*p==′+′) p++;while(*p!=′\0′){n=n*10+*p-′0′; p++;}returnn*flag;下下编2◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中,函数fun的功能是:计算如下公式前n项的和并作为函数值返回。例如,当形参n的值为10时,函数返回值为9.612558。【答案】【1】0【2】n 【3】(t*t)【改错】下列给定程序中函数fun的功能是:统计substr所指的子符串在str所指的字符串中出现的次数。例如,若字符串为aaas1kaaas,子字符串为as,则应输出2。【答案】【1】for(i=0;str[i];i++)【2】if(substr[k+1]==′\0′)【编程】编写函数fun,其功能是:根据以下公式求π的值(要求精度0.0005,即某项小于0.0005时停止迭代)。程序运行后,若输入精度0.0005,则程序应输出为3.14…。【答案】doubles=1.0,s1=1.0;intn=1;while(s1>=eps) { s1=s1*n/(2*n+1);s=s+s1; n++;}Return2*s5◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新数,作为函数值返回。例如,输入一个整数27638496,函数返回值为64862。【答案】【1】0【2】10*x【3】n/10【改错】下列给定程序中函数fun的功能是:将长整型数中各位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。例如,当s中的数为87653142时,t中的数为7531。【答案】【1】*t=0;【2】if(d%2!=0)【编程】编写函数fun,其功能是:实现两个字符串的连接(不要使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串的后面。例如,分别输入下面两个字符串:FirstString—SecondString程序输出:FirstString--SecondString【答案】inti,j;for(i=0;p1[i]!=′\0′;i++);for(j=0;p2[j]!=′\0′;j++)p1[i++]=p2[j];p1[i]=′\0′;8◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指的变量中。ss所指字符串数组中共有M个字符串,且串长小于N。【答案】【1】M 【2】< 【3】k【改错】下列给定程序中函数fun的功能是:将tt所指字符串中的小写字母全部改为对应的大写字母,其它字符不变。例如,若输入"Ab,cD",则输出"AB,CD"。【答案】【1】if((tt[i]>=′a′)&&(tt[i]<=′z′)【2】tt[i]-=32;【编程】编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k返回。例如,若输入17,则应输出:4 6 8 9 10 12 14 15 16。【答案】inti,j,n=0;for(i=4;i{ for(j=2;j if(i%j==0)break;if(j}*k=n;9◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中函数fun的功能是:将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的次序。例如,s所指的字符串为def35adh3kjsdf7,执行后结果为defadhajsdf3537。【答案】【1】j++【2】s[i]=t1[i]【3】j【改错】下列给定程序中函数fun的功能是:用冒泡法对6个字符串进行升序排列。【答案】【1】for(j=i+1;j<6;j++)【2】*(pstr+i)=*(pstr+j);【编程】编写函数fun,其功能是:求ss所指字符串中指定字符的个数,并返回此值。例如,若输入字符串123412132,输入字符为1,则输出3。【答案】inti=0;for(;*ss!=′\0′;ss++)if(*ss==c)i++;returni;10◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中已建立一个带头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数fun的功能是:把形参x的值放入一个新结点并插入链表中,使插入后各结点数据域中的数据仍保持递增有序。【答案】【1】x【2】p【3】s【改错】下列给定程序中函数fun的功能是:计算正整数num各位上的数字之积。例如,若输入252,则输出应该是20。若输入202,则输出应该是0。【答案】【1】longk=1;【2】num/=10;【编程】编写函数fun,其功能是:计算n门课程的平均分,结果作为函数值返回。例如:若有5门课程的成绩是:90.5,72,80,61.5,55,则函数的值为:71.80。【答案】floatav=0.0;inti;for(i=0;iav=av+a[i];return(av/n);13◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中,函数fun的功能是:把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)。例如,形参s所指字符串为abcdefgh,执行结果为ahcbedgf。【答案】【1】1【1】s[k]【1】c【改错】下列给定程序中fun函数的功能是:求表达式s=aa…aa-…-aaa-aa-a(此处aa…aa表示n个a,a和n的值在1至9之间)例如,a=3,n=6,则以上表达式为:s=333333-33333-3333-333-33-3其值是296298。a和n是fun函数的形参,表达式的值作为函数值传回main函数。【答案】【1】longs=0,t=0;【1】t=t/10;【编程】编写函数voidfun(char*tt,intpp[]),统计在tt所指的字符串中'a'到'z'26个小写字母各自出现的次数,并依次放在pp所指的数组中。例如,当输入字符串abcdefgabcdeabc后,程序的输出结果应该是:33322110000000000000000000【答案】inti;for(i=0;i<26;i++) pp[i]=0;if(*tt>=′a′&&*tt<=′z′) pp[*tt-′a′]++;15◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中已建立了一个带头结点的单向链表,在main函数中将多次调用fun函数,每调用一次,输出链表尾部结点中的数据,并释放该结点,使链表缩短。【答案】【1】next【2】t->data 【3】t【改错】下列给定程序中函数fun的功能是:将字符串中的字符逆序输出,但不改变字符串中的内容。例如,若字符串为abcd,则应输出:dcba。【答案】【1】voidfun(char*a)【2】printf("%c",*a);【编程】编写函数fun,其功能是:比较字符串的长度,(不得使用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符长度相同,则返回第一个字符串。例如,输入beijingshanghai(为回车键),函数将返回shanghai。【答案】inti,j;for(i=0;s[i]!=′\0′;i++);for(j=0;t[j]!=′\0′;j++);if(i>=j) returns; elsereturnt;17◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回1,失败时返回0。在复制的过程中,把复制的内容输出到屏幕。主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。【答案】【1】"r"【2】fs 【3】ft【改错】下列给定程序中函数fun的功能是:将长整型数中各位上为偶数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。例如,当s中的数为87653142时,t中的
{*max=a[i];*d=i;}
47◆◆◆◆◆◆◆◆◆◆◆◆◆◆
【填空】下列给定程序中,函数fun的功能是:
将形参n所指变量中,各位上为偶数的数去掉,剩余的数按原来从高位到低位的顺序组成一个新数,并通过形参指针n传回所指变量。
例如,若输入一个数27638496,则新数为739。
【答案】【1】10【2】0【3】x
计算n!
例如,给n输入5,则输出120.000000。
【答案】【1】if(n==0)
【2】result*=n--;
将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。
例如,若输入字符串"-1234",则函数把它转换为整数值-1234。
longn=0;
intflag=1;
if(*p==′-′)
elseif(*p==′+′)
p++;
while(*p!
=′\0′)
{n=n*10+*p-′0′;
}
returnn*flag;
下下编
2◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
计算如下公式前n项的和并作为函数值返回。
例如,当形参n的值为10时,函数返回值为9.612558。
【答案】【1】0【2】n 【3】(t*t)
统计substr所指的子符串在str所指的字符串中出现的次数。
例如,若字符串为aaas1kaaas,子字符串为as,则应输出2。
【1】for(i=0;str[i];i++)
【2】if(substr[k+1]==′\0′)
【编程】编写函数fun,其功能是:
根据以下公式求π的值(要求精度0.0005,即某项小于0.0005时停止迭代)。
程序运行后,若输入精度0.0005,则程序应输出为3.14…。
doubles=1.0,s1=1.0;
intn=1;
while(s1>=eps)
{ s1=s1*n/(2*n+1);
s=s+s1;
n++;
Return2*s
5◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新数,作为函数值返回。
例如,输入一个整数27638496,函数返回值为64862。
【答案】【1】0【2】10*x【3】n/10
将长整型数中各位上为奇数的数依次取出,构成一个新数放在t中。
高位仍在高位,低位仍在低位。
例如,当s中的数为87653142时,t中的数为7531。
【答案】【1】*t=0;【2】if(d%2!
=0)
实现两个字符串的连接(不要使用库函数
strcat),即把p2所指的字符串连接到p1所指的字符串的后面。
例如,分别输入下面两个字符串:
FirstString—SecondString程序输出:
FirstString--SecondString
inti,j;
for(i=0;p1[i]!
=′\0′;i++);
for(j=0;p2[j]!
=′\0′;j++)
p1[i++]=p2[j];
p1[i]=′\0′;
8◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指的变量中。
ss所指字符串数组中共有M个字符串,且串长小于N。
【答案】【1】M 【2】< 【3】k
将tt所指字符串中的小写字母全部改为对应的大写字母,其它字符不变。
例如,若输入"Ab,cD",则输出"AB,CD"。
【1】if((tt[i]>=′a′)&&(tt[i]<=′z′)【2】tt[i]-=32;
将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k返回。
例如,若输入17,则应输出:
4 6 8 9 10 12 14 15 16。
inti,j,n=0;
for(i=4;i{ for(j=2;j if(i%j==0)break;if(j}*k=n;9◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中函数fun的功能是:将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的次序。例如,s所指的字符串为def35adh3kjsdf7,执行后结果为defadhajsdf3537。【答案】【1】j++【2】s[i]=t1[i]【3】j【改错】下列给定程序中函数fun的功能是:用冒泡法对6个字符串进行升序排列。【答案】【1】for(j=i+1;j<6;j++)【2】*(pstr+i)=*(pstr+j);【编程】编写函数fun,其功能是:求ss所指字符串中指定字符的个数,并返回此值。例如,若输入字符串123412132,输入字符为1,则输出3。【答案】inti=0;for(;*ss!=′\0′;ss++)if(*ss==c)i++;returni;10◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中已建立一个带头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数fun的功能是:把形参x的值放入一个新结点并插入链表中,使插入后各结点数据域中的数据仍保持递增有序。【答案】【1】x【2】p【3】s【改错】下列给定程序中函数fun的功能是:计算正整数num各位上的数字之积。例如,若输入252,则输出应该是20。若输入202,则输出应该是0。【答案】【1】longk=1;【2】num/=10;【编程】编写函数fun,其功能是:计算n门课程的平均分,结果作为函数值返回。例如:若有5门课程的成绩是:90.5,72,80,61.5,55,则函数的值为:71.80。【答案】floatav=0.0;inti;for(i=0;iav=av+a[i];return(av/n);13◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中,函数fun的功能是:把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)。例如,形参s所指字符串为abcdefgh,执行结果为ahcbedgf。【答案】【1】1【1】s[k]【1】c【改错】下列给定程序中fun函数的功能是:求表达式s=aa…aa-…-aaa-aa-a(此处aa…aa表示n个a,a和n的值在1至9之间)例如,a=3,n=6,则以上表达式为:s=333333-33333-3333-333-33-3其值是296298。a和n是fun函数的形参,表达式的值作为函数值传回main函数。【答案】【1】longs=0,t=0;【1】t=t/10;【编程】编写函数voidfun(char*tt,intpp[]),统计在tt所指的字符串中'a'到'z'26个小写字母各自出现的次数,并依次放在pp所指的数组中。例如,当输入字符串abcdefgabcdeabc后,程序的输出结果应该是:33322110000000000000000000【答案】inti;for(i=0;i<26;i++) pp[i]=0;if(*tt>=′a′&&*tt<=′z′) pp[*tt-′a′]++;15◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中已建立了一个带头结点的单向链表,在main函数中将多次调用fun函数,每调用一次,输出链表尾部结点中的数据,并释放该结点,使链表缩短。【答案】【1】next【2】t->data 【3】t【改错】下列给定程序中函数fun的功能是:将字符串中的字符逆序输出,但不改变字符串中的内容。例如,若字符串为abcd,则应输出:dcba。【答案】【1】voidfun(char*a)【2】printf("%c",*a);【编程】编写函数fun,其功能是:比较字符串的长度,(不得使用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符长度相同,则返回第一个字符串。例如,输入beijingshanghai(为回车键),函数将返回shanghai。【答案】inti,j;for(i=0;s[i]!=′\0′;i++);for(j=0;t[j]!=′\0′;j++);if(i>=j) returns; elsereturnt;17◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回1,失败时返回0。在复制的过程中,把复制的内容输出到屏幕。主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。【答案】【1】"r"【2】fs 【3】ft【改错】下列给定程序中函数fun的功能是:将长整型数中各位上为偶数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。例如,当s中的数为87653142时,t中的
{ for(j=2;j
if(i%j==0)break;
if(j
*k=n;
9◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的次序。
例如,s所指的字符串为def35adh3kjsdf7,执行后结果为defadhajsdf3537。
【答案】【1】j++【2】s[i]=t1[i]
【3】j
用冒泡法对6个字符串进行升序排列。
【1】for(j=i+1;j<6;j++)
【2】*(pstr+i)=*(pstr+j);
求ss所指字符串中指定字符的个数,并返回此值。
例如,若输入字符串123412132,输入字符为1,则输出3。
inti=0;
for(;*ss!
=′\0′;ss++)
if(*ss==c)
i++;
returni;
10◆◆◆◆◆◆◆◆◆◆◆◆◆◆
【填空】下列给定程序中已建立一个带头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。
函数fun的功能是:
把形参x的值放入一个新结点并插入链表中,使插入后各结点数据域中的数据仍保持递增有序。
【答案】【1】x【2】p【3】s
计算正整数num各位上的数字之积。
例如,若输入252,则输出应该是20。
若输入202,则输出应该是0。
【答案】【1】longk=1;【2】num/=10;
计算n门课程的平均分,结果作为函数值返回。
例如:
若有5门课程的成绩是:
90.5,72,80,61.5,55,则函数的值为:
71.80。
floatav=0.0;
for(i=0;iav=av+a[i];return(av/n);13◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中,函数fun的功能是:把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)。例如,形参s所指字符串为abcdefgh,执行结果为ahcbedgf。【答案】【1】1【1】s[k]【1】c【改错】下列给定程序中fun函数的功能是:求表达式s=aa…aa-…-aaa-aa-a(此处aa…aa表示n个a,a和n的值在1至9之间)例如,a=3,n=6,则以上表达式为:s=333333-33333-3333-333-33-3其值是296298。a和n是fun函数的形参,表达式的值作为函数值传回main函数。【答案】【1】longs=0,t=0;【1】t=t/10;【编程】编写函数voidfun(char*tt,intpp[]),统计在tt所指的字符串中'a'到'z'26个小写字母各自出现的次数,并依次放在pp所指的数组中。例如,当输入字符串abcdefgabcdeabc后,程序的输出结果应该是:33322110000000000000000000【答案】inti;for(i=0;i<26;i++) pp[i]=0;if(*tt>=′a′&&*tt<=′z′) pp[*tt-′a′]++;15◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中已建立了一个带头结点的单向链表,在main函数中将多次调用fun函数,每调用一次,输出链表尾部结点中的数据,并释放该结点,使链表缩短。【答案】【1】next【2】t->data 【3】t【改错】下列给定程序中函数fun的功能是:将字符串中的字符逆序输出,但不改变字符串中的内容。例如,若字符串为abcd,则应输出:dcba。【答案】【1】voidfun(char*a)【2】printf("%c",*a);【编程】编写函数fun,其功能是:比较字符串的长度,(不得使用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符长度相同,则返回第一个字符串。例如,输入beijingshanghai(为回车键),函数将返回shanghai。【答案】inti,j;for(i=0;s[i]!=′\0′;i++);for(j=0;t[j]!=′\0′;j++);if(i>=j) returns; elsereturnt;17◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回1,失败时返回0。在复制的过程中,把复制的内容输出到屏幕。主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。【答案】【1】"r"【2】fs 【3】ft【改错】下列给定程序中函数fun的功能是:将长整型数中各位上为偶数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。例如,当s中的数为87653142时,t中的
av=av+a[i];
return(av/n);
13◆◆◆◆◆◆◆◆◆◆◆◆◆◆
把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:
字符串的长度大于等于2)。
例如,形参s所指字符串为abcdefgh,执行结果为ahcbedgf。
【答案】【1】1【1】s[k]【1】c
【改错】下列给定程序中fun函数的功能是:
求表达式s=aa…aa-…-aaa-aa-a(此处aa…aa表示n个a,a和n的值在1至9之间)例如,a=3,n=6,则以上表达式为:
s=333333-33333-3333-333-33-3其值是296298。
a和n是fun函数的形参,表达式的值作为函数值传回main函数。
【1】longs=0,t=0;【1】t=t/10;
【编程】编写函数voidfun(char*tt,intpp[]),统计在tt所指的字符串中'a'到'z'26个小写字母各自出现的次数,并依次放在pp所指的数组中。
例如,当输入字符串abcdefgabcdeabc后,程序的输出结果应该是:
33322110000000000000000000
for(i=0;i<26;i++)
pp[i]=0;
if(*tt>=′a′&&*tt<=′z′)
pp[*tt-′a′]++;
15◆◆◆◆◆◆◆◆◆◆◆◆◆◆
【填空】下列给定程序中已建立了一个带头结点的单向链表,在main函数中将多次调用fun函数,每调用一次,输出链表尾部结点中的数据,并释放该结点,使链表缩短。
【1】next【2】t->data 【3】t
将字符串中的字符逆序输出,但不改变字符串中的内容。
例如,若字符串为abcd,则应输出:
dcba。
【答案】【1】voidfun(char*a)
【2】printf("%c",*a);
比较字符串的长度,(不得使用C语言提供的求字符串长度的函数),函数返回较长的字符串。
若两个字符长度相同,则返回第一个字符串。
例如,输入beijingshanghai(为回车键),函数将返回shanghai。
for(i=0;s[i]!
for(j=0;t[j]!
=′\0′;j++);
if(i>=j)
returns;
else
returnt;
17◆◆◆◆◆◆◆◆◆◆◆◆◆◆
【填空】下列给定程序的功能是:
调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回1,失败时返回0。
在复制的过程中,把复制的内容输出到屏幕。
主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。
【答案】【1】"r"【2】fs 【3】ft
将长整型数中各位上为偶数的数依次取出,构成一个新数放在t中。
例如,当s中的数为87653142时,t中的
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1