C期末题库12

这篇博客主要展示了C语言编程中的一些常见错误及其修正方法,包括数据类型选择、条件判断和循环实现等,旨在帮助初学者提高编程技能。
摘要由CSDN通过智能技术生成

1

/*    给定程序中函数fun和funx的功能是:
      用二分法求方程2x3-4x2+3x-6=0的一个根,并要求绝对误差不超过0.001。
      例如,若给m输入 -100,给n输入90,则函数求得的一个根值为2.000。
      请改正程序中的错误,使它能得出正确结果。
      注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。    */

#include <stdio.h>
#include <math.h>
double funx(double x)
{
   return(2*x*x*x-4*x*x+3*x-6);}
double fun(double m, double n)
{
   

/**********ERROR**********/
    int r;
    r=(m+n)/2;

/**********ERROR**********/
    while(fabs(n-m)<0.001)
    {
   if(funx(r)*funx(n)<0) m=r;
    else n=r;
    r=(m+n)/2;
    }
    return r;
}
main()
{
   double m,n, root;
   printf("Enter m n : \n"); scanf("%lf%lf",&m,&n);
   root=fun(m,n);
   printf("root = %6.3f\n",root);
}

【改错1】 错误
【学生答案】
float r;
【参考答案】
double r;

==============================
【改错2】 错误
【学生答案】
while(fabs(n-m)<=0.001)
【参考答案】
while(fabs(n-m)>0.001)

2

/*------------------------------------------------------        
【程序改错】
--------------------------------------------------------

题目:一个已排好序的一维数组,输入一个数number,要求按原来
排序的规律将它插入数组中.

--------------------------------------------------------
注意:不可以增加或删除程序行,也不可以更改程序的结构。
----------------------------------------------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值