int isvalidChar(char c[])
{
int valid;
int j,z;
int numofError=0;
for(j=0;j<MAXELS;j++)
{
if(c[j]=='b')
z++;
else if(c[j]=='w')
z++;
else if(c[j]=='r')
z++;
else
numofError++;
}
if(numofError!=0)
valid=FALSE;
else
valid=TRUE;
return(valid);
}
//数组c[]中的 字符个数 为 n,n应该是 n<=MAXELS, 而你的 for 中 用的是 MAXELS, c[]中有的
//可能是空的,所以 numofError++; 也会执行,就不正确了,下面是修改好了的。
//你看行不.
#include <stdio.h>
#include <string.h>
#define MAXELS 100
#define TRUE 1
#define FALSE 0
int isvalidChar(char c[])
{
int valid;
int j,z;
int numofError=0;
int n=0;
n=strlen(c);
for(j=0;j<n;j++)
{
if(c[j]=='b')
z++;
else if(c[j]=='w')
z++;
else if(c[j]=='r')
z++;
else
numofError++;
}
if(numofError!=0)
valid=FALSE;
else
valid=TRUE;
return(valid);
}
void main(){
char c[MAXELS];
printf("input a chars : ");gets(c);
int k=0;
k=isvalidChar(c);
if(k==1)
printf("OK TRUE\n");
else
printf("NO FALSE\n");
}
//可能是空的,所以 numofError++; 也会执行,就不正确了,下面是修改好了的。
//你看行不.
#include <stdio.h>
#include <string.h>
#define MAXELS 100
#define TRUE 1
#define FALSE 0
int isvalidChar(char c[])
{
int valid;
int j,z;
int numofError=0;
int n=0;
n=strlen(c);
for(j=0;j<n;j++)
{
if(c[j]=='b')
z++;
else if(c[j]=='w')
z++;
else if(c[j]=='r')
z++;
else
numofError++;
}
if(numofError!=0)
valid=FALSE;
else
valid=TRUE;
return(valid);
}
void main(){
char c[MAXELS];
printf("input a chars : ");gets(c);
int k=0;
k=isvalidChar(c);
if(k==1)
printf("OK TRUE\n");
else
printf("NO FALSE\n");
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2011-01-03
没看懂你想干啥,是想统计有效字符的个数,还是要判断字符数组中是否包含无效字符
bool isValidChar( char checkedCharGroup[],
int array_max1,
char validCharGroup[],
int array_max2 )
{
bool isValid;
int i,j;
for( i = 0; i < array_max1; ++i )
{
isValid = false;
for( j = 0; j < array_max2 ++j )
{
if ( checkedCharGroup[i] == validCharGroup[j] )
{
isValid = true; break;
}
}
if ( false == isValid )
{
return false;
}
}
return true;
}本回答被网友采纳
bool isValidChar( char checkedCharGroup[],
int array_max1,
char validCharGroup[],
int array_max2 )
{
bool isValid;
int i,j;
for( i = 0; i < array_max1; ++i )
{
isValid = false;
for( j = 0; j < array_max2 ++j )
{
if ( checkedCharGroup[i] == validCharGroup[j] )
{
isValid = true; break;
}
}
if ( false == isValid )
{
return false;
}
}
return true;
}本回答被网友采纳