C语言改错题,根据题目修改图中错误的源程序代码?

C语言改错题,根据题目修改图中错误的源程序代码?,第1张

按照题目要求改完的两个程序如下(改动的地方见注释)

第一个程序

#include<stdio.h>

void main()

{

float n,f

float x1=1,x2,temp//这里x1初始化为1,因为要先给x1赋值

printf("Enter a positive number:")

scanf("%f",&n)

while(1)

{

x2=(x1+n/x1)/2//这里这句移到这里,因为要先给x2赋值

temp=x1-x2

if(temp<0)

temp=-temp

if(temp<1e-5)

break

x1=x2

}

printf("The square root of %5.2f is %8.5f\n",n,x2)

}

第二个程序

#include<stdio.h>

void main()

{

float n,f

float sqroot(float n)

printf("Enter a positive number:")

scanf("%f",&n)

f=sqroot(n)//这里接收函数返回值,因为函数有返回值

printf("The square root of %5.2f is %8.5f\n",n,f)//这里把x2改成f,因为x2未定义

}

float sqroot(float n)

{

float x1=1,x2,temp//这里x1初始化为1,因为x1要先赋值

for()//这里去掉temp>1e-5,因为for循环体中有判断了

{

x2=(x1+n/x1)/2//这里这句移到这里,因为x2要先赋值

temp=x1-x2

if(temp<0)

temp=-temp

if(temp<1e-5)

break

x1=x2

}

return x2

}

错误点:

第1行,末尾不需要“;”号;

2.  第2行,“mian”拼写错误,改为“main”

3.  第3行, 同类型局部变量定义之间用","分隔,即"int ymd"改为"int y,m,d";

4.  第5行,变量名书写错误,且scanf函数中的读入变量应为指针型,即"scanf("%d%d%d",yy,mm,dd)"改为“scanf("%d%d%d",&y,&m,&d)”

5. 第6行,变量名书写错误,即“printf("这三个整数是:%d, %d, %d\n",yy,mm,dd)”改为“printf("这三个整数是:%d, %d, %d\n",y,m,d)”。

int main(void){

    int i,j,s=1

    for(i=1i<=200i++){

        s=1//这里加一句

        for(j=2j<ij++)

            //if(i/j==0)//这里改如下

            if(i%j==0)

                s=s+j

        if(s==i){

            printf("%d=1",i)

            for(j=2j<ij++)

                //if(i/j==0)//这里改如下

                if(i%j==0)

                    printf("+%d",j)

            printf("\n")

        }

    }

    return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11463077.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存