永发信息网

用VS2005编写Cshap程序出错

答案:2  悬赏:0  手机版
解决时间 2021-05-16 12:25
  • 提问者网友:欲劫无渡
  • 2021-05-15 14:12

问题是:一个数恰好等于它的平方数的右端,这个数称为同构数,如,5的平方等于25,求1到1000之间的所有同构数。

我打开VS2005后  新建——项目——Win32控制台程序,输入名称:test

然后弹出个win32应用程序向导,直接点的下一步 直到完成。

 

然后把编码输进去:

#include<iostream>
using namespace std;
void search(int n)
{
int step,j=0,i1;
for(int i=1;i<n;i++)
{
i1=i;
step=10;
while((i1/10)!=0)
{
step=step*10;
i1=i1/10;
}

if((i*i)%step==i)
{
cout<<i<<endl;
j++;
}
}
if(j==0)
cout<<"Cannot find the number"<<endl;
}
int main()
{
int n;
cout<<"Please input the edge of the number"<<endl;
cin>>n;
search(n);
return 0;
}



1 1
5 25
6 36
25 625
76 5776
376 141376
625 390625

 

然后按启动调试,结果出现:发生生成错误,要进行并继续运行吗?我点了“是”

然后就是弹个 无法启动的框出来。

 

这到底是哪里出错了 求解啊?不用说得太复杂了  能搞定就行!如果能做份正确的给我再加300分啊!

 

最佳答案
  • 五星知识达人网友:佘樂
  • 2021-05-15 15:28

代码没错,但你要用Win32的空项目来做,然后增加一个Cpp源文件,把代码复制,生成就可以成功


全部回答
  • 1楼网友:封刀令
  • 2021-05-15 16:43

using System; using System.Collections.Generic; using System.Text;

namespace Demo {     public class Program     {     public static void Main(string[] args)     {     int result=0;     int mod = 0;     int mark=10;     for (int i = 1; i <= 1000;i++)     {     result = i * i;     if(i==mark)     {     mark*= 10;     }     mod = i * i % mark;     if (i == mod)     {     Console.Write(i+",");     }     }     Console.ReadLine();     }     } }

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯