c语言程序结果不一样,虚心请教:为什么同样的代码输出结果不一样?

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#include

# define N 50

# define M 11

void fun(int *a, int *b)

{

int x;

for(x=0;x<11;x++)

b[x]=0;

for(;*a;a++)

{

if(*a<=9&&*a>=0)

b[0]++;

else if(*a<=19&&*a>=10)

b[1]++;

else if(*a<=29&&*a>=20)

b[2]++;

else if(*a<=39&&*a>=30)

b[3]++;

else if(*a<=49&&*a>=40)

b[4]++;

else if(*a<=59&&*a>=50)

b[5]++;

else if(*a<=69&&*a>=60)

b[6]++;

else if(*a<=79&&*a>=70)

b[7]++;

else if(*a<=89&&*a>=80)

b[8]++;

else if(*a<=99&&*a>=90)

b[9]++;

else if(*a>=100)

b[10]++;

}

}

double rnd()

{

static int t=29,c=217,m=1024,r=0;

r=(r*t+c)%m;

return((double)r/m);

}

void main()

{

FILE *wf;

int age[N], i,d[M];

int b[N]={32,45,15,12,86,49,97,3,44,52,17,95,63};

for(i=0; i

age[i]=(int)(115*rnd()); /*产生一个随机的年龄数组*/

printf("The original data :\n");

for(i=0; i

printf((i+1)%10==0? "%4d\n":"%4d",age[i]); /*每行输出10个数*/

printf("\n\n");

fun(age,d);

for(i=0; i<10; i++)

printf("%4d---%4d :%4d\n", i*10, i*10+9,d[i]);

printf("Over 100 : %4d\n",d[10]);

/******************************/

wf=fopen("out.dat","w");

fun(b,d);

for(i=0; i<10; i++)

fprintf(wf,"%4d---%4d :%4d\n", i*10, i*10+9,d[i]);

fprintf(wf,"Over 100 : %4d",d[10]);

fclose(wf);

/*****************************/

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值