紫书 统计字符1的个数

#include<stdio.h>
#define maxn 10000000+10
int main(){
 char s[maxn];
 scanf("%s",s);
 int tot=0;
 for(int i=0;i<strlen(s);i++)
   if (s[i]==1)tot++;
 printf("%d\n",tot);
}

以上是错误代码

有三个以上的错误。

我自己是这么改的

#include <stdio.h>
#include<string.h>
#define maxn 102


int main()
{
  char s[maxn];
  scanf("%s",s);
  int tot=0,i;
  for( i=1;s[i]!='\0';i++)
    if(s[i]=='1')
    tot++;
  printf("%d\n",tot);
    return 0;
}

1.看了贴吧有人说 i<strlen(s);i++ 导致效率低下,我就加了个头文件,#include<string.h>,但没什么用,太大了 建议改成s[i]!='\0',今天知道这个的用法了,还挺高兴。。。以前只看见过别人的题解这么用。

2.我也是老犯这些毛病,s这个数组是字符型,s[i]==1不对,除非是整型。可以这么改s[i]=='1' 或者s[i]-'0'=1均可。

3.max定义太大了,改不了,就随便缩小了。

4.我的不可以直接在for语句里面直接定义,我就提出来了。

睡了好久的觉,上午又没看什么书,也没敲代码。

中午睡觉又破天荒的睡着了,结果一觉起来4点左右了,不是蓉蓉推我我可能要睡到吃饭吧。模模糊糊我梦见好像过年了,噼里啪啦的好像是鞭炮声,想来可能是大佬们在努力敲代码的声音吧,有些安心又有些惭愧。今天状态不错,至少中午还睡着了,昨天中午一闭眼就是想起了自己没有过六级笔试的事情,大家都过了,除了我。昨天和学长交流了一下,学长也没过六级,我打算认认真真扎扎实实的要过六级。我看了自己的成绩,笔试349,唉,少的可怜,口语c+。口语勉勉强强过了,我今年12月份还想要再考一次,实在觉得要过六级不然心里膈应的慌。
唉,大家都是大一就过了四六级,到了我这里好像就例外了一样。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值