c语言 为什么输出都是0

img


为什么输出数组都是0,求解答。运行时没有提示错误啊。
为什么输出数组都是0,求解答。运行时没有提示错误啊。

你的提问并不完整,应讲明程序所要完成的功能以及运行自己的程序实现现象,单纯的“为什么输出数组都是0,求解答。运行时没有提示错误啊”,给不了有效的信息,看了你的程序,逻辑有点混乱,不知道是不是“对有限的多次输入的值,进行奇偶划分,然后分别再排序输出”,你可以运行一下下面的程序,不知是否是你想要的想象,如果是,你可以对照一下自己的程序,有啥不同,如果不完全是,你可以尝试借鉴进行修改,以达到你的目的,总的来说,你的程序达不到你的目的,是你的逻辑没有理清,建议在写程序前先理清程逻辑,可以借助流程图来分析。
#include <stdio.h>
static int t=0, u=0;
int os[100] = {0}, js[100] = {0};
int main()
{
int m, n, p, i, j, temp;
//printf("input n\n");
scanf("%d", &n);
while (n--, n >= 0) {
//printf("input m\n");
scanf("%d", &m);
for (i = 1; i <= m; i++) {
//printf("input p\n");
scanf("%d", &p);
if (p%2 == 0)
os[t++]=p;
else
js[u++]=p;
}
}
//printf("sort1\n");
for (i = 0; i < t-1; i++) {
for (j = i+1; j < t; j++)
if (os[i] > os[j]) {
temp = os[j];
os[j] = os[i];
os[i] = temp;
}
}
//printf("sort2\n");
for (i = 0; i < u-1; i++) {
for (j = i+1; j < u; j++)
if (js[i] > js[j]) {
temp = js[j];
js[j] = js[i];
js[i] = temp;
}
}

//printf("print1\n");
for(i=0; i< u; i++)
    printf("%d ", js[i]);
//printf("print2\n");
for(i=0; i<t; i++)
    printf("%d ", os[i]);
return 0;

}