鱼C论坛

 找回密码
 立即注册
查看: 1857|回复: 7

有哪些错误 请问 我是新手

[复制链接]
发表于 2013-11-4 09:06:28 | 显示全部楼层 |阅读模式
4鱼币
#include<stdio.h>
#include<stdio.h>
#define A(x,i,j) pow(i-x,i)/(j*i)    //A带参红
void mainf(int n)
{
if (n==1)   
{
  return 1;
}
else if(n==2)
{
  return 2;
}
else return f(n-1)+f(n-2);
}
  if(n==1) return1;
  else if(n==2) return 2;
  else return f(n-1)+f(n-2);
  
   int main()void
{
    int i,j,n=1;
double a,
     s,
     x;
printf("输入一个绝对值小于1的数");
do
scanf(" %lf",&x);
while(fabs(x)<=1);
s=x;
do{
   s+=a;
   n++;
   i=f(n);
   j=f(n-1);
   a=A(x,i,j);
}while(fabs(a)>e-5);
piinf("s=%lf\n",s);
return 0;
}
  

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-11-4 11:45:53 | 显示全部楼层
{:1_1:}LZ的错误可多了  随便看看就有如下:
mainf()定义错了  应该是  f()

int main()void  程序入口  后面的void

最后piinf("s=%lf\n",s);  printf错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-11-4 16:28:54 | 显示全部楼层
看一下是不是你要的结果,我只是让程序正常运行出来了

解答.zip

864 Bytes, 阅读权限: 100, 下载次数: 0

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-11-5 13:12:33 | 显示全部楼层
       一个程序是由人和计算机共同完成的。其中人的优势是具有创造性,劣势是人的计算速度很慢,而且经常出错。计算机的优势是计算速度很快,而且很少出错,劣势是没有创造性。因此好的程序要结合人和计算机两者的优势:即发挥人的创造性和计算机的速度很快,少出错。
       但现实中,我们发现很多情况下,许多人编程正好将两者的劣势完全结合起来:比如:希望人能够在没有编译器等工具帮组下在纸上直接写出正确的能够运行的程序。正是由于这种想法,将原来计算机做的事情强加给人做,并且人凭着本性是不可能做好这件事的。因此常做这类违反人性的事情的程序员也往往在性格上越来越不像人,更像计算机。
       LZ初学,难免犯一些错误,但一定要学会在编译器的帮助下改正程序,而不是想靠人眼识别出错误。因此下次遇到这种情况,至少要把编译器的报错信息帖上来。看不懂也没关系,至少说明了你的方法是正确的。并且以后慢慢看懂这些报错信息就是正确的学习目标。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-11-5 15:48:12 | 显示全部楼层
首先,我看到这样的代码,我首先是晕了,然后是才振作的起来帮你修改代码,最终我修改的代码是这样的:
1.jpg

2.jpg

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-11-5 20:40:11 | 显示全部楼层
QQ截图20131105203953r.png



!^_^!请问这段重新运行的结果是这样的吗?



QQ截图20131105203935.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-11-6 22:08:27 | 显示全部楼层
本帖最后由 friendan 于 2013-11-6 22:10 编辑

这代码是要解决什么题目?还是胡乱写的?希望告知。
我改了下(VC6):
#include <stdafx.h>
#include<stdio.h>
#include<math.h>
#define A(x,i,j) pow(i-x,i)/(j*i)    //A带参红

int f(int n) //既然返回了1或2,返回值类型为int
{
    if (n == 1)
    {
        return 1;
    }
    else if(n == 2)
    {
        return 2;
    }
    else return f(n - 1) + f(n - 2); //从第3项开始,每一项等于前两项之和
}

int main()
{
    int i, j, n = 1;
    double a,s,x;
    printf("输入一个绝对值小于1的数");
    do
        scanf(" %lf", &x);
    while(fabs(x)>=1); //绝对值小于1,不该这样判断:fabs(x) <= 1
    s = x;
    do{
        s += a;
        n++;
        i = f(n);
        j = f(n - 1);
        a = A(x, i, j);
    }
    //while(fabs(a) > e - 5);//哪里来的e
        while(fabs(a) >5);
    printf("s=%lf\n", s);
    return 0;
}

效果截图:
1.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-8-18 09:50:22 | 显示全部楼层
仔细看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-26 07:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表