[华为机试]求出数组中全部奇数之和以及全部偶数之和

代码:

#include <iostream>
#include <sstream>
#include <fstream>
#include <string>

int main()
{
	int num[100];
	int odd = 0, even = 0;

	std::string str;
	getline(std::cin, str);
	std::stringstream s(str);
	int j = 0;
	while(getline(s, str, ','))
	{
	        //考虑了字符串中有非数字的情况(不考虑貌似也对了)
		int count = 0;
		for (int i = 0; i < str.size(); i++)
		{
			if(str[0] == '-')
			{
				neg = true;
			}
			if (str[i] >= '0' && str[i] <= '9')
			{
				count++;
			}
		}
		if (count != str.size() && !neg)
		{
			continue;
		}
		if( neg && count != str.size() - 1 )
                {
			neg = false;
			continue;
		}
		num[j] = atoi(str.c_str());
		if (num[j] % 2 == 0)
		{
			even  += num[j];
			j++;
		}
		else
		{
			odd += num[j];
			j++;
		}
	}
	std::cout<<odd <<","<< even;
}
时间: 2024-12-29 01:51:46

[华为机试]求出数组中全部奇数之和以及全部偶数之和的相关文章

[华为机试]求出数组中所有奇数之和以及所有偶数之和

代码: #include <iostream> #include <sstream> #include <fstream> #include <string> int main() { int num[100]; int odd = 0, even = 0; std::string str; getline(std::cin, str); std::stringstream s(str); int j = 0; while(getline(s, str, '

求出数组中所有数字的和&amp;&amp;弹出层效果

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

华为机试 --- 求最大三位数

题目:输入10位0-9数字,取其中三位不同数字组合,求组合出来的最大三位数. 如输入 1 2 3 4 5 6 7 8 9 0,组合出来987最大. 测试代码如下: #include <stdio.h> #include <stdlib.h> int IsSame(int *a, int num); int main() { int i=0; int j=0; int a[10]={0}; int input =0; int length =0; int temp=0; for (i

黑马基础阶段测试题:定义一个int类型的数组,数组中元素为{5,7,3,9,4}。求出数组中的最小值,并判断最小值是否为偶数,如果是偶数则输出“最小值为偶数”,如果不是偶数则输出“最小值为奇数”。打印如下:

package com.swift; import java.util.Arrays; public class ArrayTest { public static void main(String[] args) { /* * 定义一个int类型的数组,数组中元素为{5,7,3,9,4}. * 求出数组中的最小值,并判断最小值是否为偶数,如果是偶数则输出"最小值为偶数",如果不是偶数则输出"最小值为奇数".打印如下 */ int arr[]= {5,7,3,9,4

求出数组中超过一半的数

Tango 是微软亚洲研究院的一个试验项目.研究院的员工和实习生们都很喜欢在 Tango上面交流灌水.传说,Tango 有一大"水王",他不但喜欢发贴,还会回复其他 ID 发的每个帖子.坊间风闻该"水王"发帖数目超过了帖子总数的一半.如果你有一个当前论坛上所有帖子(包括回帖)的列表,其中帖子作者的 ID 也在表中,你能快速找出这个传说中的 Tango 水王吗? 思路:首先想到的是一个最直接的方法,我们可以对所有 ID 进行排序.然后再扫描一遍排好序的 ID 列表,统

Ruby求出数组中最小值及其下标

其实很简单 Ruby的Array类自带了min方法可以求出最小值,然后调用Array的index方法传入元素值就可以求出下标 1 a = [1, 2, 3, 4, 5, 6] 2 theMin = a.min #=> 1 3 theIndex = a.index(a.min) #=> 0

华为机试—四则运算(数组解决)

题目:四则运算 问题描述: 输入一个只包含个位数字的简单四则运算表达式字符串,计算该表达式的值 注: 3.1.表达式只含 +, -, *, / 四则运算符,不含括号 3.2.表达式数值只包含个位整数(0-9),且不会出现0作为除数的情况 3.3.要考虑加减乘除按通常四则运算规定的计算优先级 3.4.除法用整数除法,即仅保留除法运算结果的整数部分.比如8/3=2.输入表达式保证无0作为除数情况发生 3.5.输入字符串一定是符合题意合法的表达式,其中只包括数字字符和四则运算符字符,除此之外不含其它任

找出数组中出现奇数次的元素

题目1: 给定一个含有n个元素的整形数组,其中只有一个元素出现奇数次,找出这个元素 异或 题目2: 如果题目1中有两个数出现了奇数次,并且这两个数并不相等,如何在O(1)的复杂度内找出这两个数 假设这两个数为a,b 异或结果为x.问题是我们如何能够通过x得到a,b. 因为x不为0,所以x的二进制肯定有一位为1. 例如x的二进制为001001,那么我们只需要一个不为0的那个.k=1(或者k=4)意味着a或者b中有一个第k位位1,所以我们再到数组中寻找所有k=1位为1的所有数,并将他们和x进行异或.

算法题:将一个数组中所有奇数放前面和偶数放后面(不开辟新的内存空间)

package arithmetic; import java.util.Arrays; public class OddAndEven { public static void main(String[] args) { int [] a={5,10,26,32,41,7,9,8,4,12,1};; int low = 0; int high = a.length-1; /**想法: * 1.遍历.将奇数放在左边,偶数放在右边 * 2.先遍历左边,直到出现不是奇数的时候为止 * 3.再遍历右边