求!!请问为什么提交到pta后有运行时错误的提示?在devc++软件上可以成功得到输出样例,有人能帮我解答一下吗
#include<stdio.h>
#include<string.h>
//运行时错误 ??
int main()
{
char s[10001];
// scanf("%s",s);
gets(s);
int sum=0;
char str[30]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
//存储字母
int len=strlen(s);
// printf("%d",len);
for(int i=0;i<len;i++){
if((s[i]>='A'&&s[i]<='Z')||(s[i]-32>='A'&&s[i]-32<='Z'));//大写或小写是字母的情况
{
for(int j=0;j<26;j++){
if(s[i]==str[j]||s[i]-32==str[j]){
sum+=j+1;//序号加起来
break;
}
}
}
}//开始就错在应该大小写分开判断因为str里只存储了大写的
// printf("%d",sum);
int num1=0,num0=0;
//化为二进制如何化?
while(sum!=1){
if(sum%2==1)//奇数
{
num1++;
sum=(sum-1)/2;
}
else{
num0++;
sum=sum/2;
}
}
num1++;//sum最后==1
printf("%d %d",num0,num1);
return 0;
}