小白的第一篇题解,多多指教
我本来是用scanf输入的,然后想到含有空格换行等字符,所以这里用gets,用scanf就得80分
使用scanf,strlen计算长度时遇到空格就会结束,比如12 34,只会得到2,使用gets,就会得到5(因为gets把空格也读取进去了
用ans计数
如果遇到空格,换行符,就跳过本次循环,如果不是ans就加1。最后输出,以下是我的代码
#include <stdio.h>
#include <string.h>
int main(){
char c[10];
int i,ans=0;
gets(c);
int sz=strlen(c);
for(i=0;i<sz;i++){
if(c[i]==' '||c[i]=='\n') continue;
else ans++;
}
printf("%d",ans);
return 0;
}