當前位置:編程學習大全網 - 編程軟體 - 關於C++編程的問題

關於C++編程的問題

#include "stdio.h"

int fun4(int a)

{

if(a==6)

a=9;

else if(a==9)

a=6;

return a;

}

main()

{

int s[200],g[200];

int s1[200],g1[200];

//memset(s,0,sizeof(s));

//memset(g,0,sizeof(g));

int i,j,m,k;

int a,b,c,d;

int e,f,n;

m = 0;

k = 0;

for(i=1000;i<=9999;i++)

{

a=i%10; //個位

b=(i/10)%10; //十位

c=(i/100)%10; //百位

d=i/1000; //千位

if(a==0||a==3||b==3||c==3||d==3||a==4||b==4||c==4||d==4||a==7||b==7||c==7||d==7)

{

continue;

}

else

{

a=fun4(a);

b=fun4(b);

c=fun4(c);

d=fun4(d);

n=a*1000+b*100+c*10+d;

e=i-n;

f=n-i;

if(e>=200&&e<300)

{

//m=0;

s[m]=e;

s1[m]=i;

m++;

}

else if(f>=800&&f<900)

{

//k=0;

g[k]=f;

g1[k]=i;

k++;

}

}

}

for(i=0;i<m;i++)

{

for(j=0;j<k;j++)

{

if(g[j]-s[i]==558)

{

//cout<<s[i];

printf("%d\t%d\n", s1[i], g1[j]);

}

}

}

//system("pause");

}

//結果9088

因為環境的原因,我改用C代碼了。

1、妳的f(int)函數是值傳遞,這種方式不會改變形參的值,達不到妳的目的。

2、妳的if語句中c==3寫成了c=3,並且沒有考慮0結尾的情況不會倒置。

3、妳只保存了倒置後的差值,沒有保存原價格,這樣得不到最終結果。

4、妳在判斷的時候設置m=0,k=0,結果只會保存最後的壹個值,m,k最大只會是1。

  • 上一篇:我想知道,北大青鳥學校靠譜麽,有沒有在哪裏學習過的人?就像他們說的出來就能就業什麽,是不是真的?
  • 下一篇:大學生用什麽電腦合適?
  • copyright 2024編程學習大全網