2. 改错题
下列给定程序中,函数fun()的功能是:求S的值。设
S=(22/(1*3))*(42/(3*5))*(62/(5*7))* …*(2k)2/((2k-1)*(2k+1))
例如,当k为10时,函数的值应为1.533852。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
#include <math.h>
/**********************found***********************/
fun(int k)
{ int n; float s, w, p, q;
n=1;
s=1.0;
while(n<=k)
{ w=2.0*n;
p=w-1.0;
q=w+1.0;
s=s*w*w/p/q;
n++;
}
/**********************found***********************/
return s
}
void main()
{ system("CLS");
printf("%f\n ",fun(10));
}
3. 编程题
请编写函数fun(),该函数的功能是:计算并输出
S=1+(1+20.5)+(1+20.5+30.5)+…+(1+20.5+30.5+…+n0.5)
例如,若主函数从键盘给n输入20后,则输出为s=534.188884。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include <math.h>
#include <stdio.h>
double fun(int n)
{
}
void main()
{
int n;
double s;
printf("\n\nInput n: ");
scanf("%d",&n);
s=fun(n);
printf("\n\ns=%f\n\n",s);
}
谢谢!!在线等
1.填空题
请补充函数fun,该函数的功能是比较字符串str1和str2的大小,并返回比较的结果。
例如: 当str1="cdef",str2="cde"时,函数fun()返回">"。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
#define N 80
char *fun(char *str1,char *str2)
{
char *p1=str1,*p2=str2;
while(*p1&&*p2)
{
if(【1】)
return "<";
if(【2】)
return ">";
p1++;
p2++;
}
if(*p1==*p2)
return "==";
if(*p1==【3】)
return "<";
else
return ">";
}
void main()
{
char str1[N],str2[N];
system("CLS");
printf("Input str1:\n");
gets(str1);
printf("Input str2:\n");
gets(str2);
printf("\n*****the result*****\n");
printf("\nstr1 %s str2",fun(str1,str2));
}
谢谢!