#include<stdioh>
#define M 9 //8个数
#define N 6 //选6个
int router(int s,int str) //规则只是规则和以前的改过罢了
{
int i,sum=0;
for(i=0;i<N;i++)
{
if(str[s[i]]%2!=0)
sum++;
}
if(sum>=1 && sum<=3) //如果前四个数有1或2个是,则符合规则
return 1; //返回1
return 0;
}
void pl(int str,int s,int t)
{
int i;
if(t==N && router(s,str)) //t==N 算完了一行,并且符合规则,就输出
{
for(i=0;i<N-1;i++)
{
if(str[s[i]]<10) //小于10就加个0在前面
{
printf("0");
}
printf("%d-",str[s[i]]);
}
if(str[s[i]]<10) //小于10就加个0在前面
printf("0");
printf("%d\n",str[s[i]]);
}
else
{
for(i=t;i<M;i++)
{
if(t==0 || s[t-1]<i)
{
s[t]=i;
pl(str,s,t+1); //这递归
}
}
}
}
int main()
{
int s[M],str[]={1,3,6,9,11,13,15,18,20};
pl(str,s,0);//str是要求排序的数字,s是用来排序,最后以s为下标(str(s[]))的形式输出的
//0表示从下标0开始
return 0;
}
#include <stdioh>
void main(){
int i,m,n=0,a[10];
scanf("%d",&m);
while(m)
{a[n]=m%10;m/=10;n++;}
for(i=n-1;i>=0;i--)
if(a[i]%2) printf("%d\n",a[i]);
for(i=n-1;i>=0;i--)
if(a[i]%2==0) printf("%d\n",a[i]);
}
运行示例:
奇偶数判断的标准是能否被2整除,所谓整数即得数没有余数,或者说余数是0为偶数
c语言计算余数的运算为求模运算%,a%b即求a除以b后的余数,则判断a是偶数的逻辑表达式为a%2==0,如果条件不成立,即a%2等于1,则a为奇数
#include <stdioh>
int fun(int a)
{
if(a%2==0)
{
return 1;
}
else
{
return 0;
}
}
void main()
{
int a;
printf("请输入一个整数:\n");
scanf("%d",&a);
printf("main()返回值是:%d\n",fun(a));
}
#include<stdioh>
int main()
{
long long t;
//j用来统计奇数个数
//o用来统计偶数个数
int j=0,o=0,n;
scanf("%d",&n);
//循环n次,每次读入一个数,判断它的奇偶,是偶数的话o加1,否则j加1
while(n--)
{
scanf("%lld",&t);
//不能被2整除是奇数
if(t%2)
j++;
else
o++;
}
printf("%d %d\n",j,o);
return 0;
}
偶数的二进制末尾肯定是0,奇数的肯定是1,所以如果一个整数和1作位与操作的结果不为0的话就是奇数,反之为偶数
if(num & 1) 奇数
else 偶数
#include<stdioh>
int main(void)
{
int x;
int jishu=0;
int even(int n);
scanf("%d",&x);
while(x>0)
{
if(even(x)==0)
jishu=jishu+x;
scanf("%d",&x);
}
prinf("%d",jishu)
//_____加在这里试试_____
system("pause")
}
//判断奇偶性子函数even
int even(int n)
{
if(n%2==0)
return 1
else
return 0
}
未测试 不过原理上没问题 ~看不懂的地方可追问
//我不知道需不需要判断是否为正整数,如果需要的话你可以再添加上判断条件,或者给我留言
#include <stdioh
int enen(int n);
int main()
{
int num;//代表输入整数的个数
int sum;//其中奇数的和
int i;//循环变量
int n;//输入的数
sum=0;
printf("请输入你想输入整数的个数:");
scanf("%d",&num);
for (i=0;i<num;i++)
{
scanf("%d",&n);
if (enen(n)==0)
{
sum+=n;
}
}
printf("所有奇数的和为:%d。\n",sum);
}
//以下为判断函数
int enen(int n)
{
if (n%2==0)
{
return 1;
}
else
{
return 0;
}
}
欢迎分享,转载请注明来源:浪漫分享网
评论列表(0条)