我的答案如下:
#include<stdio.h>
int main(){
int cnt,arr[1000],ocnt=0,ecnt=0;
scanf("%d",&cnt);
printf("\n");
for(int i=0;i<cnt;i++){
scanf("%d ",&arr[i]);
}
for(int i=0;i<cnt;i++){
if(arr[i]%2==0){
ecnt++;
}else{
ocnt++;
}
}
printf("\n%d %d",ocnt,ecnt);
}
修改如下,改动处见注释,供参考:
#include<stdio.h>
int main() {
int cnt, arr[1001], ocnt = 0, ecnt = 0;
scanf("%d", &cnt);
//printf("\n"); // 修改
for (int i = 0; i < cnt; i++) {
scanf("%d", &arr[i]); //scanf("%d ", &arr[i]); "%d " 格式控制符多了空格 修改
}
for (int i = 0; i < cnt; i++) {
if (arr[i] % 2 == 0) {
ecnt++;
}
else {
ocnt++;
}
}
printf("%d %d", ocnt, ecnt); //printf("\n%d %d", ocnt, ecnt); 修改
return 0;
}
格式错误,试试看
printf("\n%d %d",ocnt,ecnt);
->
printf("%d %d",ocnt,ecnt);
【以下回答由 GPT 生成】
你的代码基本上是正确的,不过有几个小问题需要修复。我在下面的代码中对其进行了修改:
#include <stdio.h>
int main() {
int cnt, arr[1000], ocnt = 0, ecnt = 0;
scanf("%d", &cnt);
printf("\n");
for (int i = 0; i < cnt; i++) {
scanf("%d", &arr[i]);
}
for (int i = 0; i < cnt; i++) {
if (arr[i] % 2 == 0) {
ecnt++;
} else {
ocnt++;
}
}
printf("%d %d\n", ocnt, ecnt);
return 0;
}
修改点如下:
printf
语句中,我们需要以“奇数个数 偶数个数”的形式输出结果。所以更正为printf("%d %d\n", ocnt, ecnt);
。return 0;
语句。这是为了表示程序的正常结束。现在你可以编译和运行修改后的代码,通过输入一串数字来测试,并获取正确的奇数和偶数个数结果。
【相关推荐】