C语言问题,不知道为什么没结果,问题和我的程序都在下面,希望有大神解答,急,在线等?

2025-04-15 06:43:50
推荐回答(3个)
回答1:

改如下:

  1. 将#include  using namespace std;两行改成#include "stdin.h"。因为题目是C语言,就不要用C++的包含文件(当然不改也可以,兼容的)。

  2. return i;改成printf("%d ",i);。

  3. 将n++;改成n+=i;。

  4. 在最后一个}前添加printf("\nThe MUN is %d\n",n);和return 0;两行。

改后运行结果:

或帮助了你,请采纳。你可以把20悬赏收掉,采纳是第一的。好长时间以来,很多朋友只蹭答案却不采纳,我看到很多提问有多个答案,且都正确,可是提问者只写个谢谢就无踪无影了,有的甚至连提问都删除了。

(以上15:29答)

谢谢你的采纳!

回答2:

多几个变量,把 个十百千 都分离出来

q = i / 1000;

b = i % 1000 / 100;

s = i % 100 / 10;

g = i % 10;

r = (int)sqrt(i);

实际只有一个而已


还有,既然 千=百,十=个  还可以 进一步 优化,减少计算量


int q,s,r;

for (q=1;q<=9;q++)

for (s=1;s<=9;s++)

{   i = q*1100+s*11;

r = (int)sqrt(i);

if ( r*r == i)

{   n++;

cout << n << ", " << i << endl;

}

回答3:

“四位平方数”只有一个啊。

#include

#include

using namespace std;

int main()

{ int i,j,t,k,n=0,s=0;

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

    for(j=1; j<10; j++)

    { k=i*1100+j*11;

      t=sqrt(k+1);

      if(t*t==k)

      { n++;

        s+=k;

      }

    }

  cout<

  return 0;

}