2008
08-27

#include<stdio.h>


int func(int n)



  int m=0,f=1,i;


  for(i=1;i<=n;i++)


  {


     m+=i*f;


    f=________;


  }


   return m;


}


main()


{


  printf(“m=%d\n”,_____);


}


这个程序的功能是输出表达式: m=1-2+3-4+…+9-10


这个怎么填》有 13 条评论

  1. whos 说:

    第一个是f=f*(-1);但是不明白为什么有两个main()函数,而且n没有定义。

    或许整个程序应该是这样的吧:

    #include<stdio.h>

    main()

    {

      int m=0,f=1,n=10,i;

      printf(“m=”);

      for(i=1;i<=n;i++)

      {

         m+=i*f;

         if(f==1)   

             printf(“%d-”,i);

         else

             printf(“%d+”,i);

         f=f*(-1);

      }

    printf(“\b”);

    }

    输出形式为:m=1-2+3-4+……+9-10

    若程序为:

    #include<stdio.h>

    main()

    {

      int m=0,f=1,n=10,i;

      printf(“m=”);

      for(i=1;i<=n;i++)

      {

         m+=i*f;

         if(f==1)   

             printf(“%d-”,i);

         else

             printf(“%d+”,i);

         f=f*(-1);

      }

       printf(“\b=%d”,m);

    }

    输出形式为:m=1-2+3-4+……+9-10=-5

    若程序为:

    #include<stdio.h>

    main()

    {

      int m=0,f=1,n=10,i;

      for(i=1;i<=n;i++)

      {

         m+=i*f;

         f=f*(-1);

      }

       printf(“m=%d”,m);

    }

    输出形式为:m=-5,也就是输出表达式m=1-2+3-4+…+9-10的值。

    如果说要函数调用的话,把第一个main改个名字,然后在第二个main()中调用。如下:

    #include<stdio.h>

    int sum()

    {

      int m=0,f=1,n=10,i;

      for(i=1;i<=n;i++)

      {

         m+=i*f;

        f=f*(-1);

      }

       return m;

    }

    main()

    {

      printf(“m=%d\n”,sum());

    }

    输出形式为:m=-5,也就是输出表达式m=1-2+3-4+…+9-10的值。

    不知道你说的是哪一种。

  2. whos 说:

    由于在网吧,运行下载的TC 2.0,系统提示16位不能运行,所以程序没有经过测验,不过理论上来说应该不会错的。

    如果有错误的话请指出。

    呵呵……

  3. yiwangshui 说:

    不好意思啊,有点打错了,我修改了一下,啊能再帮我看一下,谢谢

  4. TONYAZITEN 说:

    都是只让在一个空里写一个语句么?这样的话第一个空我只想到填1-i%2*2,可能不是很简练。第二个填func(n)就行了;如果可以多写语句可以把第一个空去掉,在  m+=i*f;之前加入

    if(i%2==0)

    f=-1;

    就这些

  5. qitianyanluo 说:

    直接填-f不行吗?

  6. m13554550158 说:

    我想填-f应该可以

  7. TONYAZITEN 说:

    脑子短路了…-f确实可以。

  8. whos 说:

    呵呵,-f 确实可以

  9. mhjerry 说:

    我认为第一个空填-f

    第二空填func(10)就搞定了!

    还有把for(i=1;i<=n;i++);后面的  给我去掉,害的我调了半天没找到错误!

  10. yiwangshui 说:

    额…………调试不出来啊

  11. liutianrui 说:

    很简单嘛!

    第一个-f

    第二个func(10)

  12. bowen 说:

    #include<stdio.h>

    int func(int n)

      int m=0,f=1,i;

      for(i=1;i<=n;i++)

      {

         m+=i*f;

        f=f*(-1);

      }

       return m;

    }

    main()

    {

      printf(“m=%d\n”,fuc(10));

    }

    这个程序的功能是输出表达式: m=1-2+3-4+…+9-10

     

    应该这样吧

  13. yiwangshui 说:

    虽然给的答案都差不多,但结果不对

     

留下一个回复