急求C语言大神帮忙编写程序,不会很复杂,过程要准确详细,麻烦了!

设计一个C语言程序使得输入任意一个数据,能判断这个数有几位并且分析这个数据中有多少位偶数,多少位奇数... 设计一个C语言程序使得输入任意一个数据,能判断这个数有几位并且分析这个数据中有多少位偶数,多少位奇数 展开
 我来答
碧海风云

2017-12-08 · 碧海风的秘密小据点!
碧海风云
采纳数:909 获赞数:10281

向TA提问 私信TA
展开全部
#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;
}

运行结果

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式