<7>/*------------------------------------------------------
【程序改错】请在FOUND注释行下一行找出错误,并将正确写法填写到对应空格内。
--------------------------------------------------------
功能:根据整型形参 m,计算某一数据项的值。
y = 1/(100*100)+1/(200*200)+1/(300*300)+ …… +1/(m*m)
例如:若m = 2000,则应输出: 0.000160。
------------------------------------------------------*/
#include
#include
/**********FOUND**********/
fun ( int m )
{
double y = 0, d ;
int i ;
/**********FOUND**********/
for( i = 100, i <= m, i += 100 )
{
d = (double)i * (double)i ;
/**********FOUND**********/
y += 1.0 d ;
}
return( y ) ;
}
main
{
int n = 2000 ;
printf( "
The result is %lf
", fun ( n ) ) ;
}
【程序改错】请在FOUND注释行下一行找出错误,并将正确写法填写到对应空格内。
--------------------------------------------------------
功能:根据整型形参 m,计算某一数据项的值。
y = 1/(100*100)+1/(200*200)+1/(300*300)+ …… +1/(m*m)
例如:若m = 2000,则应输出: 0.000160。
------------------------------------------------------*/
#include
#include
/**********FOUND**********/
fun ( int m )
{
double y = 0, d ;
int i ;
/**********FOUND**********/
for( i = 100, i <= m, i += 100 )
{
d = (double)i * (double)i ;
/**********FOUND**********/
y += 1.0 d ;
}
return( y ) ;
}
main
{
int n = 2000 ;
printf( "
The result is %lf
", fun ( n ) ) ;
}
举一反三
- 下列给定程序中,函数fun的功能是:根据整型参数m,计算如下公式的值。 y=1/(100×100)+1/(200×200)+1/(300×300)+…+1/(m×m) 例如,若m=2000,则应输出0.000160。 #include #include #include double fun(int m) { double y=0,d; int i; for(i=100;i<=m; 【 1 】) { d=【 2 】; y+=1.0/d; } return y; } int main() { int n=2000; system("CLS"); printf(" The result is %lf ",【 3 】); return 0; }
- 【填空题】程序功能:找出大于m的最小素数,并将其作为函数值返回。请找出程序中的4个错误并修改。注意:每个(**********FOUND**********)下面有一个错误。 #include <math.h> #include <stdio.h> int fun( int m) { int i,k; for(i=m+1;;i++) { /**********FOUND**********/ for(k=1;k<i;k++) /**********FOUND**********/ if(i%k!=0) break; /**********FOUND**********/ if(k<i) /**********FOUND**********/ return k; } } main() { int n; scanf("%d",&n); printf("%d ",fun(n)); } (20.0分)
- 有以下程序: #include int fun(int x, int y) { static int m=0, i=2; i+=m+1; m=i+x+y; return m; } main() { int j=1, m=1, k; k=fun(j, m); printf("%d,", k); k=fun(j, m); printf("%d\n", k); } 执行后的输出结果是().
- 下面是一个计算1至m的阶乘并依次输出的程序。请将程序补充完整。 #include double result=1; void fun( int j) { result=result*j; } void main() { int m,i; printf("Please enter an integer:"); scanf("%d", (1) ); for(i=1;i<=m;i++) { fun(i); printf("%d!=%.0f ", (2) ); } }
- <7>/*------------------------------------------------------ 【程序改错】请在FOUND注释行下一行找出错误,并将正确写法填写到对应空格内 -------------------------------------------------------- 功能:编写程序, 求矩阵(3行3列)与5的乘积例如:输入下面的矩阵: 100 200 300 400 500 600 700 800 900 程序输出: 500 1000 1500 2000 2500 3000 3500 4000 4500 ------------------------------------------------------*/ #include void fun(int array[3][3]) { /**********FOUND**********/ int i;j; /**********FOUND**********/ for(i=1; i < 3; i++) for(j=0; j < 3; j++) /**********FOUND**********/ array[i][j]=array[i][j]/5; } main() { int i,j; int array[3][3]={{100,200,300}, {400,500,600}, {700,800,900}}; for (i=0; i < 3; i++) { for (j=0; j < 3; j++) printf("%7d",array[i][j]); printf(" "); } fun(array); printf("Converted array: "); for (i=0; i < 3; i++) { for (j=0; j < 3; j++) printf("%7d",array[i][j]); printf(" "); } }