急求C语言大神帮忙编写程序,不会很复杂,过程要准确详细,麻烦了!
设计一个C语言程序使得输入任意一个数据,能判断这个数有几位并且分析这个数据中有多少位偶数,多少位奇数...
设计一个C语言程序使得输入任意一个数据,能判断这个数有几位并且分析这个数据中有多少位偶数,多少位奇数
展开
1个回答
展开全部
#include <stdio.h>
#include <conio.h>
#define ARRAY_LEN 100 /*数组长度*/
int numToDigit (int num, int arr[]) {
int remain,i=1,j=0,count=0;
int temp[ARRAY_LEN];
while (num) {
remain = num % 10; /*除以10取余数,以取出最后一位数字*/
num /= 10; /*除以10取整数,以丢弃最后一位数字*/
temp[i++] = remain;
count ++; /*统计位数*/
}
while (--i) /*逆序存储*/
arr[j++] = temp[i];
return count;
}
void printArr (int arr[], int len) { /*打印数组*/
int i;
for (i = 0; i<len; i++)
printf("%d\t",arr[i]);
printf("\n");
}
int main(void) {
int num,len,arr[ARRAY_LEN];
int evenCnt, oddCnt;
int i;
printf("请输入一个正整数:\n");
scanf("%d",&num);
puts ("================================================================\n");
len = numToDigit (num, arr);
printf ("%d位数字%d,其每一位数字为:\n",len,num);
printArr (arr, len);
putchar ('\n');
evenCnt = oddCnt = 0;
for (i=0; i<len; i++) {
if (arr[i]%2)
oddCnt ++;
else
evenCnt++;
}
printf ("%d个奇数,%d个偶数!\n", evenCnt, oddCnt);
putchar ('\n');
getch (); /*屏幕暂留*/
return 0;
}
运行结果
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询