历年CSP-J初赛真题解析 | 2016年CSP-J初赛阅读程序(23-26)

学习C++从娃娃抓起!记录下CSP-J备考学习过程中的题目,记录每一个瞬间。

附上汇总贴:历年CSP-J初赛真题解析 | 汇总_热爱编程的通信人的博客-CSDN博客


#include 
using namespace std;
int main()
{
    int max, min, sum, count = 0;
    int tmp;
    cin >> tmp;
    if (tmp==0)
        return 0;
    max = min = sum = tmp;
    count++;
    while (tmp!=0)
    {
        cin >> tmp;
        if (tmp!=0)
        {
            sum += tmp;
            count++;
            if (tmp>max)
                max=tmp;
            if (tmp<min)
                min=tmp;
        }
    }
    cout << max << ", " << min << ", " << sum/count << endl;
    return 0;
}

第23题

输入:1 2 3 4 5 6 0 7

输出:( )

【答案】:6, 1, 3

【解析】

第15行表示读到0就结束,所以最后一个输入7没有读进来。

运行到最后max=6,min=1,sum=21,count=6。另外需要注意格式,","后面有一个空格

#include 
using namespace std;

int main()
{
    int i=100, x=0, y=0;
    while (i>0)
    {
        i--;
        x = i%8;
        if (x==1)
            y++;
    }
    cout << y << endl;
    return 0;
}

第24题

输出:( )

【答案】:13

【解析】

题目是求1~99之间有多少个数模8余1,一共13个。

#include 
using namespace std;

int main() {
    int a[6] = {1,2,3,4,5,6};
    int pi=0;
    int pj=5;
    int t, i;
    while (pi<pj)
    {
        t = a[pi];
        a[pi] = a[pj];
        a[pj] = t;
        pi++;
        pj--;
    }
    for (i=0; i<6; i++)
        cout << a[i] << ",";
    cout << endl;
    return 0;
}

第25题

输出:( )

【答案】:6,5,4,3,2,1,

【解析】

双指针模拟,注意最后“1”后面还有一个“,”

#include 
using namespace std;
int main()
{
    int i, length1, length2;
    string s1, s2;
    s1 = "I have a dream.";
    s2 = "I Have A Dream.";
    length1 = s1.size();
    length2 = s2.size();
    for (i=0; i<length1; i++)
        if (s1[i]>='a' && s1[i]<='z')
            s1[i] -= 'a' - 'A';
    for (i=0; i<length2; i++)
        if (s2[i]>='a' && s2[i]<='z')
            s2[i] -= 'a' - 'A';
    if (s1==s2)
        cout << "=" << endl;
    else if (s1>s2)
        cout << ">" << endl;
    else  
        cout << "<" << endl;
    return 0;
}

第26题

输出:( )

【答案】:=

【解析】

第12行至第13行,就是将小写字母转为大写字母。s1和s2最后都转为"I HAVE A DREAM.",判断为相等

你可能感兴趣的:(c++)