一道简单的C++题目,求大神解答,谢谢!!!

#include<iostream>#include<cctype>usingnamespacestd;intmain(){intnum[26]={0};chara[10... #include<iostream>
#include<cctype>
using namespace std;
int main(){
int num[26] = { 0 };
char a[100] = { "/0" };
gets(a);
for (int i = 0; a[i] != '\0'; ++i){
if (isalpha(a[i])) {
if (isupper(a[i]))
a[i] = tolower(a[i]);
++num[a[i] - 97];
}
}
for (int i = 0; i < 26; ++i)
if (num[i] != 0)
cout << char(97 + i) << ":" << num[i] << endl;
return 0;
}

上面是我的题目和代码,自己测试的时候结果都合适,一提交到系统就不合适了。

我想知道我是哪个地方考虑的不周全,存在bug啊,忘大神给出解答,感激不尽啊!
展开
 我来答
Rankabc
2014-04-02 · TA获得超过3559个赞
知道大有可为答主
回答量:3705
采纳率:59%
帮助的人:1038万
展开全部
#include<iostream>
#include<cctype>
using namespace std;
int main(){
int  num[26] = { 0 };
char a[100] = {0};//初始化有问题
int i;
gets(a);
for (i = 0; a[i] != '\0'; ++i){
if (isalpha(a[i])) {
if (isupper(a[i]))
a[i] = tolower(a[i]);
++num[a[i] - 97];
}
}
for ( i = 0; i < 26; ++i)
if (num[i] != 0)
cout << char(97 + i) << ":" << num[i] << endl;
return 0;
}
更多追问追答
追问
麻烦能解释下为什么么?为啥那样就不对了?
追答
这些都行,你的斜杠错了
char a[100] = { "\0" };
char a[100] = {0 };
char a[100] = "\0";
char a[100] ="";
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式