重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
你的if中的条件写的有问题,应改为
创新互联建站2013年至今,是专业互联网技术服务公司,拥有项目成都网站建设、网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元仙居做网站,已为上家服务,为仙居各地企业和个人服务,联系电话:18980820575
if(c='a'c='z'||c='A'c='Z')
这样说明只有你输入的是字母时,a的值才执行++操作。而你的条件c('a'='z''A'='Z'))后半部分('a'='z''A'='Z'))返回值永远都是真,因为a和A永远都比z和Z小呀。前半部分的c是你输入的值,如果不是输入了0对应的ascii码值48,那也永远是真,所以a条件总是成立,a总是++;结果当然就会不对了
#includestdio.h
void delStr(char *s,char p)
{char *p1,*p2;
for(p1=p2=s;*p1;p1++)
if(*p1!=p)*p2++=*p1;
*p2='\0';
}
int main()
{char s[300],ch;
gets(s);
ch=getchar();
delStr(s,ch);
printf("%s\n",s);
return 0;
}
#includestdio.h
#includestring.h
int MyStrCmp( char *s1,char *s2 );
int main()
{
char s1[30], s2[30];
gets(s1);
gets(s2);
printf("%d\n", MyStrCmp(s1, s2));
return 0;
}
int MyStrCmp(char * s1, char * s2)
{
int flag = 0;//0表示相等,1表示s1大于s2,-1表示s1小于s2
int minLength = 0; //较短串的长度
int i = 0;
minLength = strlen(s1) = strlen(s2) ? strlen(s1) : strlen(s2);
for(i = 0; i minLength; i++)
{
if(s1[i] != s2[i])
{
if(s1[i] s2[i])
flag = 1;
else
flag = -1;
break;
}
else
continue;
}
return flag;
}
一直想找出一种简便的方法,于是想到了递归,不知道是不是符合题意,方法不太好,尽是全局变量,看看吧
#includestdio.h
float ave=0,s=0,sum=0;int n,i;
void fun()
{ float t;
printf("请输入数据:");
scanf("%f",t);
sum+=t;
if(-1+i--)
fun();
if(i==0)
{
ave=1.0*sum/n;
}
s+=(t-ave)*(t-ave);
}
void main()
{
printf("要输入几个数:");
scanf("%d",n);
i=n;
fun();
printf("ave=%f,s=%f",ave,s);
}