#include"math.h"
int total=0,count=0,page;
char temp;
main(){
float sum(float,float,char);
void test24(float [],char []);
int i,j,k,l,q,r,s,t,n=0;
float a[4];
char f[4]={'+','-','*','/'};
float x[4];
char y[3];
int go=1;
while(go==1){
printf("Please input how many resualts every break prints?\n");
scanf("%d",&page);
printf("Please input the 4 num to 24:\n");
scanf("%f%f%f%f",&a[0],&a[1],&a[2],&a[3]);
scanf("%c",&temp);
printf("\n******Resualt:******\n");
/*get 4 num*/
total=0;
for(i=0;i<4;i++){
for(j=0;j<4;j++){
if(i==j) continue;
for(k=0;k<4;k++){
if(k==i||k==j) continue;
for(l=0;l<4;l++){
if(l==i||l==j||l==k) continue;
x[0]=a[i];
x[1]=a[j];
x[2]=a[k];
x[3]=a[l];
/*get +-*/
for(q=0;q<4;q++){
y[0]=f[q];
for(r=0;r<4;r++){
y[1]=f[r];
for(s=0;s<4;s++){
y[2]=f[s];
/*start*/
test24(x,y);
}
}
}
n++;
}
}
}
}
printf("total=%d\n",total);
printf("******end******\n");
printf("continue? 1:yes 2:no\n");
scanf("%d",&go);
}
printf("Bye!\n");
}
float sum(float xx,float yy,char mm){
switch(mm){
case '+':return (xx+yy); break;
case '-':return (xx-yy); break;
case '*':return (xx*yy); break;
case '/':
if(yy!=0){
return (xx/yy); break;
}
else{
return 0; break;
}
}
}
void test24(float x[],char m[]){
int ii;
float s[5];
s[0]=sum(sum(sum(x[0],x[1],m[0]),x[2],m[1]),x[3],m[2]);
s[1]=sum(sum(x[0],sum(x[1],x[2],m[1]),m[0]),x[3],m[2]);
s[2]=sum(x[0],sum(sum(x[1],x[2],m[1]),x[3],m[2]),m[0]);
s[3]=sum(x[0],sum(x[1],sum(x[2],x[3],m[2]),m[1]),m[0]);
s[4]=sum(sum(x[0],x[1],m[0]),sum(x[2],x[3],m[2]),m[1]);
for(ii=0;ii<5;ii++){
if(fabs(s[ii]-24.0)<0.1){
if(ii==0)
printf("((%1.0f%c%1.0f)%c%1.0f)%c%1.0f\n",x[0],m[0],x[1],m[1],x[2],m[2],x[3]);
else if(ii==1)
printf("(%1.0f%c(%1.0f%c%1.0f))%c%1.0f\n",x[0],m[0],x[1],m[1],x[2],m[2],x[3]);
else if(ii==2)
printf("%1.0f%c((%1.0f%c%1.0f)%c%1.0f)\n",x[0],m[0],x[1],m[1],x[2],m[2],x[3]);
else if(ii==3)
printf("%1.0f%c(%1.0f%c(%1.0f%c%1.0f))\n",x[0],m[0],x[1],m[1],x[2],m[2],x[3]);
else if(ii==4)
printf("(%1.0f%c%1.0f)%c(%1.0f%c%1.0f)\n",x[0],m[0],x[1],m[1],x[2],m[2],x[3]);
total++;
count++;
/*20 per break*/
if(count>=page){
printf("press ENTER continue\n");
scanf("%c",&temp);
count=0;
}
}
}
}
他用那么多字母啊 底下还有那些字母的范围 我是想问那它到底代表了24点计算中的什么
本回答被提问者采纳是我没交代清楚 这是一个24的游戏的程序 那些字母在这个程序里代表的是什么
这个c语言程序中的 i j k l q r s t 代表的是什么
就是一个变量名,你可以理解为 数学方程中的 x ;这个值随时可以变的,当然是你需要让它改变 他才会变
c语言中t是什么意思c语言中t的解释
1、C语言的t代表的意思是水平制表符。相当于按了键盘上的TAB按键,通常宽度相当于8个空格的位置,但有些软件允许设置tab的宽度。在双引号或定界符表示的字符串中有效,在单引号表示的字符串中无效。2、一般来说,其在终端和文件中的输出显示相当于按下键盘TAB键效果。一般系统中,显示水平制表符将占8...
C语言 冒泡法中的变量i和j到底表示什么
在你发的这个程序中,j表示需要比较的“趟数”(从第一个元素比较到最后一个元素称为一趟)。i则用于控制每一趟的比较次数,并通过i比较相邻两个数(分别是a[i]和a[i+1])的大小,并进行适当的交换。由于每一趟比较结束后,最大的数字一定已经到达最后的位置,所以接下来的各趟比较中便不需要再...
在C语言程序中允许出现的字符集是什么?
C语言程序中允许出现的字符集:1) 拉丁字母 A B C D E F G H I J K L M N O P Q R S T U V W X Y Za b c d e f g h i j k l m n o p q r s t u v w x y z 2) 十进制阿拉伯数字 0 1 2 3 4 5 6 7 8 9 3) 下面29个符号 ! " # % & ' (...
c#c语言这个i和t是什么意思呢?
i用作循环计数器,t保存从1~5的每个i相乘的结果。
C语言数据结构顺序表解决该问题?
明文V W X Y Z A B C D E F G H I J K L M N O P Q R S T U你的任务是对给定的密文进行解密得到明文。 你需要注意的是,密文中出现的字母都是大写 字母。密文中也包括非字母的字符,对这些字符不用进行解码。输入格式:输入一行密文字符串,可包含空格。输出格式:输出明文字符串。输入明文字符串...
C语言 这个程序为什么要设t
t在这里存的就是找到的元素的位置,比如在a[3]找到,t就为3,之后下面的for循环就是4开始之后的数据整体向前移一格。当然这里可以不用t,而是通过i的位置来确定也是可以的,比如可以是 for(i=0;i<10;i++) if(a[i]==k) break;if(i>=0&&i<10){for(j=i;j<9;j++) a[j]=a...
c语言怎么判定字符类型的
字符: A B C D E F G H I J K L M N O P Q R ASCII:65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 字符: S T U V W X Y Z ASCII:83 84 85 86 87 88 89 90 如何得到字符的ASCII值?更简单,直接表示就行!如字符...
C语言编程:从键盘输入一个字符串。分别统计其中大写字母、小写字母及其...
void main(){ char input[1000];int i=0,out[26]={0},j;char outstring[26]= {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};cout<<"Please input capital password:";fge...
C语言,填什么?
详情请查看视频回答