【发布时间】:2014-11-04 09:32:16
【问题描述】:
请看我的 c++ 程序。
#include<stdio.h>
int main()
{
char sign[]={'+','-','/','*'};
int i,j,k,l=0;
for(i=0;i<=3;i++)
{
for(j=0;j<=3;j++)
{
for(k=0;k<=3;k++)
{
if(sign[j]!=sign[i]&&sign[k]!=sign[i]&&sign[k]!=sign[j])
{
printf("%c %c %c\n",sign[i],sign[j],sign[k],l);
}
}
}
}
return 0;
}
这个程序的输出是这样的..
+ - /
+ - *
+ / -
+ / *
....
我想在数字之间使用它们... 像这样..
#include<stdio.h>
int main()
{
char sign[]={'+','-','/','*'};
int i,j,k,l=0;
for(i=0;i<=3;i++)
{
for(j=0;j<=3;j++)
{
for(k=0;k<=3;k++)
{
if(sign[j]!=sign[i]&&sign[k]!=sign[i]&&sign[k]!=sign[j])
{
int l;
l=18sign[i]12sign[j]4sign[k]5;
printf("18%c12%c4%c5=%d",sign[i],sign[j],sign[k],l);
}
}
}
}
return 0;
}
我想要这样的输出..
18+12-4/5=29
18+12-4*5=10
18+12/4-5=16
18+12/4*5=33
.....
那么这将是什么代码??
[我不能使用 switch 标签,因为我必须声明 24 个案例。有没有办法将索引用作运算符?]
【问题讨论】:
-
Is there any way to use the indexes as operator不,谢天谢地。 -
你到底想达到什么目的?
-
您可以创建一个数组,其中包含指向操作员函数的指针
-
参见 stackoverflow.com/questions/26730365/boost-lambda-example 以了解 C++11 中的示例,了解如何拥有一个可以返回 lambda 以根据符号执行操作的工厂
-
等等,这不是昨天也问了吗? stackoverflow.com/q/26718585/4022608