还剩17页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
套题10学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是函数返回指定学号的学生数据,指定的学号在主函数中输入若没找到指定学号,在结构体变量巾给学号置空串,给成绩置-1,作为函数值返回用于字符串比较的函数是str c股STREC funSTREC*a,char*bint ip=0;#STREC h;fori=0;iN;i++ifstrcmpa[i].num b==O/{h=a[ij;;P=l}ifp==0{h.num
1.0/down;return sum;套题57请编写函数fun,它的功能是求出能整除形参x且不是偶数的各整数,并按从小到大的顺序放在PP所指的数组中,这些除数的个数通过形参n返回例如,若x中的值为:35,则有4个数符合要求,它们是1,5,7,35void funint x,int pp[],int*nint i,j=0;fori=l;i=x;i++uoid Funchars[],char c{int i,j;fori=0,j=O;s[i]=1\0;i++ifs[i]=cs[j**]=s[i];s[j]=\0B;我自己的答案套题91请编写函数fun,其功能是计算并输出下列多项式的值:111S=1+---------+------------+・・•+-------------------1*21*2*3i*2*3*---50例如,在主函数中从键盘给n输入50后,输出为s=l.718282注意要求n的值大于1但不大于100,▲I•I•••答案方法double Funint n〈int i;/署定义、为双精度型,并给其赋初值为double sun=
0.0,tmp=
1.0;sum tmpJ.*/ifn=1||n1O0printfCInput nn1Jn=100:;scanf Rd\n;Fori=1;i=n;i++〈/嘴角中间变量求出至的累加值关/tnp*=i;tup1Ijn;/强过;计算出所有多项式之和关/sun+=
1.Wtmp sum+=
1.0/tnp}/噬回结果关/return sun;我的虽然题目上要求n的范围了,标准答案里也有,但是显然只要执行double Funint n结果对了就有分数,所以自己的也可行关键是t必须定义为double型!!int i;double s=
0.0,t=
1.O;Fori=1;i=n;i++s=s+
1.8/t;}return s;套题90请编写函数fg,其功能是计算并输出下列多项式的值s「i+%+%+%+%+……+%例如,在主函数中从键盘给n输入15,则输出为3=
2.7182820我自己的答案double Funintnint i;double t=
1.0,s=
1.0;iFn=1||n=10O,输入符合范围要求的printF n:\n;scanFC^d-\n;}Fori=1;i=n;i+*千万注意了!.八;s=s+1return s;Scanf里不能有套题86学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是把分数最高的学生数据放在b所指的数组中,注意分数最高的学生可能不止一个,函数返回分数最高的学生人数typedef struct〈char num
[10];int s;}STREC;int FunSTREC*a,STREC*bint i,j=0;int max=a
[0].s;Fori=1;iN;i+*ifa[i].smaxmax=a[i].s;Fori=8;iN;i++iFa[i].s==max;b[j**]=a[i]return j;经过答案以后改正的方法套题85假定输入的字符串中只包含字母和*号请编写函数fun,它的功能是使字符串中尾部的*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,贝I什么也不做,字符串中间和前面的*号不删除例如,字符串中的内容为****A*BC*DEF*G*******,若n的值为4,删除后,字符串中的内容应当是****A*BC*DEF*G****;若n的值为7,则字符串中的内容仍为****A*BC*DEF*G*******n的值在主函数中输入在编写函数时,不得使用C语言提供的字符串函数uoid Funchar*a,int nchar b
[81];int i=0,j=0,s=0,k,t=0;while a[i]t++;i++;;i—断祥连续字while a[i]==1*s++if sn;串尾迂〈For k=0;kn;k++计辜while i=-1b[j]=;i=0j=j;1〈while j=-1a[i]=\0B;答案的方法如上撷83请编写一个函数void fun char a[],char b[],intn,其功能是删除一个字符串中指定下标的字符其中,a指向原字符串,删除指定字符后的字符串存放在b所指的数组中,n巾存放指定的下标例如,输入一个字符串World,然后输入3,则调用该函数后的结果为Word我自己的方法uoid Funchar a[]char b[]intn99int i,j=0;Fori=0;iLEN;i++iFa[i]=a[n]b[j^]=a[i];b[j]=i\0;Fori=0;b[i]=i\0i;i++a[i]=b[i];套题82请编写函数fun,它的功能是求出ss所指字符串中指定字符的个数,并返回此值例如,若输入字符串:123412132,输入字符为1,则输出3千万注意!!ilen!!!而不是数组总数,否则没分套题81请编写函数fun,函数的功能是统计一行字符串中单词的个数作为函数值返回一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格隔开,一行的开始没有空格我自己的啊!!!没分!答案的int Funchar*s{int i=1,j=0;;jH,while*sifi==1*s=32if*s==32;i=1return j;套题80请编写函数fun,函数的功能是统计各年龄段的人数N个年龄通过调用随机函数获得,并放在主函数的age数组中;要求函数把至9岁年龄段的人数放在d
[0]中,把10至19岁年龄段的人数放在d[l]中,把20至29岁年龄段的人数放在d
[2]中,其余依此类推,把100岁含100以上年龄的人数都放在d
[10]中结果在主函数中输出自己的答案错误没分数呀!!!答案的uoid Fun int*a,int*b{int i;Fori=0;iM;i+*关初始化里的每一个元素b[i]=0b HFori=0;iN;i++b[*a+i/10101O:*a+i/1O]++;套题79请编写函数fun,函数的功能是删去一维数组中所有相同的数,使之只剩一个数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数例如,一维数组中的数据是2223445666677899101010o删除后数组中的内容应该是2345678910o答案的方法,自己是在是,一不会啊int Funint a[]intn{int i,j,x;9Fori=0;in-1;i++Forj=i+1;jn;j++ifa[j]==a[i]{Forx=j+1;xn;x+*a[x-1]=a[x];;n-returnn;套题78请编写函数fun,函数的功能是将M行N列的二维数组中的字符数据按列的顺序依次放到一个字符串中例如,二维数组中的数据为W WW WS SSSH H HH则字符串中的内容应是WSHVSHWSHWSHo我自己的方法:uoid Funchar*s[N],char*bint i,j;int m=0;Forj=0;jN;j+*Fori=0;iM;i**b[m+*]=s[i][j];b[n]=\0,;套题77请编写函数fun,函数的功能是移动字符串中的内容,移动的规则如下把第1到第的字符平移到字符串的最后,把第m+1到最后的字符移到字符串的前部例如,字符串中原有的内容为ABCDEFGHIJK,m的值为3,则移动后字符串中的内容应该是DEFGHIJKABCo我自己的答案uoid Funchar*w,int mcharb
[81];int i,j=0;Fori=m;w[i]=i\0,;i*+b[j++]=w[i];Fori=0;im;i*+b[j++]=w[i];b[j]=B\0;fori=0;b[i]=,\0,;i++w[i]=b[i];套题76请编写函数fun,函数的功能是移动一维数组中的内容;若数组中有n个整数,要求把下标从到P含p,P小于等于n-l的数组元素平移到数组的最后例如,一维数组中的原始内容为:1,2,4,5,6,7,8,9,10;p的值为3移动后,一维数组巾的内容应为:5,6,7,8,9,10,1,2,3,4我自己的答案uoid Funint*w,int pint nyint i,j=0;int b
[81];Fori=p+1;in;i++b[j++]=w[i];Fori=0;i=p;i++注意第一个循环的条件不能写b[j++]=w[i];b[j]=i\0i;uw[i]!=,\0,vFori=0;b[i]=0;i+*至于为什么,我也不清楚w[i]=b[i];套题75请编写函数fun,函数的功能是将放在字符串数组中的M个字符串每串的长度不超过N,按顺序合并组成一个新的字符串例如,字符串数组中的M个字符串为AAAA BBBBBBBCC则合并后的字符串的内容应是AAAABBBBBBBCCo提示strcat a,b的功能是将字符串b复制到字符串a的串尾上,成为一个新串■■J Juoid Funchar a[M][N],char*b{int i,j,m=0;Fori=0;i180;i++;b[i]=0Fori=8;iM;i++Forj=0;a[i][j]=\0,;j**b[n^]=a[i][j];;、b[m]=\0i这是参考答案后改进的自己的答案,一定注意给b数组赋初值!!!套题74请编写函数fun,函数的功能是将M行N列的二维数组中的数据按列的顺序依次放到一维数组中例如,二维数组中的数据为333333334444444455555555则一维数组中的内容应是334455334455334455334455uoid Funint*s
[10],int*b,int*n,int mm,int nnint i,j;Forj=8;jnn;j++Fori=0;ifin;i*+b[*n**]=s[i][j];b[*n]=\0;我自己的答案,,注意是按列存入新数组!!!!套题72请编写一个函数,用来删除字符串中的所有空格例如,输入“asd afaa z67,则输出为“asdafaaz67”我自己的方法为什么不对啊!!答案的方法理解试试■■■,■■,■uoid Funchar*strint i,j;fori=0;*str+i;i++iF*str+i==32〈;Forj=i*1*str*j;j*+*str+j-1=*str+j;*str+j-1=O;i=0;套题71程序定义了NXN的二维数组,并在主函数中自动赋值请编写函数fun,函数的功能是使数组右上三角元素中的值乘以m例如若期值为2,a数组中的值为|197||21814|a=|238|则返回主程序后a数组中的值应为|2616||456||45121自己的方法uoid funinta[][N],int mint i,j;Fori=0;iN;i++Forj=N-1;j=i;j a[i][j]=a[i][j]*m;套题70N名学生的成绩已在主函数巾放入一个带头节点的链表结构中,h指向链表的头节点请编写函数fun,它的功能是找出学生的最高分,由函数值返回答案的方法,好好记住套题60请编写一个函数fun,它的功能是将ss所指字符串中所有下标为奇数位置上的字母转换成大写若该位置上不是字母,则不转换例如,若输入abc4EFG”,则应输出aBc4EFGuoid Funchar*ss int i,n=8;char*p;P=ss;while*p++=i\0,Fori=1;in;i+=2iFss[i]=a,ss[i]〈=N我自己的方法uoid Funchar*ssSS++;while*ssif*ss=a1*ss=,zB*ss=*ss-32;ss+=2;套题66假定输入的字符串中只包含字母和*号请编写函数fun,它的功能是将字符串中的前导*号全部移到字符串的尾部函数fun中给出的语句仅供参考例如,字符串中的内容为5*******A*BC*DEF,移动后,字符串中的内容应当是在编写函数时,不得使用C语言提供的字符串函数A BCDEF G**************uoid Funchar*aint i,j,s,k=0;charb
[81];Fori=0;a[i]==;i++k++;;Forj=O;a[i]=\0i++b[j**]=a[i];Fors=0;sk;s++b[j]=,\0;Fori=0;b[i]=,\8,;i*+a[i]=b[i];可真是费劲哪~~编写函数fun,它的功能是求Fibonacci数列中大于s的最小的一个数,结果由函数返回其中Fibonacci数列Fn的定义为FO=O,Fl=lFn=Fn-l+Fn-2伤怙n.出u=innnn寸.的知楂兴i.1^Q
7.int Funintsint a
[81]i;9;a
[0]=0;a
[1]=1Fori=2;;i++a[i]=a[i-1]+a[i-2];ifa[i]sbreak;return a[i];}、套题47编写函数fun,它的功能是利用以下所示的简单迭代方法求方程cos x-x=0的一个实根Xn+1=cosXn迭代步骤如下1取xl初值为
0.0;2xOxl,把xl的值赋给x0;3xl=cosx0,求出一个新的xl;4若xO-xl的绝对值小于
0.000001,执行步骤5,否则执行步骤2;5所求xl就是方程cosx-x=0的一个实根,作为函数值返回程序将输出结果R皿t=
0.739085■■J■■■■■«Float FunFloatx1x0;9x1=
0.O;whileFabsx0-x1=
0.000001{X0=x1;;X1=COSX0}return x1;套题37请编写函数fun,函数的功能是实现即A+A,即把矩阵A加上A的转置,存放在矩阵B巾计算结果在main函数巾输出例如,输入下面的矩阵其转置矩阵为|123||147||456||258||789||369|程序输出|26101|61014||101418|uoid Funint a
[3]
[3],int b
[3]
[3]int i,j;Fori=0;i3;i++Forj=0;j3;j*+b[i][j]=a[i][j]*a[j][i];ifx%i==0i%2!=0;PP[j]=i;J++套题32编写一个函数,从传入的nuir个字符串找出最长的一个字符串,并通过形参指针max传回该串地址注意用****作为结束输入的标志funchar*a
[81]int num,char**max/{int i;*max=a[O];for i=l;inum;i++if strlena[i]strlen*max*max=a[i];此题注意字符串输入是以回车为分隔符的!!!,这个是答案的方法,自己gets的方法太麻烦了
①一
①套题75请编写函数fun,函数的功能是将放在字符串数组中的M个字符串每串的长度不超过N,按顺序合并组成一个新的字符串例如,字符串数组中的M个字符串为AAAABBBBBBB CC则合并后的字符串的内容应是AAAABBBBBBBCCo提示strcat a,b的功能是将字符串b复制到字符串a的串尾上,成为一个新串注意部分源程序存在文件prog,c中void funchara[M][N]char*b/int ijd=O;zfori=0;i100;i++b[i]=0;〈fori=0,d=0;i3;i++forj=0;*a[i]+j;j++*b+d=*a[i]+j;d++;套题14请编写一个函数int£unint*与int t,int*k,用来求出数组的最大元素在数组中的下标,用k返回例如,输入如下整数876675896101301401980431451777则输出结果为6,980int funint*s,int t,int*kint i;*k=0;fori=0;it;i++ifs[i]s[*k]*k=i♦’虽然是我自己的答案,但是有分数就是王道J7A*套题48函数fun的功能是将s所指字符串中ASCII值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中例如,若s所指字符串中的内容为ABCDEFG12345”,其中字符B的ASCII码值为偶数、…、字符2的ASCII码值为偶数、…都应当删除,其它依次类推最后t所指的数组中的内容是ACEG135”void funchar*s,char t[]{int iJ=0;fori=0;s[i]!=\0,;i++ifs[i]%2!=0t[j]=s[i];;J++}tUl=,\O;这个千万不能丢啊!!套题43已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中请编写函数fun,函数的功能是找出成绩最高的学生记录,通过形参返回主函数规定只有一个最高分已给出函数的首部,请完成该函数!!!不用写返回值,因为函数传入的是指针套题88程序定义了NX蹴二维数组,并在主函数中自动喷值请编写函数£uninta[][N],函数的功能是使数组左下三角元素中的值全部置成口例如啜组中的值为|197||097|a=I238|则返回主程序后啜组中的值应为|8||456||000|注意部分源程序存在文件PR0G
1.C中哇哈哈,第一次写的跟答案一模一样滴!!套题13请编写一个函数unsigned fun unsigned w,w是一个大于10的无符号整数,若w是nn2位的整数,函数求出w的低n-l位的数作为函数值返回例如:w值为5923,则函数返回923;w值为923,则函数返回23偶自己的答案可真是费劲哪;unsigned Fununsigned w{int i,down=1;unsigned sp;p=w/10Fori=0;p=0;i++9;p=p/10dovjn=doun*18;s=w-w/down*down;return s;答案的方法unsigned£ununsigned答案注释/*注由于unsigned型整数在0-65535w{i£w=10000return w»10000;这间,只要它大于10000则对10000求余即得出后面i£w=1000return w%1000;4位,否则如果大于1000则对1000求余得出后3位i£w=100return w«100;return w%10;数,这样一层一层往小的判断由于retum的作用除}了返回值以外,还有当执行到return时就跳出该程序,所以可以连续的用if语句*/套题53编写函数fun,它的功能是计算s=In功能In2+In3+……+Inm厂
0.5,s作为函数值返回在C语言中可调用logn函数求Innlog函数的引用说明是double logdoubleX例如,若尚值为20,fun函数值为:
6.506583double Funint m这道题开始也没写出来,原因是“八0・5”的意int i;思没搞清楚,double s=0;其实就是平方根的意思而且注意在语言里,CFori=1;i=m;i++八的意思是异或!s=s+logi;s=sqrts;returns;套题15请编写一个函数fun,它的功能是将一个数字字符串转换为一个整数不得调用C语言提供的将字符串转换为整数的函数例如,若输入字符串-1234〃,则函数把它转换为整数值-1234o答案法,自己的行不通、、、;^、套题96函数fun的功能是将两个两位数的正整数a、b合并形成一个整数放在c中合并的方式是将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的十位和千位上例如,当a=45,b=12时,调用该函数后,c=2514uoid Funinta,int b long*c9int ij mn;999i=a/10;j=a%1O;m=b/10;n=b%10;*c=n*1O00+j*100+n*10+i*1;套题106请编写一个函数fun,它的功能是将一个表示正整数的数字字符串转换为一个整数不得调用C语言提供的将字符串转换为整数的函数例如,若输入字符串〃1234”,则函数把它转换为整数值1234函数fun中给出的语句仅供参考自己的方法为什么行不通呢??long funchar*p/*以下代码仅供参考列int ijen;为串长*/long lenlong x=0;len=strlenp;/*以下完成数字字符串转换为一个数字注意字符不是数字O0*/fori=0;ilen;i++x=x+p[i]*m;m=m*10;return x;答案的方法long Funchar*p/*以下代码仅供参卷匕为串长*/int iJen;/*lenlongx=0;len=strlenp;/*以下完成数字字符串转换为一个数字注意字符不是数字•1Q*/〈whilelen―if*p==---;i=1else ifCp==-i=8;elsex=x*10+*p-01;;P**if i==1||x==0{prints,请输入正整数!\niB;exit;else returnx;套题105请编写函数fun,其功能是将一组得分中,去掉一个最高分和一个最低分,然后求平均值,并通过函数返回函数形参a指向存放得分的数组,形参n中存放得分个数n2o例如,若输入
9.
98.
57.
68.
59.
39.
58.
97.
88.
68.4十个得分,则输出结果为
8.687500我自己的答案,为什么执行结果没分!!答案答案double fundoublea[],int ndoublemiib max,s,avg;int i;min=a
[0];max=a
[0];s=
0.0;avg=
0.0;for i=0;in;i++i£mina[i]min=a[i];i£maxa[i]max=a[i];sf[i];}avg=s-min-max/n-2;return avg;}套题104请编函数fun,其功能是将一个数字字符串转换成与其面值相同的长整型整数可调用strlen函数求字符串的长度例如在键盘输入字符串2345210,函数返回长整型数2345210自己的方法依然行不通啊、、看答案把long£unchar*s{int i’n;出long r;a=0;r=O;n=strlens;£ori^3;in;i++aKs+i78;十r*10+a;return r;}套题103请编写函数fun,其功能是将形参s所指的字符串放入形参a所指的字符数组中,使a中存放同样的字符串说明不得使用系统提供的字符串函数uoid Funchar*a,char*s{int i;Fori=O;*s=i\0i;i++〈a[i]=*s;;s**};a[i]=NULL套题102请编写函数fun,函数的功能是查找x在s所指数组中下标的位置作为函数值返回,若x不存在,则返回-1我自己的答案,哇哈哈〜〜套题101请编写函数fun,其功能是统计S所指字符串中的数字字符个数,并作为函数值返回例如,s所指字符串中的内容是2def35adh253kjsdf7/kj8655x,函数fun返回值为11我自己的答案,哇哈哈注意数字的ASCLL码范围〜〜〜套题100请编写函数fun,函数的功能是判断字符串是否为回文?若是,函数返回1,主函数中输出YES;否则返回0,主函数中输出N0回文是指顺读和倒读都一样的字符串例如,字符串LEVEL是回文,而字符串123312就不是回文・•••••••・・・■■int Funchar*str inti,j,len,p=1;len=strlenstr;j=len-1;Fori=0;i=len/2;i++,j―ifstr[i]=str[j];P=0ifP==1return1;else return0;,我自己的答案〜〜〜〜答案方法■■int Funchar*str/哧int count=strlenstr,i;Fori=0;i=count/2;i++ifstr[i]=str[count-i-1]旦,return0;break;}/«—关没有发现不同,则返return1R套题99请编写一个函数fun,其功能是将ss所指字符串中所有下标为奇数位置上的字母转换成大写若该位置上不是字母,则不转换例如,若输入abc4EFG〃,则应输出aBc4EFG〃我自己的答案uoidFunchar*ssinti;fori=1;ss[i]=\0,;i+=2ifss[i]=iaiss[i]=iz ss[i]=ss[i]-32;套题98请编写函数fun,它的功能是求出1到1000之间能被7或11整除、但不能同时被7和H整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数a、A■—JI%I•I I自己的答案L uoidFunint*a,int*nint i;*n=0;Fori=1;i=1O00;i++iFiV==0i%11=0||iV=0i%11==0a[*n*+]=i;套题97函数fun的功能是将两个两位数的正整数a、b合并形成一个整数放在c中合并的方式是将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的百位和个位上例如,当a=45,b=12时,调用该函数后,c=5142uoid Funinta intblong*c99{inti,j mn;y9i=a/1O;j=a%10;m=b/10;n=b%10;*c=j*1000+m*100+i*10+n;套题93假定输入的字符串中只包含字母和*号请编写函数fun,它的功能是删除字符串中所有的*号在编写函数时,不得使用C语言提供的字符串函数例如,字符串巾的内容为****A*BC*DEF*G*******,删除后,字符串中的内容应当是ABCDEFGo答案的方法,我的行不通套题92编写函数fun,函数的功能是从s所指的字符串中删除给定的字符同一字母的大、小写按不同字符处理若程序执行时输入字符串为turbo cand bor landc++从键盘上输入字符n,则输出后变为turbo cad borladc++。
个人认证
优秀文档
获得点赞 0