一道题目不会做,怎么做呢?
提示: 作者被禁止或删除 内容自动屏蔽
/******************************************************************************* 现有1角币1张,2角币1张,5角币1张,1元币4张,5元币2张。用这些钱可以 付出不同的各种数额的币值有多少种. 根据题意写出这个程序,也不知道结果对不对,程序的思维也有些乱,还请大家 多多指教。谢谢。 *******************************************************************************/ #include<stdio.h> int jianche(float *p,int k)/*用于检测是否出现相同的钱额*/ { int i,j; int fanhui=1; for(i=0;i<k;i++) for(j=i+1;j<k;j++) if(p[i]==p[j]) return fanhui=0; return fanhui; } int main(void) { float jiao[8]={0.0,0.1,0.2,0.3,0.5,0.6,0.7,0.8}; /* 角钱可能出现的币值 */ float yuan_1=1.0,yuan_5=5.0; /* 元钱 */ float zhong[200];/* 总额,用于检测是否有相同数值出现 */ int i,j,k,jishu=0; for(i=0;i<8;i++) for(j=0;j<5;j++) for(k=0;k<3;k++) { if(!(i+j+k)) continue; zhong[jishu]=jiao[i]+yuan_1*j+yuan_5*k; if((jianche(zhong,jishu))&&zhong[jishu]!=0.0) printf("总额%.2f=一元%d张+五元%d张+角%.2f元 ", zhong[jishu],j,k,i); if(!(jishu%2)) puts(""); jishu++; } printf("\n共有%d种付币方法\n",jishu); getch(); }