为什么0分?

lyhldy CSP-J2二等 2023-12-31 16:37:06 2023-12-31 17:06:22 21

明明在自己电脑上试了,为什么提交上去又错了

还是个0分?(两个都是)

版本1:

#include <bits/stdc++.h>
using namespace std;
char a[256];
int main() {
    gets(a);
    for (int i = 0; i <= strlen(a); i++) {
        if (a[i] >= 'a' && a[i] <= 'z') {
            cout << char(a[i] - 32);
            continue;
        }
        cout << a[i];
    }
    return 0;
}

版本2:

#include <bits/stdc++.h>
using namespace std;
int main() {
	char a;
    while(1){
    	a=getchar();
    	if(a=='\n') break;
    	else{
    		if (a>= 'a' &&  a<= 'z') {
    			cout<<char(a-32);
    		}
    		else{
    			cout<<a;
			}
		}
	}
    return 0;
}
{{ vote && vote.total.up }}

共 3 条回复

lyhldy CSP-J2二等

感谢站长:)

root 站长

第二个版本把 a == '\n' 改成 a == EOF

root 站长

第一种版本: 在C++中,gets()函数已经被废弃,不再建议使用。可以用 getline 来代替。