企鹅家的马达加斯 2016-12-21 10:45 采纳率: 50%
浏览 1472
已采纳

字符串长度小于10000,只输入Q和S

#include
#define N 10000
int main()
{
char str[N];
int i,j,counter=0,T,number=0;
scanf("%d ",&T);
for(j=0;j {
gets(str);
for(i=0;str[i]!='\0';i++)
{
if(str[i]=='Q')
{
counter++;
}
else
{
number++;
}
}
if(counter>number)
{
printf("Simple\n");
}
else
{
printf("晴天\n");
}
}
return 0;
}
不知道哪错了。

  • 写回答

2条回答 默认 最新

  • T_world 2016-12-21 12:52
    关注

    因为你的程序每次循环结束后没有把counter和number这两个变量清零,所以把每次的值都算上了,比如第一次输入SQS,counter为1,number为2,第二次输入QQS,这时counter和number都变成了3,所以都是输出晴天,你只要在输出语句的后面加上counter和number清零的代码就可以了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 Opencv(C++)异常
  • ¥15 VScode上配置C语言环境
  • ¥15 汇编语言没有主程序吗?
  • ¥15 这个函数为什么会爆内存
  • ¥15 无法装系统,grub成了顽固拦路虎
  • ¥15 springboot aop 应用启动异常
  • ¥15 matlab有关债券凸性久期的代码
  • ¥15 lvgl v8.2定时器提前到来
  • ¥15 qtcp 发送数据时偶尔会遇到发送数据失败?用的MSVC编译器(标签-qt|关键词-tcp)
  • ¥15 cam_lidar_calibration报错