if(strcmp(a[i].num,b)==0)
str=a[i];
returnstr;
第17套
1下列给定程序的功能是:
调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回1,失败时返回0。
在复制的过程中,把复制的内容输出到屏幕。
主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。
答案:
(1)"r"
(2)fs(3)ft
2当s中的数为87653142时,t中的数为8642
答案:
(1)if(d%2==0)
(2)s/=10;
3当a=45,b=12时,调用该函数后,c=5142
答案:
voidfun(inta,intb,long*c)
{*c=b%10+(a/10)*10+(b/10)*100+(a%10)*1000;}
第18套
1如,N=3,M=2,有下列矩阵
123
456
789
程序执行结果为
001
004
007
答案:
(1)i++
(2)m(3)m
2若high的值为100,则函数的值为732
答案:
(1)while((high>=2)&&(n<10))
(2)yes=0;break;
3编写函数fun,其功能是:
利用下面的简单迭代方法求方程cos(x)-x=0的一个实根。
xn-1=cos(xn)
迭代步骤如下:
(1)取x1初值为0.0
(2)x0=x1,将x1的值赋给x0
(3)x1=cos(x0),求出一个新的x1
(4)若x0-x1的绝对值小于0.000001,执行步聚(5)否则执行步聚
(2)
(5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回
程序将输出结果Root=0.739086
答案:
doublefun()
{doublex0,x1;
x1=0.0;
do
{x0=x1;x1=cos(x0);
}while(fabs(x0-x1)>=1e-6);
returnx1;
}
第19套
1如,a所指变量中的学号、姓名和三门课的成绩依次是:
10001、“ZhangSan”、95、80、88,则修改后输出b中的数据应为:
10002、“LiSi”、95、80、88
答案:
(1)a
(2)b.name(3)score[i]
2下列给定程序中函数fun的功能是:
删除s所指字符中所有的小写字母c
答案:
(1)s[j++]=s[i];
(2)s[j]='\0'
3如,字符串中的内容为:
“******A*BC*CEF*G****”,移动后,字符串中的内容应当是“A*BC*DEF*G***********”。
在编写函数时,不得使用C语言提供的字符串函数
答案:
voidfun(char*a)
{inti=0,n=0;
char*p;p=a;
while(*p=='*')/
{n++;p++;}
while(*p)/
{a[i]=*p;i++;p++;}
while(n!
=0)
{a[i]='*';i++;n--;}
a[i]='\0';}
第20套
1从键盘输入若干行字符串(每行不超过80个字符),写入文件myfile4.txt中,用-1作字符串输入结束的标志,然后将文件的内容显示在屏幕上。
文件的读写分别由函数ReadText和WriteText实现
答案:
(1)*fw
(2)str(3)str
2当s中的数为7654321时,t中的数为7531
答案:
(1)voidfun(longs,long*t)
(2)sl=sl*10;
3当a=45,b=12时,调用该函数后,c=1524
答案:
voidfun(inta,intb,long*c)
{*c=a/10+(b%10)*10+(a%10)*100+(b/10)*1000;}
第21套
1若N=3,有下列矩阵
123
456
789
操作后应为:
741
852
963
答案:
(1)0
(2)j--(3)j
2当n的值为5时,函数值应为10.407143
答案:
(1)doublef(doublex)
(2)returns;
3若m的值为20,则fun函数值为6.506583
答案:
doublefun(intm)
{inti;
doubles=0.0;
for(i=1;i<=m;i++)
s=s+log(i);returnsqrt(s);
}
第22套
1下列给定程序中,函数fun的功能是:
在形参ss所指字符串数组中,查找含有形参substr所指子串的所有字符串,并输出,若没找到则输出相应信息。
ss所指字符串数组中共有N个字符串,且串长小于M。
程序中库函数strstr(s1,s2)的功能是在s1串中查找s2子串,若没有,函数值为0;若有,函数值为非0
答案:
(1)N
(2)substr(3)0
2若给主函数中的变量x1、x2、x3、分别输入15,11,2,则输出结果应当是330
答案:
(1)fun(intx,inty,intz)
(2)returnj;
3字符串中的内容为“*****A*BC*DEF*G*******”删除后,字符串中的内容应当是“A*CB*DEF*G”
答案:
voidfun(char*a,intn,inth,inte)
{inti,j=0;
for(i=h;i a[j++]=a[i];a[j]='\0';}
第23套
1下列给定程序中,函数fun的功能是:
计算一个带头结点的单向链表中各结点的数据域中数值之和,结果作为函数值返回。
答案:
1)data
(2)next(3)head
2当s所指字符串中的内容为“abcdabfab”,t1所指子串中的内空为“ab”,t2所指子串中的内容为“99”时,在w所指的数组中的内容应为“99cf99f99“
答案:
(1)while(*r)
(2){*a=*r;a++;r++;}
3当s所指字符串中的内容为“ABCDEFGHIJK”时,在t所指数组中的内容应是“BDFHJ”
答案:
voidfun(char*s,chart[])
{inti,j=0,k=strlen(s);
for(i=1;i t[j++]=s[i];
t[j]='\0';}
第24套
1a所指变量s中的学号、姓名和3门课的成绩依次是:
10001、“ZhangSan“、95、80、88、,修改后输出t中的数据应为:
10002、“LiSi“、96、81、89
答案
(1)structstudent*
(2)a->score[i](3)a
2下列给定程序中函数fun的功能是:
从N个字符串中找出最长的串,并将其地址作为函数值返回。
各字符串在主函数中输入,并放入一个字符串数组中
答案
(1)char*fun(char(*sq)[M])
(2)returnsp;
3当a=45,b=12,调用该函数后c=2415
答案
voidfun(inta,intb,long*c)
{*c=a%10+(b/10)*10+(a/10)*100+(b%10)*1000;}
第25套
1若N=3,有下列矩阵
123
456
789
交换后为:
321
6