#include <stdio.h>
#define MAX 70
int main(void) {
int i = 0;
int number[MAX];
scanf("%d\n", &number[i]);
i++;
while (number[i] != 0) {
scanf("%d\n", &number[i]);
i++;
}
int array_odd[MAX],array_even[MAX];
int i_even = 0;
int i_odd = 0;
while (i > 0) {
if(number[i]%2 == 0) {
number[i] = array_even[i_even];
i_even++;
} else {
number[i] = array_odd[i_odd];
i_odd++;
}
}
i_even = 0;
i_odd = 0;
if (number[0]%2 == 0){
while (i_even > 0) {
printf("%d ",array_even[i_even]);
i_even--;
}
while (i_even > 0) {
printf("%d ",array_even[i_even]);
i_even--;
}
} else {
while (i_even > 0) {
printf("%d ",array_even[i_even]);
i_even--;
}
while (i_even > 0) {
printf("%d ",array_even[i_even]);
i_even--;
}
}
return 0;
}
c语言数组问题 求解为什么运行错误
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
5条回答 默认 最新
- soar3033 2021-08-18 14:50关注
估计你想要这个结果吧#include <stdio.h> #define MAX 70 int main(void) { int i = 0; int number[MAX]; int tmp; while (1) { scanf("%d", &tmp); number[i] = tmp; i++; if (tmp == 0) { break; } } int array_odd[MAX], array_even[MAX]; int i_even = 0; int i_odd = 0; while(i--) { if (number[i] % 2 == 0) { array_even[i_even]=number[i]; i_even++; } else { array_odd[i_odd]=number[i] ; i_odd++; } } printf("even is :"); while (i_even--) { printf("%d ", array_even[i_even]); } printf("\n"); printf("odd is :"); while (i_odd--) { printf("%d ", array_odd[i_odd]); } printf("\n"); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用 1
悬赏问题
- ¥15 安卓adb backup备份应用数据失败
- ¥15 eclipse运行项目时遇到的问题
- ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
- ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
- ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
- ¥50 成都蓉城足球俱乐部小程序抢票
- ¥15 yolov7训练自己的数据集
- ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
- ¥15 电力市场出清matlab yalmip kkt 双层优化问题
- ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)