奇数和偶数分离的问题 求大神 指点 提交不上去

#include //我感觉思路已经很清晰了
int main()
{
int array[10];

int arrayOdd[10][20];

int arrayEven[10][20];

int m , n , i , j , m1 , l = 0 , n1;

int Kodd=0,Keven=0;

scanf("%d",&m);

n1 = m;

for( i = 1; i <= m; i++)
{
    scanf("%d",&array[i]);
}

while(m)//这次的运行结果少了1和2 
{
    for( i = 1; i <= array[m]; i++)//就是一和2消失了 
    {
        if(i%2==0)
        {
            arrayEven[m][Keven]=i;
            Keven++;
            //printf("%d ",arrayEven[m][Keven]); 
        }
        if(i%2!=0)
        {
            arrayOdd[m][Kodd]=i;
            Kodd++;
            //printf("%d ",arrayOdd[m][Kodd]);
        }
    }

    Kodd=0,Keven=0;

    m--;    
}
for( i = 1; i <= n1;i++)//看来问题出来了输出这里,输入我并没有发现此物都很符合逻辑 
{
    for( j = 0 ;j < array[i]/2 ; j++)
    {
        printf("%d ",arrayOdd[i][j]);
    }
    printf("\n");
    for(j = 0;j < array[i]/2-1;j++)
    {
        printf("%d ",arrayEven[i][j]);
    }
    printf("%d",arrayEven[i][array[i]/2-1]); 
    //printf("\n");
    l++;
    if(l < n1)
    {

    printf("\n");

    }
    if(i<n1)
    printf("\n"); 
}

// printf("\n");

return 0;//,为什么一直在输出格式这里面搞事? 

}//嗯 还差了 一个 空格的问题

6个回答

测试数据:
2
1000
10000

输出的答案就不对了,你的数组开太小了,,而且最后还少一个换行

可以不用这么麻烦,简单一点可以用以下这样的代码,一边数据i一遍输出答案。

#include<stdio.h>

int main()
{
    int n,i;
    scanf("%d",&i);
    for (int z=0; z<i; z++) {
        scanf("%d",&n);
        //不是第一个数据的话要留一个空行
        if (z != 0) {
            printf("\n");
        }
        // 输出奇数
        for (int j=1; j<=n; j++) {
            if (j%2) {
                if (j > 2) {
                    // 注意空格用于分隔当前输出数据和前一个输出数据之间
                    printf(" ");
                }
                printf("%d",j);
            }
        }
        printf("\n");
        // 输出偶数
        for (int j=1; j<=n; j++) {
            if (j%2 == 0) {
                if (j > 2) {
                    // 注意空格用于分隔当前输出数据和前一个输出数据之间
                    printf(" ");
                }
                printf("%d",j);
            }
        }
        printf("\n");

    }
    return 0;
}

qq_27416233
好一个迷途小书童 谢谢大神 提交了 数组开的太小了
大约 4 年之前 回复

图片说明

为什么 会提示我 输出不对?求大神解惑

偶数和奇数,不都是相邻两个数相差2吗?
循环的步长,设置为2 就可以了
不必计算某个数是奇还是偶

对第一个奇数或偶数,选取好,后面的2步伐。就可以了。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
求奇数和偶数的和.rar

求奇数和偶数的和.rar 求奇数和偶数的和.rar 求奇数和偶数的和.rar 求奇数和偶数的和.rar 求奇数和偶数的和.rar 求奇数和偶数的和.rar

将一个数组的奇数和偶数分开.c

/*将一个数组的奇数和偶数分开,奇数在左,偶数在右*/#includeint main(){ int m[10]; int i,j,k,tmp; printf("please input 10 numbers:\n m[]= ");     for(i=0;i     scanf("%d",&m[i]);         while (getchar()!='\n') ; //清空缓存

如何把一个整型数组中,奇数偶数进行分离

由于面试期间遇到一个笔试的问题,所以暂且贴出来供参考一下import java.util.Arrays;public class Tseparation { /** * 如何把一个整型数组中,奇数偶数进行分离。如前面放奇数,后面放偶数 * * 前提条件:不引入新的数组,一次for循环 * * 基本思想:一次循环,一个指针往前走,一个指针往

数据结构和算法之数组奇数、偶数分离

今日,博主在面试一家外企的时候,要求白板写程序。其中就有一道算法设计题目,下面就来分享一下这道题的算法思路和相关示例代码。         题目:要求将一个整形数组中的奇数和偶数进行分离,偶数在前面,奇数在后面,不对数字进行排序。         思路,其实这个是一类考察排序的题目的一种变形,排序的基本操作也是根据对应的规则对数据成员进行交换,所以呢这里的规则就是通过奇偶性进行排序。而我当时思

设计算法将线性表中的元素分为两部分,要求左边都是奇数,右边都是偶数,时间复杂度O(n),空间复杂度O(1)

#include #include #include using namespace std; int main() { int arr[100]; int k,m=0; for(k=0;;k++) { cin>>arr[k]; m++; if(getchar()=='\n') break; } int i=0,j=m-1;

java--奇偶数的简单分离

此题比较简单,有很多方法实现,这里总结了两个方法,经过测试,占用内存较低,运行时间较短的方法 先看一下问题描述 描述有一个整型偶数n(2 输入第一行有一个整数i(2 每组有一个整型偶数n。 输出第一行输出所有的奇数 第二行输出所有的偶数 样例输入 2 10 14 样例输出 1 3 5 7 9 2 4 6 8 10 1 3 5 7 9 11

用php 把数组中偶数,选择出来

我有这样的一个小算法,把数组中的所有的偶数或技术分别选择出来。很多人可能,会循环这个数组,而我恰恰不循环数组就能做到这一点,代码如下。      function odd($var) { // returns whether the input integer is odd return($var & 1); } function even($var) { // ret

实现将线性表奇数和偶数分开。

 #include#includetypedef struct node{  int data;  struct node *next;}node;void create_list(node **head){  int a;  node *p;  *head=(node *)malloc(sizeof(node));  (*head)->next=NULL;  printf("Input

求1-100的和,偶数和,奇数和

public class 控制跳转语句 { public static void main(String[] args) { /* * 求1-100的和 */ int sum = 0; //定义一个和,开始值为0 for(int i = 0 ; i <= 100 ; i ++ ) {

将一个整数线性表拆分成奇数和偶数线性表

题目描述: 设计一个线性表,由整数组成,请将这个线性表拆分成一个奇数线性表和一个偶数线性表,并输出最后的结果。线性表的最大长度为20. 输入样例: 10 1 2 5 8 10 17 22 23 68 87 输出样例: 1 5 17 23 87 2 8 10 22 68 输入描述: 第一行输入数组中元素的个数n 第二行输入n个整型数,以空格隔开

求100以内的奇数和偶数的和

/**********************************************************  求100以内的奇数和偶数的和  . QQ139767**********************************************************/#include void main(){ int a=0,b=0,c=1; /*设a偶数b奇数分别为计

Java算法——求1到100的偶数和,奇数和

1、求1到100的偶数和 int sum = 0; for (int i = 2; i sum += i; } System.out.println("1到100的偶数和为:" + sum); 2、求1到100的奇数和 int sum = 0; for (int i = 1; i sum += i; } System.out.println("1到100的奇数

ACM-奇偶数分离

描述 有一个整型偶数n(2<= n <=10000),你要做的是:先把1到n中的所有奇数从小到大输出,再把所有的偶数从小到大输出。 输入第一行有一个整数i(2 每组有一个整型偶数n。输出第一行输出所有的奇数 第二行输出所有的偶数 样例输入 2 10 14 样例输出 1 3 5 7 9 2 4 6 8 10 1 3 5 7 9 11 13 2 4 6 8 10 12 14 

Python偶数奇数简单实现

Python下的偶数和奇数的简单实现: # !/usr/bin/python3 # -*- coding: UTF-8 -*- numbers = [12, 37, 5, 42, 8, 67, 32, 43, 45] even = [] odd = [] while len(numbers) > 0: number = numbers.pop() if (numb

java基础代码实例 求1-100之间的奇数和偶数

/* 4.4 任务4:输出1-100之间的偶数(时间:20分钟) 4.4.1 任务描述 (1) 写一个程序,由用户输出1-100之间的偶数。 4.4.2任务目的 (1) 学习使用Java的循环语句。 4.4.3任务要求 (1) 使用循环 4.4.4 难点提示 无 4.5 任务5:输出1-100之间的奇数和(时间:20分钟) 4.5.1 任务描述 (2) 写一个程序,由用户输

求1-100之内的奇数偶数和

代码<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>1-100奇数偶数求和</title> </head> <script type="text/javascript"> var evenSum = 0; var oddSum = 0; for(var i = 0;i

数组中奇数偶数的拆分

1.要求是这样的:对于一个一维数组,要把数组中的数变成奇数在前偶数在后的形式。 思路:可以按照前后同时开始查找,从前头找第一个偶数 和从后头找第一个奇数 然后交换,重复以上操作。直到low>high package test6; public class oddEvenTest { public static void main(String[] args) { int a[]=

java求100以内的奇数和与偶数和

public static void main(String[] args) { //用for求100以内的奇数和 int jSum = 0;//保存奇数和 int oSum = 0;//保存偶数和 for(int i = 0; i &amp;lt;= 100; i++){ if(i%2 != 0){ jSum += i; }else{ oSum += i; ...

php奇偶数循环

根据表单提交的数据用户在浏览器生成图一示例的图形。 图形参数说明: 大小:图形中最长那一行的字符数。 奇数行/偶数行:最长那一个行为奇数行,紧邻的两行算偶数行,以此类推。 案例效果图: 应用了for循环,还应用了一个php函数 str_repeat str_repeat() 函数把字符串重复指定的次数。 用法:有两个参数, str_repeat(string,rep

把一个链表的奇数和偶数分开

给你一个单链表,修改此单链表,使得前面是偶数,后面是奇数。偶数间的相对顺序不变,奇数间的相对顺序不变。返回修改后的单链表的头节点。例如:Input: 17-&amp;gt;15-&amp;gt;8-&amp;gt;12-&amp;gt;10-&amp;gt;5-&amp;gt;4-&amp;gt;1-&amp;gt;7-&amp;gt;6-&amp;gt;NULLOutput: 8-&amp;gt;12-&amp;gt;10-&amp;gt;4-&amp;gt;6-&amp;gt;17-&amp;gt;15

1到100之间的和、偶数和、奇数和

package com.test; public class Sun{ public static void main(String args[]){ int sum=0; int sun=0; for(int i=1; i<=100; i+=2){ sum += i; } System.out.println("1————100的奇数---="+sum); for

求1到100之间的奇数之和、偶数之积。

#include #include //求1到100之间的奇数之和、偶数之积。 void main() { int n = 1, sum = 0; double odd = 1; while (n <= 100) { if (n % 2 == 0) { sum += n; } else { odd *= n; } n++; } printf

java:for循环练习1-100之间偶数/奇数和

package dayone1; public class fortest2 { public static void main(String[]args){ int sum=0; for (int i=1;i&amp;lt;=10;i++){//求1-10之间数的和 sum=sum+i; } for(in...

python之奇数和或偶数和

1.贴题 题目来自大学计算机–Python算法实践(东北大学) 考试 初始化如下列表 alist = [12, 34, 51, 66, 31, 7, 87, 58, 92] 从键盘输入一个整数。如果该数是奇数,计算alist中所有奇数的和,并将该和值加到列表的末尾;如果为偶数,则计算alist中所有偶数的和并加到列表末尾。 输出最终的alist。 2.说明 思路如下 1....

C++语言实现1到100的偶数,奇数;(初学者)

//区别1到100的偶数与奇数 1,2,3,4,5,6.......,100 在数学中 偶数可以用2k来表示 , 奇数用2k+1来表示。   在这里我们可以利用for循环 for (int a = 1;a {       if (a%2 == 0)                                                if是判断真假函数,此处的a%2 ==

Java_whilefor-->计算1到100以内的奇数和偶数的和

呼~ long time no see 问题是 计算1到100以内的奇数和偶数的和 下面是解题思路:先把问题简化为1到100以内的数的和运算,通过for循环来实现 接着加上判断奇数偶数的条件,通过if进行%2==0||%2!=0判断进而对不同的数进行操作 if(n%2!=0){ OddSum+=n; } if(n%2==0){ EvenSum+=n; } 整体代码如

Python偶数奇数 运算

Python 2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 20:19:30) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> b = [2,44,11,55,222] >>> [m

NYOJ -11--奇偶数分离

奇偶数分离 时间限制:3000 ms  |  内存限制:65535 KB 难度:1 描述有一个整型偶数n(2<= n <=10000),你要做的是:先把1到n中的所有奇数从小到大输出,再把所有的偶数从小到大输出。 输入第一行有一个整数i(2 每组有一个整型偶数n。 输出第一行输出所有的奇数 第二行输出所有的偶数 样例输入 2 10 14 样例

使用while语句,分别求1到100的奇数和 和 偶数和

public class TestWhile{          public static void main(String[] args){                  int i = 1;         int sum = 0;         while(i             sum+=i;             i+=2;         }     

奇数在前,偶数在后,可以有顺序改变

和上一篇博客不同,上一篇要求相对顺序不变,因此快排这种不稳定的排序方法就不行了,只能选择稳定的排序算法,这里要注意,比较并不只是大小的比较,只关注大小的比较思路会局限,像我刚开始都没意识到这是一道排序题。如果不要求相对顺序,则可以使用快排。在以前的文章里也使过快排去找第k小的数,可见快排思路的灵活性。这里利用patition函数,一遍过后,小的 在左边,大的在右边,同样也可以做到将奇数偶数分开,将

将奇偶数分别排序--华为机试题

//输入的是一个数组,将其中的奇数

Lua-拆分数组中的奇数和偶数

拆分出数组中的奇数和偶数

Python-while 计算100以内奇数和

sum = 0 n = 99 while n > 0: sum = sum + n n = n - 2 print(sum) 只要条件满足,就不断循环,条件不满足时退出循环。比如我们要计算100以内所有奇数之和,可以用while循环实现: 在循环内部变量n不断自减,直到变为-1时,不再满足while条件,循环退出。

Java数组练习(七)求用户输入数组中的奇数个数和偶数个数

需求:求用户输入的整形数组中的奇数个数和偶数个数。 import java.util.*; class Demo3 { //定义一个整数定义的数组,求奇数个数和偶数个数。 public static void main(String[] args) { int[] arr= new int[10]; Scanner in = new Scanner(System.in);

求1-100奇数/偶数的和

求1-100奇数的和,代码如下求1-100偶数的和,代码如下:

LabVIEW实现1~100的偶数和

一、请编程实现:求1~100的偶数和,显示和;并显示每个产生的偶数到数组,把所有偶数保存到电子表格文件或文本文件(文件名为“姓名c1”)。

整数数组的奇偶数分开(小米笔试题)

整数数组的奇偶数分开(小米笔试题) 题目: 在一个N个整数数组里面,有多个奇数和偶数,设计一个排序算法,令所有的奇数都在左边。请完成 sort 的代码实现(C++或Java) C++: void sort(int N, int[]a) {    … } Java: void sort(int[]a){    …

JS输出1~100中所有奇数的和

&amp;lt;!DOCTYPE html&amp;gt; &amp;lt;html lang=&quot;zh-CN&quot;&amp;gt; &amp;lt;head&amp;gt; &amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt; &amp;lt;title&amp;gt;Document&amp;lt;/title&amp;gt; &amp;lt;/head&amp;gt; &amp;lt;body&amp;gt; &amp;lt;/body&

习题:求1-100内奇、偶数的个数、和值与平均值

/*学习目标:了解for与if的嵌套使用;完成时期:2012年10月12日0时3分;程序功能:求1-100内奇、偶数的个数、和值 与 平均值;注意事项:for 与 if 默认只能控制一个语句,如果有多个语句,须将其用花括号{}包含在一起, 为了加强代码的易读性,哪怕是后面只有一个语句,最好也将其{}起来。*/# include int main(void){ int ji = 0,ou =

输入一个数,求这个数范围内的奇数和偶数的和

/**********************************************************  输入一个数,求这个数范围内的奇数和偶数的和  . QQ139767**********************************************************/#include void main(){ int a=0,b=0,c=1,d;  pri

C语言 OJ ...奇偶数分离

问题 B: 奇偶数分离 时间限制: 3 Sec  内存限制: 128 MB 提交: 332  解决: 119 [提交][状态][讨论版][命题人:uzzoj] 题目描述 有一个整型偶数n(2 输入 第一行有一个整数i(2 每组有一个整型偶数n。 输出 第一行输出所有的奇数 第二行输出所有的偶数 样例输入 2 10 14 样例输出 1

求1-1000的奇数之和

#include <stdio.h> void main( ) { int i, sum=0; for(i=1; i<1000; i=i+2) sum+=i; printf("奇数之和:%d\n",sum); return 0; }

计算1000以内所有偶数和,用while语句

/* * Copyright (c) 2013, 烟台大学计算机学院 * All rights reserved. * 作 者: 李家豪 * 完成日期:2013 年11月11日 * 版 本 号:v1.0 * 问题描述:计算1000以内所有偶数和。 * 样例输入: * 样例输出:250500. * 问题分析: */ #include using nam

分析奇数与偶数之间的关系

C. Mike and gcd problem time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Mike has a sequence A = [a1, a2, ..

判断一个数为偶数还是奇数

心得:更熟悉了if语句的使用

编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n, 当输入n为奇数时,调用函数 1/1+1/3+...+1/n(利用指针函数)

编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n, 当输入n为奇数时,调用函数 1/1+1/3+...+1/n(利用指针函数)。

10月24 日 c语言 计算1至10之间奇数之和及偶数之和。

#include int main() { int i,sum1=0,sum2=0; for(i=1;i { if(i%2==0) { sum1=sum1+i; } else  { sum2=sum2+i; } } printf("奇数之和:%d\n",sum1); printf("偶数之和:%d",sum2); printf("\n");

剑指offer--面试题14:调整数组顺序使奇数位于偶数前面--Java实现

题目描述: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。解题思路: 这个题目的思路还是很简单的,就是利用交换的思想。 两个指针,一个从前往后一个从后往前,在相遇之前,如果前面的指针遇到偶数就和后面指针遇到的奇数交换,其实就是快排的内部的一个过程。这个题的重点在于可扩展性,也就是说不局限于偶数和奇数 或者大小或者把能被3整除

利用数组找出100以内的奇数、偶数将它们分别输出

public class JiOShuChaZhao { //方法一 // public static void main(String[] args) { // int[] arr = new int[100]; // for (int i = 0; i < arr.length; i++) { // arr[i] = i + 1;

利用顺序表调整其为左右两部分,左边的为奇数,右边的为偶数

<br />#define MAXSIZE 100//2009年8月10日,王红刚// typedef struct { int elem[MAXSIZE]; int last; }SeqList; AdjustSqlist(SeqList *L)/*利用顺序表调整其为左右两部分,左边的为奇数,右边的为偶数*/ { int i=0,j=L->last; int t; while(i<j) { while(L->elem[i]%2!=0) i++; whi

立即提问
相关内容推荐