作业里的问题,求指教,谢了!
题目:函数fun的功能是:对a数组中n种商品价格进行分段统计,商品各段价格的数目存到b数组中; 其中:价格为100元以下的个数存到b[0]中,价格为100元到199元的个数存到b[1],价格为200元到299元的个数存到b[2],价格为300元到399元的个数存到b[3],价格为400元到499元的个数存到b[4],价格为500元以上的个数存到b[5]中。int i; 或者 int i;
for(i=0;i<6;i++) b[i]=0; for(i=0;i<6;i++) b[i]=0;
for(i=0;i<strlen(a);i++) for(i=0;i<strlen(a);i++)
switch(a[i]/100) if(a[i]/100<5) b[a[i]/100]++;
{case 0: b[0]++;break; else b[5]++;
case 1: b[1]++;break;
case 2: b[2]++;break;红色部分代码不能改。
case 3: b[3]++;break;
case 4: b[4]++;break;
default: b[5]++;}
我写的代码如下(错了很多):我写得很烂,希望各位大侠能帮我改改,或者给我个优化点的代码,谢le!
#include<stdio.h>
#include<string.h>
void fun(int a[])
{
int i,b[5];
for(i=0;i<6;i++)
b[i]=0;
for(i=0;i<strlen(a);i++)
switch(a[i]/100)
{
case 0:b[0]++;break;
case 1:b[1]++;break;
case 2:b[2]++;break;
case 3:b[3]++;break;
case 4:b[4]++;break;
default:b[5]++;
}
printf("the price under 100 yuan: %d\n",b[0]);
printf("the price for 100 to 200 yuan: %d\n",b[1]);
printf("the price for 200 to 300 yuan: %d\n",b[2]);
printf("the price for 300 to 400 yuan: %d\n",b[3]);
printf("the price for 400 to 500 yuan: %d\n",b[4]);
printf("the price more than 500 yuan: %d\n",b[5]);
}
void main()
{
int a[20],i,j,*k,n=20;
printf("the price of %d input\n",n);
for(i=0;i<n;i++)
scanf("%d",a+i);
fun(a);