永发信息网

C语言或C++的 数学黑洞问题,我好像陷入了死循环。求帮忙

答案:2  悬赏:30  手机版
解决时间 2021-03-04 21:39
#include
#include
using namespace std;
int n;
int p(int num)
{
int i,j,sum,x,t;
int s[4];

s[0]=num/1000;
s[1]=(num/100)%10;
s[2]=(num/10)%10;
s[3]=num%10;
for(j=0;j<4;j++)
{
for(i=0;i<4-j;i++)
{
if(s[i]>s[i+1])
{
t=s[i];
s[j]=s[i+1];
s[i+1]=t;
}
}
}
sum=(s[3]*1000+s[2]*100+s[1]*10+s[0])-(s[0]*1000+s[1]*100+s[2]*10+s[3]);
return sum;
}

int main()
{

int n1,temp=1;
cin>>n;
if(n!=6174)
{
n1=p(n);
while(n1!=6174)
{
n1=p(n1);
temp++;
}
cout< }
else
cout<<1;
return 0;
}
最佳答案
你写的不错,其实没什么错误,只是你将
s[j]=s[i+1];误写错了,是i不是j。
只改这一处,其余不变,你在运行下,没问题的。
全部回答
#include&lt;stdio.h&gt; #include&lt;string.h&gt; #define oddnum "13579" #define num "1234567890" int main(int argc, char *argv[]) { char input[512], c, str[512]; int oddcnt=0, evencnt=0; char *p; memset(input, 0x00, 512); printf("input a number: "); scanf("%s", input); printf("%s\n", input); p=input; while((c=*p++)) { if(!index(num, c)) { printf("error: you should input a number.\n"); return -1; } } while(strcmp(str, input)) { oddcnt=0; evencnt=0; memcpy(str, input, sizeof(input)); p=str; while((c=*p++)) { if(index(oddnum, c)) oddcnt++; else evencnt++; } sprintf(input, "%d%d%d", evencnt, oddcnt, evencnt+oddcnt); printf("%s\n", input); } return 0; }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
以下关于银行资本说法正确的是()。A.我国商业
珠海体育中心1号停车场怎么去啊,有知道地址
民事调解需要制作庭审笔录吗
野牛凼地址有知道的么?有点事想过去
椎弓的构成包括()。
快手红人肖锦坤是什么发型
我家是日式居家风格,适合用乐众氛围灯吗?
上火上到眼睛上怎么办
原园诊所地址在哪,我要去那里办事
雅迪和爱玛哪个好
增添是什么意思
大桥加油站在哪里啊,我有事要去这个地方
下列属于生态系统的是CA. 一只大象B. 一群飞
一个女人由爱生恨了心里会是什么感觉,会有什
平安普惠氧气贷额度低能提高吗?
推荐资讯
竖式370除以90你是不是傻逼啊,这么简单一群
请问主板电池没电之后,如不及时更换,除了系
看图,写出句子所缺的单词
我用松树代替绿萝桩可以吗?
信捷plc程序无法上传怎么办?
鬼火是怎么回事
【次加偏旁组词】次字加偏旁组词```
直接引语变间接引语.He said to her ,‘Call
【几何证明 四棱锥P-ABCD的俯视图是菱形ABCD,
爸爸是什么妈妈也是什么我是什么
根据刑事法律制度的规定,下列关于一般累犯成
某水塘内有一条由三种不同物种形成的食物链:
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?