pta--输入一个正整数n,再输入n个整数,输出其中的偶数。要求相邻数字中间用一个空格分开,行末不得有多余空格

问题

程序填空题
输入一个正整数n,再输入n个整数,输出其中的偶数。要求相邻数字中间用一个空格分开,行末不得有多余空格
pta--输入一个正整数n,再输入n个整数,输出其中的偶数。要求相邻数字中间用一个空格分开,行末不得有多余空格

正确答案

  1. 由题干知此题共有三个要求:
    要求一:输出其中的偶数
    要求二:相邻数字间要用空格隔开
    要求三:行末不得有多余空格
  2. 各要求解决办法:
    要求一解决办法:if(x % 2 == 0)就输出
    否则不是偶数即不输出
    要求二解决办法:因为我首先看到题中的char ch,就先入为主认为ch = ’ ';然而这样就进入了一种死循环,得不出正确答案。
    要求三解决办法:

经过查找答案:
最后正确答案为:
首先经过上下文分析我们可以认定第二个空填

(x%2==0)

下一句代码说如果first == 1就输出%d,attention : 输出的数前后都没有空格,然后接着看他说如果first != 1就怎样;attention:经过思考可以判定first是解决要求二三的条件。

首先此程序运行应先输入一个数加一个空格然后再输一个数加一个空格,最后解决末行不加空格的问题
或者
首先此程序运行赢先输入一个数然后再输一个空格一个数,这样直接就解决的末行不加空格的问题

很明显此填空题要求很符合第二种想法,first即为判断以何种方式输出数;
经分析可知如果first == 1就输出数( printf("%d", x); ) 否则就输出空格+数(printf(" %d", x))

最后答案

first = 1;
(x % 2 == 0)
first = 0; attention:fisrt可以等于除1以外的任何数
printf(" %d", x);