问题描述
求一个长度不大于200的字符串的长度,要求不使用strlen方法。
输入
本题有多组测试数据。
一行给定一个字符串。
输出
字符串的长度。
输入样列
I love Beijing.
Beijing
输出样例
15
7
#include<stdio.h>
int main()
{
char ch;
int s;
while((ch=getchar())!=EOF){
s=0;
while(ch!='\n'){
s++;
}
printf("%d\n",s);
}
return 0;
}
#include<stdio.h>
int main()
{
char ch[250];
int s=0,s2=0;
int i=0,j=0;
while(1)
{
s=0;i=0;
gets(ch);
while(ch[i]!='\0')
{
if(ch[i]!='\n')
{
s++;
}
i++;
}
printf("%d\n",s);
}
return 0;
}
while改if试试
#include<stdio.h>
int main()
{
char ch;
int s;
while((ch=getchar())!=EOF){
s=0;
if(ch!='\n'){
s++;
}
printf("%d\n",s);
}
return 0;
}
#include<stdio.h>
int main()
{
char ch[200];
int s;
gets_s(ch);
int i = 0;
while (ch[i]!='\0')
{
i++;
}
printf("%d\n",i);
return 0;
}
这种没给定指定测试数据的直接写成死循环,OJ一般能过的
#include <stdio.h>
int main()
{
char ch;
int s;
while (1)
{
s = 0;
while ((ch = getchar()) != '\n')
{
s++;
}
printf("%d\n", s);
}
return 0;
}
改这样吧
#include<stdio.h>
int main()
{
char ch[250];
char ch2[250];
int s=0,s2=0;
int i=0,j=0;
gets(ch);
while(ch[i]!='\0')
{
if(ch[i]!='\n')
{
s++;
}
i++;
}
i=0;
gets(ch2);
while(ch2[i]!='\0')
{
if(ch2[i]!='\n')
{
s2++;
}
i++;
}
printf("%d\n",s);
printf("%d\n",s2);
return 0;
}