qqcmm1015 2022-08-30 14:14 采纳率: 61.8%
浏览 34
已结题

Time Limit Exceed如何修改

输入一个正整数 repeat (0<repeat<10),做repeat 次下列运算:
输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的个数。
2
acm.zcmu.edu.cn/JudgeOnline ACMICPC.
AC Neng Nian Lai Guo Dao.

letter=30,blank=1,digit=0,other=5
letter=19,blank=5,digit=0,other=1

#include<stdio.h>
int main()
{int n,letter,blank,other,digit;
scanf("%d",&n);
char c;
getchar();
while(n--!=0){letter=0;blank=0;other=0;digit=0;
while((c=getchar())!='\n'){
if(c>='a'&&c<='z'){letter++;
} else if(c>='A'&&c<='Z'){letter++;
} else if(c>='0'&&c<='9'){digit++;
} else if(c==' '){blank++;
} else{other++;
}
}
printf("letter=%d,blank=%d,digit=%d,other=%d\n",letter,blank,digit,other);
}

return 0;
}

  • 写回答

4条回答 默认 最新

  • qzjhjxj 2022-08-30 14:52
    关注

    这句的问题:while((c=getchar())!='\n') ,改用gets()函数 。修改如下,见注释,供参考:

    #include<stdio.h>
    int main()
    {
        int n, letter, blank, other, digit, i;  //修改
        scanf("%d", &n);
        char c[256];   //修改
        getchar();
        while (n--) {  //while (n-- != 0) 修改
            letter = 0; blank = 0; other = 0; digit = 0; i = 0;  //修改
            gets(c); //修改
            while(c[i]){
            //while ((c = getchar()) != '\n') {  
                if (c[i] >= 'a' && c[i] <= 'z') {
                    letter++;
                }
                else if (c[i] >= 'A' && c[i] <= 'Z') {
                    letter++;
                }
                else if (c[i] >= '0' && c[i] <= '9') {
                    digit++;
                }
                else if (c[i] == ' ') {
                    blank++;
                }
                else {
                    other++;
                }
                i++;
            }
            printf("letter=%d,blank=%d,digit=%d,other=%d\n", letter, blank, digit, other);
        }
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 9月7日
  • 已采纳回答 8月30日
  • 创建了问题 8月30日

悬赏问题

  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)