C语言实现9选6奇偶比例

C语言实现9选6奇偶比例,第1张

#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;

}

}

欢迎分享,转载请注明来源:浪漫分享网

原文地址:https://hunlipic.com/langman/608201.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-07-05
下一篇2023-07-05

发表评论

登录后才能评论

评论列表(0条)

    保存