您将看到一个由n个整数组成的数组,包括负数和正数。您需要将它们划分为两个不同的数组,而不是直接将任何元素与0、1、-1或任何其他固定值进行比较。将0视为正数。如果arr是正数,则在输出的第一行中按给定顺序打印所有正数,然后在第二行输出中按给定顺序打印所有负数,反之亦然。注意:如果数组只包含正数,则在第一行打印正数,并在第二行打印“array‘s Note contains”(数组没有负数)。如果数组只包含负数,则在第一行中打印负数,在第二行中打印“array‘s and positive”。
输入:输入的格式如下:第一行应该是数组中元素的个数。第二行应该由n个元素组成的数组空间分隔。
输出:输出格式应为:如果arr为负数,则在输出的第一行中按给定顺序打印所有负数,然后在输出的第二行中按给定顺序打印所有正数,反之亦然。每个输出行的每个元素都应该用空格分隔。
发布于 2021-10-30 06:55:56
您可以通过将两个数字相加来实现这一点,从中可以确定哪个数字是正数
int sum = s1 + s1; //
//eg 1+2=3 if sum is greater than both numbers , both are positive
if(sum>=s1 && sum>=s2 ){
// Both are positive
}
//eg -1-2=-3 if sum is lesser than both numbers , both are negative
else if (sum<s1 && sum<s2){
//Both are negative
}
/*
*If none of the above case don't pass, we can confirm that only one of
* the number is negative ,so the lesser number is negative and other one
* is positive
*/
else if (s1<s2){
// s1 is negative and s2 is positive
}
else{
// s2 is negative and s1 is positive
}https://stackoverflow.com/questions/68103521
复制相似问题