求c语言大神,70112这五个数,分别求五个数之和代码,五个数中奇数之和代码,五个数中偶数之和代码

如题所述

#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
#define  MAX_LONG 5  // 假设只有5个数字

void main(void)
{
unsigned int digits[100];
char target[]="70112"; // 这里是你的目标数字(当然你也可改为其它的5个数字)
char dest[12];
int start=-1,i,j,k,len,sum,OddNumber,EvenNumber;
i=j=k=len=OddNumber=EvenNumber=sum=0;
  
while (target[i])
{
start=i;
len=1;
strncpy(dest,&target[start],len);
dest[len]='\0';
digits[j]=atoi(dest);
j++;
start=-1;
i++;
}
    for (k=0;k<MAX_LONG;k++)
    {
sum+=digits[k]; //5数之和
if(digits[k]%2==0) EvenNumber+=digits[k]; // 偶数求和
else OddNumber+=digits[k];  // 奇数求和
    }
printf("五数之和:%d\n奇数之和:%d\n偶数之和:%d\n",sum,OddNumber,EvenNumber);

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-09

把这个数的每一位放到数组里面去会比较方便

下面是代码:

int a=70112,b[5];

 int sum=0,sum1=0,sum2=0;

 b[0]=a/10000;

 b[1]=a%10000/1000;

 b[2]=a%1000/100;

 b[3]=a%100/10;

 b[4]=a%10;

 for (int i=0;i<5;i++)

 {

  sum+=b[i];

  if (b[i]%2==0)

  {

   sum1+=b[i];

  } 

  else

  {

   sum2+=b[i];

  }

 }

 printf("5个数之和=%d\n偶数之和=%d\n奇数之和=%d",sum,sum1,sum2);

 

 

第2个回答  2013-10-09
方法一:include<stdio.h>
int main()
{
int x=7,y=0,a=1,b=1,c=2,jishu=0,oushu=0,sum=0;
sum=a+b+c+x+y;
if(a/2) oushu+=a;elselse jishu=jishu+a;
if(b/2) oushu+=b;elselse jishu=jishu+b;
if(c/2) oushu+=c;els;else jishu=jishu+c;
if(x/2) oushu+=x;elselse jishu=jishu+x;
if(y/2) oushu+=y;els=e jishu=jishu+y;
printf("%d%d%d\n",sum,oushu,jishu);
return 0;
}
方法二:
#include<stdio.h>
#include<stdlib.h>
void main()
{
int a=70112,p=0,m=0,sum=0,q=0;//p为奇数和,m为偶数和
while(a)
{ q=a%10;
a=a/10;
sum=sum+q;
if(q/2) p=p+q;
else m=m+q;
}
printf("%4d%4d%4d\n",sum,p,m);
system("pause");
}