亦行之 2024-03-05 10:59 采纳率: 34.5%
浏览 53

c语言在pta上提示运行时错误

求!!请问为什么提交到pta后有运行时错误的提示?在devc++软件上可以成功得到输出样例,有人能帮我解答一下吗

img


#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;
}

img

  • 写回答

7条回答 默认 最新

  • 百锦再@新空间代码工作室 全栈领域优质创作者 2024-03-05 10:59
    关注

    在您的代码中存在一些问题,导致在提交到pta后出现运行时错误提示。以下是一些问题点和解决方案:

    1. 在您的代码中,存在一些语法错误,比如缺少变量声明、拼写错误等。请仔细检查代码,确保所有的变量、函数等都被正确声明和使用。

    2. 您在代码中使用了不允许的符号或语法,比如"
      main()
      {"
      。正确的main函数声明应该是"
      int main()"

    3. 在代码中出现了一些逻辑错误,比如在计算sum时存在错误的逻辑判断。请仔细检查算法逻辑,确保程序能够正确运行。

    4. 在代码中使用了一些废弃的函数,比如gets()函数。建议改用fgets()函数来获取用户输入,以避免潜在的安全问题。

    5. 确保在使用字符串比较时,考虑大小写字母的情况,可以使用tolower()函数将大写字母转换为小写字母再进行比较。

    希望以上解决方案能够帮助您找到并解决代码中的问题,让代码能够成功运行并输出正确结果。如果还有其他问题或疑问,请随时向我提问。


    有问题你别着急,评论留言都可以,看到马上就回复,尽量及时补充齐
    评论

报告相同问题?

问题事件

  • 创建了问题 3月5日

悬赏问题

  • ¥20 python忆阻器数字识别
  • ¥15 无法输出helloworld
  • ¥15 高通uboot 打印ubi init err 22
  • ¥20 PDF元数据中的XMP媒体管理属性
  • ¥15 R语言中lasso回归报错
  • ¥15 网站突然不能访问了,上午还好好的
  • ¥15 有没有dl可以帮弄”我去图书馆”秒选道具和积分
  • ¥15 semrush,SEO,内嵌网站,api
  • ¥15 Stata:为什么reghdfe后的因变量没有被发现识别啊
  • ¥15 振荡电路,ADS仿真