2023-10-18 18:58来源:m.sf1369.com作者:宇宇
将四人用1, 2, 3, 4 编号,用枚举法解决
变量键宏x 表示做好事者的编号序号,则x 从1到闭袭4,四个人所说的话分别写成:
a 说:x != 1
b 说:x == 3
c 说:x == 4
d 说:x != 4
当这4 个逻轿亮兄辑式值相加等于3 时,即为解答
#include <stdio.h>
int main( )
{
int x;
for (x = 1; x <= 4; ++ x)
if ((x != 1) + (x == 3) + (x == 4) + (x != 4) == 3)
printf(Is %c\n., (char)(64 + x));
}
只能推出C,或者D做好事,代码写不了。
这个题目应该不完整?
学编如纯袜程首先要学好面向对象的思想
如果学好思想的话 用什渣激么编程软件都是很快学会的 即使你代码还不太懂
我以前用的vb 现在转向vc++了
经常误裤悔报病毒 可能是杀软对于易语言的支持不太好 我也用过 报着报着就习惯了 所以现在很多软件都事先打好招呼了 我的程序会报病毒的。。。。
面向对象只要理解了 很多东西自然明了了
#include<stdio.h>
int check(int i)
{ int j=i*i;
if(j/氏盯100==(j/歼老和10)%10 || j/100==j%10 || (j/10)%10==j%10 )
return j;
return 0;
}
void main()
{ int i,j;
for(i=11;i<32;i++)
{j=check(i);
if(j)printf(%d ,j);//含山write to file
}
}
#include <iostream.h>
bool f(int n);
void main()
{
int i;
for(i = 100; i < 1000; i++)
{
if(f(i))
{
cout <纯唯<指运 i << '\t';
}
}
}
bool f(int n)
{
int j;
for(j = 10; j < 33; j++)
{if(j * j == n)
{
if((n % 10 == (n % 100) /唯裤梁 10) || (n % 10 == n / 100) ||
((n % 100)/ 10 == n /100))
{
break;
}
}
}
if(j == 33)
{
return false;
}
if(j < 33)
{
return true;
}
}
#include<stdio.h>
#include<stdlib.h>
int saving,*save;
void check(int i,int first,int N,int total,int *num)
{ int j,k;
save[saving]=i;
saving++;
for(j=i+1;j<N;j++)
{ check(j,first+num[j],N,total,num);//递归check
//若蔽型搏经过排序这里如果first+num[j]>total的话就可以租春return了
if(first+num[j]==total)
{ for(k=0;k<saving;k++)
printf(%d ,num[save[k]]);
printf(%d\n,num[j]);
}
}
saving--;
}
void main()
{int N,total,i=0,j,temp;
int *num;
saving=0;
printf(input N:);
scanf(%d,&N);
num=(int *)malloc(sizeof(int)*(N+1));
save=(int *)malloc(sizeof(int)*(N+1));
printf(input %d num:,N);
for(i=0;i<N;i++)
scanf(%d,&num[i]);//对这N个数排序可提高效率^^
printf(input total:);
scanf(%d,&total);
for(i=0;i<N;i++)//算法从这里宏祥正式开始!!!
check(i,num[i],N,total,num);
}
希望能解决您的问题。