//物品打折,全部8.5折,且单品满500的有礼品相送。
//现在要统计打折后的价格,并保存打完折后单品价格仍然大于500的单品的价格。
#include"stdio.h"
#define N 6
int discount(float *p,float *g)
{
int i,j=0;
for(i=0;i<N;i++)
{
*(p+i)*=0.85;
printf("%.1f ",*(p+i));
if(*(p+i)>500)
{
g[j++]=*(p+i);
}
}
return j;
}
int main()
{
int i,j;
float g[6];
float a[N]={238.0,958.0,1050.0,599.0,799.0,198.0};
printf("打折前的价格分别是:");
for(i=0;i<N;i++)
{
printf("%.1f ",*(a+i));
}
printf("\n打折后输出的结果是:");
j=discount(a,g);
printf("判断一下g的长度%d",j);
putchar('\n');
for(i=0;i<N;i++)
{
printf("%.1f ",*(a+i));//再输出一次
}
printf("\n打折后仍然超过500的:");
for(i=0;i<discount(a,g);i++)//这个地方如果把discount(a,g)改为j,结果就不会出错,但数值上不是一样的吗?
{ //请问一下这是为什么呢?
printf("%.1f ",*(g+i));
}
putchar('\n');
return 0;
}朕日理万机