當前位置:首頁 » 編程語言 » c語言換零錢怎麼換
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言換零錢怎麼換

發布時間: 2022-05-02 01:07:08

c語言編寫程序:要將1元人民幣換1角,2角,5角的零錢,有幾種換法

#include<stdio.h>
int main()
{
int i,x,y,z, count=0;
for(z=0; z<=2;z++)
for(y=0;y<=5;y++)
for(x=0;x<=10;x++)
{
if((x+2*y+5*z)==10)
{printf("%d %d %d\n",x,y,z);count++;}
}
printf("%d",count);
}

⑵ C語言問題:要將100元錢換成1元,2元,5元的零錢,編程求出有幾種換法這么編程為什麼不行求高手指教!

程序源碼如下:

循環嵌套循環次數少的盡量在外!

#include<iostream>

#include<stdlib.h>

using namespace std;

int main()

{

int count = 0;//換法數量

int temp;

int m = 100;//總錢數

int a = 1;//1元面值

int b = 2;//2元面值

int c = 5;//5元面值

//a, b, c的值還可以是10,20,50

for (int i = 0; i <= m / b; ++i)//++i的意義在於100必須換成三類紙幣,需要大於等於1張

{

for (int j = 0; j <= m / c; ++j) //5元

{

temp = m - (b * i + c * j);

//只要2元和5元的總和加起來不大於100,剩下的都換1元

if (temp >= 0 && temp % a == 0)

{

++count;//換法種數+1

}

}

}

cout << "換法有" << count << "種 ";//輸出換法種數

system("pause");

return 0;

}

程序運行結果如下:



(2)c語言換零錢怎麼換擴展閱讀:

其他實現方法:

#include <stdio.h>

int main()

{

int x,y,z,i=0;

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

for(y=0;y<=50;y++)

for(z=0;z<=100;z++)

{

if(x*5+2*y+z==100)

i++;

}

printf("There are %d ways. ",i);

return 0;

}

⑶ c語言換零錢

代碼如下:

#include<stdio.h>
#include<stdlib.h>

intmain()
{
inti,j,k,n,cnt=0;

printf("Pleaseinputamountofmoney(unitjiao):");
scanf("%d",&n);

for(i=0;i<=(100/5);i++)
for(j=0;j<=(100/2);j++)
for(k=0;k<=100;k++)
if(i*5+j*2+k==n){
cnt++;
}

printf("Numberofconbinationsis:%d ",cnt);

system("pause");
return0;
}

運行結果:

⑷ C語言編程:將1元人民幣兌換為1角、2角和5角的零錢,編寫程序計算有多少種兌換方法

摘要 #include

⑸ C語言,零錢兌換問題

int sum = 0;

for(int i = 0;i <= 100 / 5;++i)
{
for(int j = 0;j <= 100 / 10;++j)
{
for(int k = 0;k <= 100 / 20;++k)
{
if(5 * i + j * 10 + k * 20 == 100)
sum++;
}
}
}
cout<<sum<<endl;

cout<<endl;
//大概意思就是 每種都循環遍歷 結果等於100的 記下; 下面那個代碼 漏掉了3種。

⑹ C語言 零錢兌換

#include<stdio.h>

intmain()
{
intin;
scanf("%d",&in);

printf("%d",in/10);
in=in%10;

printf("%d",in/5);
in=in%5;

printf("%d ",in);
}

⑺ C語言 換零錢

#include "stdio.h"
//窮舉法
void main()
{
int i,j,n,s=0;
for(i=0;i<=20;i++) //5分最多換二十個
for(j=0;j<=50;j++) //2分最多換五十個

for(n=0;n<=100;n++) //1分可以換一百個
if( 5*i+2*j+1*n == 100)
{
printf("%d %d個 , %d %d個 , %d %d個",5,i,2,j,1,n);
printf("\n");
s++;
}
printf("一共有%d種方法",s);

}

⑻ C語言編程 零錢兌換

題目我沒怎麼看懂,比如說你寫的i+j+l==k,那題目中的40放在哪裡?
另外我要說的一個大問題,也是就是float的用法,float的值是小數,電腦的演算法是近似值。
舉個例子,
float a = 1;
b = a/10;
按道理b此時是0.1,但是你輸出的由於編譯器的不同有可能是 0.10000000000001,也有可能是0.09999999999999.也有可能是0.1。當出現這種情況,你的if中的判斷就永遠不會實現。
所以你的if可以比較大小判斷,比如if(x==5)寫成((x>4.9999)&&(x<5.00001))或者不要出現float,所有的數值乘以10,把小數去除。

⑼ C語言 換分幣 用一百元人民幣換成1元 5元和10元 共有多少種兌換方法

你好,如上所說,一共有361種兌換方法,可以得出{5C[1],C[1] + 2C[2],20 - C[1] -C[2]}方程,只需要保證都大於0就行。
1、遇到這種題目,我們首先要區分的概念是錢數和張數。這個問題我可以說大傢伙都是明白的,但是用計算機來表達並不容易,是很有難度的。所以,在這種情況下,我們可以設置更多變數以使其易於查看,接著清空你的思緒。將100元換成1元、5元和10元。最簡單的零錢是10元。因為 10 是 1、5、10 的最小公倍數。這總是為較小的數字留下空間來計算其他值。
2、然後可以用100刪除,簡而言之,無法清除並除以 100 / 10。這樣10元10件、1元0件、5元最多可以獲得。因此,最多為 10 件。如果9塊是10元,此時定義變數1<=I<=10個周期就可以了。第一次循環後我們換掉一個10元,剩下的90元用來除5(90/5)。最多18塊5元。因此,最多有 18 個。如果有17個,那麼定義變數1 < = J < = 18。我們在嵌套循環的第一個循環中換出一個五元,那麼剩下的五元和十元不言而喻,而剩下的1元不需要這樣分析,因為1元的價值等於它的數量,即剩下的1元都是1元。
3、以下就是這道題的代碼
#include "stdio.h"
#include "math.h"
main()
{
printf("共有%d種不同的兌換方案",fun (int n))
}
fun(int m)
{ int i;
for(i=0;i<=10;i++)
{int j;
for(j=0;j<=20;j++)
{int k;
for(k=0;k<=100;k++)
{
if(10i+5j+k==100) m+=1
}
}
if(i==10) return m
}
}
程序源碼如下:
循環嵌套循環次數少的盡量在外!
#include
#include
using namespace std;
int main()
{
int count = 0;//換法數量
int temp;
int m = 100;//總錢數
int a = 1;//1元面值
int b = 2;//2元面值
int c = 5;//5元面值
//a, b, c的值還可以是10,20,50
for (int i = 0; i <= m / b; ++i)//++i的意義在於100必須換成三類紙幣,需要大於等於1張
{
for (int j = 0; j <= m / c; ++j) //5元
{
temp = m - (b * i + c * j);
//只要2元和5元的總和加起來不大於100,剩下的都換1元
if (temp >= 0 && temp % a == 0)
{
++count;//換法種數+1
}
}
}
cout << "換法有" << count << "種
";//輸出換法種數
system("pause");
return 0;
}