2013年9月华为成都笔试题 输入字符串计算数值(c语言)

来源:互联网 发布:40部网络禁书 编辑:程序博客网 时间:2024/04/28 16:25

2013年9月成都笔试第一题:输入字符串,以逗号隔开,比如‘32,49,55,78',计算其奇数偶数的值,自己写的代码如下,如有错误,敬请谅解:

#include <stdio.h>
int myatoi(const char *str)
{
 int value=0,flag=1;
 if(*str==' ')
 {
  str++;
 }
 else if(*str=='-')
 {
  flag=0;
  str++;
 }
 else if(*str=='+')
 {
  flag=1;
  str++;
 }
 else if(*str<'0'||*str>'9')
  return 0;
 while(*str!='\0'&&*str>='0'&&*str<='9')
 {
  value=value*10+*str-'0';
  str++;
 }
 if(flag==0)
 {
  value=-value;
 }
 return value;
}
main()
{
 char str[100];
 int j,k=1,len,b[100],sumo=0,sumj=0;
 scanf("%s",str);
 len=sizeof(str)/sizeof(int);
 b[0]=myatoi(str);
 for(j=0;j<len;j++)
 {
  if(str[j]==',')
  {
   b[k]=myatoi(&str[j+1]);
   k++;
  }
 }
 for(j=0;j<k;j++)
 {
  if(b[j]%2==0)
  {
   sumo+=b[j];
  }
  if(b[j]%2!=0)
  {
   sumj+=b[j];
  }
 }
 printf("%d %d\n",sumo,sumj);
}

原创粉丝点击