大哥大姐,帮忙看一下嘛,我实在不知道,(统计x出现的次数,很少一段代码,帮我看一下错在那里?)
#include <stdio.h>
#include <string.h>
void main()
{
int i,mark;
char str[30];
printf( "请您输入要统计的字符串: ");
gets(str);
for(i=0;i <strlen(str);i++)
if(str[i]== 'x ')
mark++;
printf( "x出现的次数为:%d ",mark);
}
统计不出来是怎么回事?
[解决办法]
mark 没初始化
[解决办法]
int i,mark = 0;
mark 变量至少要赋一个初值啊, 这个是编程习惯
[解决办法]
mark=0;
[解决办法]
while(str[i]!= '\0 ')
{
if(str[i]== 'x ' || str[i]== 'X ')
{
mark++;
}
i++;
}
[解决办法]
咋个不出啊?
记得这个是控制台程序啊 要在cmd中运行
[解决办法]
#include <stdio.h>
#include <conio.h>
#include <string.h>
int main(char *argv, int argc)
{
char s[100];
printf( "请输入一段字符串\n ");
scanf( "%s ",&s);
int count = 0;
for(int i=0;i <strlen(s);i++)
{
if(s[i] == 'x ')
count++;
}
printf( "%d ",count);
getchar();
getchar();
return 0;
}
[解决办法]
gets(str);
输入肯定不对了
[解决办法]
#include <stdio.h>
void main()
{
int i=0,mark=0;
char str[30];
printf( "请您输入要统计的字符串: ");
gets(str);
puts(str);
while(str[i]!= '\0 ')
if(str[i]== 'x ' || str[i]== 'X ')
{
mark++;
i++;
}
printf( "x出现的次数为:%d ",mark);
}
我尝试了一下,改成这样结果是可以的了。
[解决办法]
将int i,mark;
改成
int i,mark = 0;
[解决办法]
#include "stdio.h "
#include "string.h "
int searchKeyInStr(char *searchStr, char *searchKey);
int main()
{
int mark=0;
char searchStr[30];
char searchKey[30];
printf( "Enter Search String : ");
fgets(searchStr,sizeof(searchStr),stdin);
searchStr[strlen(searchStr) -1] = '\0 ';
printf( "Enter Search Key: ");
fgets(searchKey, sizeof(searchKey), stdin);
searchKey[strlen(searchKey) -1] = '\0 ';
mark = searchKeyInStr(searchStr, searchKey);
printf( "found %d times\n ",mark);
return 0;
}
#if 1
int searchKeyInStr(char *searchStr, char *searchKey)
{
int index = 0;
int count = 0;
char *pIndex;
for(;;)
{
pIndex = strstr(searchStr + index, searchKey);
if(pIndex != NULL)
{
index = (int)(pIndex - searchStr + 1);
count++;
}
else
{
break;
}
}
return count;
}
#endif
-----------------
给分
[解决办法]
你while里写错了...
#include <stdio.h>
void main()
{
int i=0,mark=0;
char str[30];
printf( "请您输入要统计的字符串: ");
gets(str);
puts(str);
while(str[i]!= '\0 ')
{
if(str[i]== 'x ' || str[i]== 'X ') //这里错了
{
mark++;
}
i++; //这里也错了
}
printf( "x出现的次数为:%d\n ",mark);
}