c语言编程函数补充上机题,2011年计算机二级C语言上机操作题及答案(10)
/********found********/
void?fun(char??*s,?*t1,?*t2,?*w)
{
int??i;
char??*p,?*r,?*a;
strcpy(w,?s);
while?(*w)
{
p?=?w;
r?=?t1;
/********found********/
while?(r)
if?(*r?==?*p)
{
r++;
p++;
}
else
{
break;
}
if?(*r?==?’\0’)
{
a?=?w;
r?=?t2;
while?(*r)
{
*a?=?*r;
a++;
r++;
}
w?+=?strlen(t2);
}
else
{
w++;
}
}
}
main()
{
char??s[100],?t1[100],?t2[100],?w[100];
printf("\nPlease?enter?string?s:");
scanf("%s",?s);
printf("\nPlease?enter?substring?t1:");
scanf("%s",?t1);
printf("\nPlease?enter?substring?t2:");
scanf("%s",?t2);
if?(strlen(t1)?==?strlen(t2))
{
fun(s,?t1,?t2,?w);
printf("\nThe?result?is?:%s\n",?w);
}
else
{
printf("Error?:strlen(t1)!=strlen(t2)\n");
}
}
第1處:void?fun(char?*s,*t1,*t2,*w)應(yīng)改為void?fun(char?*s,char?*t1,char?*t2,char?*w)
第2處:while(r)應(yīng)改為while(*r)
編程題
編寫函數(shù)fun,它的功能是:利用以下所示的簡單迭代方法求方程式cos(x)-x=0的一個(gè)實(shí)根。
迭代步驟如下:
(1)取x1初值為0.0;
(2)x0=x1,把x1的值賦給x0;
(3)x1=cos(x0),求出一個(gè)新的x1;
(4)若x0-x1,的絕對(duì)值小于0.000001,則執(zhí)行步驟(5),否則執(zhí)行步驟(2);
(5)所求x1就是方程cos(x)-x=0的一個(gè)實(shí)根,作為函數(shù)值返回。
程序?qū)⑤敵鼋Y(jié)果Root=0.739085。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語句。
試題程序:#include?#include?#include?float?fun()
{
}
main()
{
FILE?*out;
float?f?=?fun();
printf("Root=%f\n",?f);
out?=?fopen("out.dat",?"w");
fprintf(out,?"%f",?f);
fclose(out);
}
答案是:
float?fun()
{
float?x1=0.0,x0;
do
{
x0=x1;
x1=cos(x0);
}
while(fabs(x0-x1)>=le-6);
return?x1;
}
總結(jié)
以上是生活随笔為你收集整理的c语言编程函数补充上机题,2011年计算机二级C语言上机操作题及答案(10)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux xorg.0.log,Red
- 下一篇: java jframe添加面板_JFra