/把一张一元的钞票,换成一分,二分,和五分的硬币,每种至少五枚,问有多少种方案/
#include <stdioh>
int main() {
int n1, n2, n5;
for (n1 = 5; n1 <= 65; n1++) //因为2和5至少5枚,所以1至多有65
for (n2 = 5; n2 <= 35; n2++) //同理1和5至少5枚,所以2至多有35
for (n5 = 5; n5 <= 17; n5++)//同上
if (n1 1+ n2 2 + n5 5 == 100)
printf("%3d 1 + %3d 2 + %3d 5 = 100\n", n1, n2, n5);
return 0;
}
#include <stdioh>
#include <stdlibh>
#include <timeh>
int main(void)
{
int count_z = 0,count_s = 0,count_x = 0;
int flag;
srand((unsigned int)time(NULL));//以时间作为种子。
while(count_s < 3 && count_x < 3)
{
flag = rand()%2;//产生0和1两个随机数,作为正反面。
if(flag)
{
count_x++;
count_s = 0;
printf("国徽向下 !\n");
}
else
{
count_s++;
count_x = 0;
printf("国徽向上 !\n");
}
count_z++;
}
printf("========================================================\n");
printf("总共抛了 %d 次!\n", count_z);
system("pause");
return 0;
}
#include<stdioh>
void main()
{
int a,b,c,d=0;
for(a=0;a<=100;a++)
for(b=0;b<=50;b++)
for(c=0;c<=20;c++)
{
if(100==(a+2b+5c))
{
printf("%d,%d,%d\n",a,b,c);
d=d+1;
}
}
printf("%s%d%s\n","总共有",d,"种换法。");
}
主要是增加了变量 d 来记录有多少种换法!
我认为楼上的回答是不正确的,分析如下:
因为在一正一反中,可以有两种情况:先正后反,先反后正,再加上两正,两反,一共有四种情况了,所以只能是四选一。
用这种正反的办法,好像不行。
可以考虑在直角坐标系中作三条射线,一条0度,一条120度,一条240度,并规定三个左闭右开的区间,即[0,120),[120,240),[240,360),在这个坐标范围内抛硬币,看落在那个区间。供参考。
以下是用c语言编写的程序(后面有运行结果):
#include <stdioh>
int Arrange(float n)//返回兑换方案
{
int yiJiao=0;//1角硬币的数量
int wuJiao=0;//5角硬币的数量
int yiYuan=0;//1元硬币的数量
int moneyCount=n10;//总金额元化成角
int YiJiao=0;//最少硬币数量中1角硬币的数量
int WuJiao=0;//最少硬币数量中5角硬币的数量
int YiYuan=0;//最少硬币数量中1元硬币的数量
int count=0;//兑换方案数
//三次循环
for(yiJiao=0;yiJiao<=moneyCount/1;yiJiao++)
for(wuJiao=0;wuJiao<=moneyCount/5;wuJiao++)
for(yiYuan=0;yiYuan<=moneyCount/10;yiYuan++)
if(yiJiao1+wuJiao5+yiYuan10==moneyCount)
{
count++;
printf("%02f元可兑换成%d个1角硬币和%d个5角硬币和%d个1元硬币。\n",n,yiJiao,wuJiao,yiYuan);
if(yiJiao+wuJiao+yiYuan<YiJiao+WuJiao+YiYuan||YiJiao+WuJiao+YiYuan==0)
{
YiJiao=yiJiao;
WuJiao=wuJiao;
YiYuan=yiYuan;
}
}
printf("---------------------------------------------------------------\n");
printf("其中找出的硬币个数最少的情况是:%d个1角硬币和%d个5角硬币和%d个1元硬币,共计%d个硬币。\n",YiJiao,WuJiao,YiYuan,YiJiao+WuJiao+YiYuan);
printf("---------------------------------------------------------------\n");
return count;
}
void main()
{
printf("以下是兑换方案:\n");
printf("兑换方案共有%d种。\n",Arrange(270));
}
#include<stdioh>
void main(){
int n;
printf("输入要找的硬币总数:");
scanf("%d",&n);
int five_cent = 0;//5角
five_cent = n/50;
n -= five_cent 50;
int one_cent = 0;//1角
one_cent = n/10;
n -= one_cent 10;
int five_penny = 0;//5分
five_penny = n/5;
n -= five_penny 5;
int two_penny = 0;//2分
two_penny = n/2;
n -= two_penny 2;
int one_penny = 0;//1分
one_penny = n;
printf("5角:%d\n",five_cent);
printf("1角:%d\n",one_cent);
printf("5分:%d\n",five_penny);
printf("2分:%d\n",two_penny);
printf("1分:%d\n",one_penny);
}
#include <stdioh>
void main()
{
int i,j,k,sum,x=0;
printf("请输入总金额(单位为分):");
scanf("%d",&sum);
if(sum<8||sum>100)printf("输入超出题目范围");
printf("可行的方案有:\n");
for(i=0;i<=20;i++)
for(j=0;j<=50;j++)
for(k=0;k<=100;k++)
if(5i+2j+k==sum)
{
printf("五分硬币%d个,二分硬币%d个,一分硬币%d个\n",i,j,k);
x++;
}
printf("共有%d种方案",x);
getchar();
getchar();
getchar();
}
以上就是关于把一张一元的钞票,换成一分,二分,和五分的硬币,每种至少五枚,问有多少种方案(求编写一个C语言程全部的内容,包括:把一张一元的钞票,换成一分,二分,和五分的硬币,每种至少五枚,问有多少种方案(求编写一个C语言程、硬币游戏:写一个程序模拟反复抛硬币,直到连续出现三次正面或反面为止,此时你的程序应该显示抛硬币的总次、C++;将一元人民币兑换成1,2,5分的硬币,有多少种换法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)