C语言编程:输入一个正整数n,判断它是否同时含有奇数字偶数字

2024-11-27 12:38:16
推荐回答(3个)
回答1:

#include "stdio.h"//
#include "stdlib.h"//
void main(void){
int n;
char a[11],i,odd=0,even=0;
printf("Type an integer...\nn=");
scanf("%d",&n);
itoa(n,a,10);
for(i=0;*(a+i);i++)
if(*(a+i)%2) odd=1;
else even=1;
if(odd && even) printf("Yes!\n");
else if(odd) printf("No,Only odd!\n");
else printf("No,Only even!\n");
}

回答2:

#include
#include
#include
#include
#include
#include
using namespace std;
int main()
{
int n,i,m,count,cnt;
while(scanf("%d",&n)!=EOF)
{
count=cnt=0;
for(i=0;;i++)
{
m=n%10;//取模,比如101%10=1
if(m%2==0)//判断取模得到的数能否被2整除,偶数的判断,
count=1;//是偶数就标记
if(m%2!=0)//奇数的判断
cnt=1;//是奇数就标记
n=n/10;
if(n==0)//原数除以10,继续进行下一数位上的判断
break;
}
if(count==1 && cnt==1)
printf("yes\n");
else
printf("no\n");
}
return 0;
}

头文件自己改为#include,那些是我做题目懒得重打累在一起的

回答3:

#include
#include
int main()
{
printf("请输入一个正整数:");
int n1,n2;
bool flag1 = false,flag2 = false;
scanf("%d",&n1);
n2 = n1;
while(n1)
{
if((n1%10)%2)
flag1 = true;
else
flag2 = true;
n1 = n1/10;
}
if(flag1 && flag2)
printf("正整数%d既包含偶数也包含奇数\n",n2);
else if(flag1)
printf("正整数%d只包含奇数\n",n2);
else
printf("正整数%d只包含偶数\n",n2);
system("pause");
return 0;
}