
关于C语言问题,*a是一组年龄的数组,*b是用来存放0-9 10-19 等年龄段的个数,分别放
关于C语言问题,*a是一组年龄的数组,*b是用来存放0-910-19等年龄段的个数,分别放在b[0]b[1]等等中,我想知道为什么我这么写,得不到想要的结果,如果非要这么...
关于C语言问题,*a是一组年龄的数组,*b是用来存放0-9 10-19 等年龄段的个数,分别放在b[0] b[1]等等中,我想知道为什么我这么写,得不到想要的结果,如果非要这么写,哪里需要修改
#include <stdio.h>
# define N 50
# define M 11
void fun(int *a, int *b)
{int *p,i;
p=a;
for(i=0;i<M;i++)
{
b[i]=0;
}
for(i=0;i<N;i++,p++)
{
if(0<=*p<=9) b[0]=b[0]+1;
else
if(10<=*p<=19) b[1]=b[1]+1;
else
if(20<=*p<=29) b[2]=b[2]+1;
else
if(30<=*p<=39) b[3]=b[3]+1;
else
if(40<=*p<=49) b[4]=b[4]+1;
else
if(50<=*p<=59) b[5]=b[5]+1;
else
if(60<=*p<=69) b[6]=b[6]+1;
else
if(70<=*p<=79) b[7]=b[7]+1;
else
if(80<=*p<=89) b[8]=b[8]+1;
else
if(90<=*p<=99) b[9]=b[9]+1;
else
if(100<=*p) b[10]=b[10]+1;
}
} 展开
#include <stdio.h>
# define N 50
# define M 11
void fun(int *a, int *b)
{int *p,i;
p=a;
for(i=0;i<M;i++)
{
b[i]=0;
}
for(i=0;i<N;i++,p++)
{
if(0<=*p<=9) b[0]=b[0]+1;
else
if(10<=*p<=19) b[1]=b[1]+1;
else
if(20<=*p<=29) b[2]=b[2]+1;
else
if(30<=*p<=39) b[3]=b[3]+1;
else
if(40<=*p<=49) b[4]=b[4]+1;
else
if(50<=*p<=59) b[5]=b[5]+1;
else
if(60<=*p<=69) b[6]=b[6]+1;
else
if(70<=*p<=79) b[7]=b[7]+1;
else
if(80<=*p<=89) b[8]=b[8]+1;
else
if(90<=*p<=99) b[9]=b[9]+1;
else
if(100<=*p) b[10]=b[10]+1;
}
} 展开
1个回答
展开全部
0<=*p<=9 不能这样比较范围,编程语言中和数学上的还有点不一样。要用
*p >= 0 && *p <= 9
其他年龄段类似。
*p >= 0 && *p <= 9
其他年龄段类似。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询