首页 > 用户发贴区 > 编程问题提问区 > 求助C语言程序,急!!!!!在线等!!!!
2008
07-01

求助C语言程序,急!!!!!在线等!!!!

自然数列1,2,3……N,擦去其中一个数K,其余的数的平均值为A又B分之C((A*B+C)/B) 求K。


#include <stdio.h>
fun(n,a,b,c)
{int k;
for(k=0;k<n;k++)
{if(k==n*(n+1)/2-((n-1)*(a*b+c)/b))
return k;
}}
main()
{int a,b,c,k,n;
scanf(“%d %d %d”,&a,&b,&c);
for(n=1;;n++)
{
k=fun(n,a,b,c);
if(k)
break;
}
printf(“%d”,k);
}


那里出错了?求各位大大帮忙 课程设计 后天就要交了的,急啊!


求助C语言程序,急!!!!!在线等!!!!》有 3 条评论

  1. 北方七宿 说:

    定义函数是有错误

    首先函数返回值类型没说明,形参类型也没说明

    应该写成

    int fun(int n,int a,int b,int c)
    {int k;
    for(k=0;k<n;k++)
    {if(k==n*(n+1)/2-((n-1)*(a*b+c)/b))
    return k;
    }}
    这样貌似就可以了,有一个warning,可以得出结果,你自己改改fun函数中的条件判断吧

  2. zwind_fancy 说:

    编码规范

    这是你的原程序,加上楼上那位仁兄改写的规范写法之一

    #include <stdio.h>

    int fun(int n, int a, int b, int c)
    {
         int k;
         for(k = 0; k < n; k++)
        {
            if( k == n*(n+1)/2-((n-1)*(a*b+c)/b) )
                return k;
        }
    }

    int main()
    {
          int a, b, c, k = 0, n;
          scanf(“%d %d %d”,&a,&b,&c);
          for(n = 1; ; n++)
         {
             k=fun(n,a,b,c);
             if(k)
               break;
         }
         printf(“%d”,k);

         return 0;
    }
    具体没看对错 你在看一下 感觉不对

  3. fzhhenyu 说:

    #include <stdio.h>

    int fun(int n, int a, int b, int c)
    {
         int k;
         for(k = 0; k < n; k++)
        {
            if( k == n*(n+1)/2-((n-1)*(a*b+c)/b) )
                return k;
        }
    }

    int main()
    {
          int a, b, c, k = 0, n;
          scanf(“%d %d %d”,&a,&b,&c);
          for(n = 1; ; n++)
         {
             k=fun(n,a,b,c);
             if(k)
               break;
         }
         printf(“%d”,k);

         return 0;
    }
    l楼上的,请问,这个 return 0;
    是什么用?

留下一个回复