7-43 判断正整数n是否同时含有奇数和偶数 (10 分)
本题目要求读入1个正整数n,判断正整数n是否同时含有奇数字和偶数字。
输入格式:
输入一个正整数n。
输出格式:
输出此正整数,并输出YES(表示同时含有)或NO(表示不同时含有)。
输入样例:
123
输出样例:
123 YES
#include<stdio.h>
int main()
{int a,b=0,c=0,i;scanf("%d",&a);int k = a;do{if(a%2==0)b++;elsec++;a=a/10;}while (a!=0);printf("%d ",k);if(b*c==0)printf("NO\n");elseprintf("YES\n");return 0;
}
7-44 统计字符个数 (15 分)
本题目要求统计一串字符中英文字符(‘a’-‘z’,‘A’-‘Z’)的个数、数字字符(‘0’-‘9’)的个数和其他字符的个数。
输入格式:
输入一串字符,以回车'&'结束。
输出格式:
letter=英文字符的个数,digital=数字字符的个数,others=其他字符的个数。
输入样例:
I am 26.&
输出样例:
'&'是结束符,&及其后面的字符都不计算在内,注意空格也是字符
letter=3,digital=2,others=3
#include<stdio.h>
int main()
{int letter=0,digital=0,others=0;char ch[1000];gets(ch);int i = 0;while(ch[i]!='&'){if(ch[i]>='0'&&ch[i]<='9') digital++;else if(ch[i]>='a'&&ch[i]<='z') letter++;else if(ch[i]>='A'&&ch[i]<='Z') letter++;else others++;i++;}printf("letter=%d,digital=%d,others=%d",letter,digital,others);return 0;
}
7-45 推理-找出罪犯 (10 分)
法官审理一起盗窃案时,四名嫌疑犯的a,b,c,d的供述如下: a:罪犯在b,c,d三人之中。 b:我没有作案,是c偷的。 c:在a和d中有一个是罪犯。 d:b说的是事实。 经调查,四人中有两人说了真话,并且罪犯只有1人。请确定真正的罪犯。
输入格式:
无
输出格式:
The criminal is a,b,c,d之中的一个.
输入样例:
无
输出样例:
The criminal is a(或b,c,d,给出真正的犯罪).
#include<stdio.h>
int funA(int a,int b,int c,int d)
{return b+c+d;
}
int funB(int a,int b,int c,int d)
{return c;
}
int funC(int a,int b,int c,int d)
{return a+d;
}
int funD(int a,int b,int c,int d)
{return funB(a,b,c,d);
}
int main()
{char ch;if(funA(1,0,0,0)+funB(1,0,0,0)+funC(1,0,0,0)+funD(1,0,0,0)==2)ch = 'a';else if(funA(0,1,0,0)+funB(0,1,0,0)+funC(0,1,0,0)+funD(0,1,0,0)==2)ch = 'b';else if(funA(0,0,1,0)+funB(0,0,1,0)+funC(0,0,1,0)+funD(0,0,1,0)==2)ch = 'c';else if(funA(0,0,0,1)+funB(0,0,0,1)+funC(0,0,0,1)+funD(0,0,0,1)==2)ch = 'd';printf("The criminal is %c.",ch);return 0;
}