编程题:
26.请编写一个函数fun,它的功能是:根据以下公式求π的值(要求满足精度0.0005,即某项小于0.0005时停止迭代):
程序运行后,如果输入精度0.0005,则程序输出为3.14…。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
#include
#include
#include
void fun(char *s, char t[])
{
}
main()
{
char s[100], t[100];
clrscr();
printf(“\nPlease enter string S:”);
scanf(“%s”, s);
fun(s, t);
printf(“\nThe result is : %s\n”, t);
}
42.下列程序定义了NxN的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][N],int n),该函数的功能是:使数组右上半三角元素中的值乘以m。例如:若m的值为2,a数组中的值为:,则返回主程序后a数组中的值应为:。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
#include
#include
#include
#define N 5
void fun ( int a[][N], int m )
{
}
main ( )
{
int a[N][N], m, i, j;
clrscr();
printf(“**** The array *****\n”);
for ( i=0; i { for( j=0; j { a[i][j] = rand()%20; printf(“%4d”, a[i][j] ); } printf(“\n”); } do { m = rand()%10 } while ( m>=3 ); printf(“m=%4d\n”, m); fun ( a ,m ); printf (” THE RESULT\n”); for ( i=0; i { for ( j=0; j printf( “%4d”, a[i][j] ); printf(“\n”); } } 改错题: 80.下列给定程序中函数fun的功能是:求出以下分数序列的前n项之和。 2 3 5 8 13 21 - - - - - - 1, 2, 3, 5, 8, 13,… 和值通过函数值返回main函数。例如,若n=5,则应输出8.391667。 请改正程序中的错误,使它能计算出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include #include /********found********/ fun (int n ) { int a, b, c, k ; double s; s = 0.0; a = 2; b = 1; for ( k = 1; k <= n; k++ ) { /********found********/ s = s + (Double) a / b ; c = a; a = a + b; b = c; } return s; } main( ) { int n = 5 ; clrscr( ) ; printf(“\nThe value of function is :%lf\n”, fun ( n ) ) ; } 81.下列给定程序中,函数fun的功能是:根据整型形参n,计算如下公式的值。 1 1 1 A1=1,A2= - ,A3= -,…,An= - 1+A1 1+A2 1+An-1 例如,若n=10,则应输出0.617977。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include #include /********found********/ int fun(int n) { float A=1;int i; /********found********/ for(i=2;i A=1.0/(1+A); return A; } main( ) { int n; clrscr(); printf(“\nPlease enter n: “); scanf(“%d”, &n ); printf(“A%d=%f\n”, n, fun(n) ); }