main()
{
int a,b,c
for(a=0a<9a++)
for(b=0b<9b++)
for(c=0c<9c++)
{
if((100*a+10*b+c + 100*c+10*b+a) == 1333)
printf("a:%d,b:%d,c:%d\n",a,b,c)
}
}
原理就是穷举,不过要注意的是100*a+10*b+c这种表示方式代表的是a百b十c,在很多地方都有用。程序我刚试过了~肯定没问题,一共有4组答案,楼长看我上班呢还给你写程序给个最佳答案吧~
#include<stdio.h>main()
{
int x[1000], i, n, a, b, c, m=0
scanf("%d", &n)
for (i = 0i <ni++)
{
scanf("%d", &x[i])
}
for (a = 0a <na++)
{
for (b = a+1b <nb++)
{
for (c = b+1c <nc++)
{
if (a != b != c&&x[a] + x[b] == x[c])
{
m++
}
}
}
}
printf("%d", m)
}
别听楼下胡扯。可以实现的。(为简便起见只支持+,-,*)#include<stdio.h>
int main(){
char p[5000]
int i,ans=0,t=0,f=0,t2=1
scanf("%s",p)
for(i=0p[i]!=0i++)
if(p[i]=='-'){
if(f)t=-t
ans+=t*t2
f=1t=0t2=1}
else if(p[i]=='+'){
if(f)t=-t
ans+=t*t2
f=t=0t2=1}
else if(p[i]=='*'){
t2=tt=0}
else {
t*=10
t+=p[i]-'0'
if(p[i+1]==0){
if(f)t=-t
ans+=t*t2}}
printf("%d",ans)
return 0}
/*MODE BY TXJ*/