一元編程
Ⅰ 將100元錢兌換成10元5元1元編程求不同的兌換法數,要求每種兌法中都要有10元5元和1元 要用C編程
#include <iostream>
#include <string>
using namespace std;
void main()
{
int a = 100/10;
for(int i = 1; i != a; i++)
{
int b = (100 - 10 * i) / 5;
for(int j = 1; j != b; j++)
{
cout << i << "張10元," << j << "張5元," << 100-10*i-5*j << "張1元," << endl;
}
}
}
Ⅱ 用c語言編程解決一元錢硬幣用五分二分一分開組成共有多少種情況。
#include "stdio.h"
main(){
int i, j, k, iSum, iCount;
iCount = 0;
printf("5分\t2分\t1分\n");
for(i = 0; i <= 100 / 5; i++){
for(j = 0; j <= 100 / 2; j++){
for(k = 0; k <= 100; k++){
iSum = 5 * i + 2 * j + k;
if(iSum == 100){
iCount++;
printf("%d\t%d\t%d\n", i, j, k);
}
else if(iSum > 100){
break;
}
if( i * 5 + j * 2 > 100)
break;
}
}
}
printf("共%d種", iCount);
}
Ⅲ 在c語言中怎樣把一分,2分,5分組合成1元的編程
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
intmain(void){
intn=100;//1元=100分
inta=0;//滿足的種數
inti,j,k;//循環變數
for(i=1;i<=(n/1);i++){
for(j=1;j<=(n/2);j++){
for(k=1;k<=(n/5);k++){
if(n==(1*i+2*j+5*k)){
printf("%d個1分硬幣+%d個2分硬幣+%d個5分硬幣=1元 ",i,j,k);
a++;
}
}
}
}
printf("共有%d種滿足 ",a);
puts("end");
returnEXIT_SUCCESS;
}
Ⅳ 怎麼理解元編程
1.一種語言本來做不到的事情,通過你編程來修改它,使得它可以做到了,這就是元編程。
2.就是用代碼生成(操縱)代碼。
3.常見的開發語言均能做到元編程,Lisp這貨就不用多說了,C的Marco,C++的Template,java的Annotation,C#的Attribute、Reflection、CodeDom和IL Emitter,各種腳本語言(如js、python)的eval,甚至連Unix/Linux的shell腳本也能。
4.元編程常見的應用場景很多,擴展(重構)語法、開發DSL、生成代碼、根據特定場景自動選擇代碼優化、解決一些正交的架構設計問題、AOP等等。
5.所以元編程存在的目的,就是多提供了一個抽象層次。
6.至於元編程有什麼優缺點,爭議還是比較大的。比如以重構語法的應用為例,很多元編程的反對者就認為這樣會導致代碼的可讀性、可維護性降低,分化社區,影響交流,因為每個開發人員都能搞一個自己的方言。
總的來說,元編程玩得轉的話會讓你日子好過一些,玩不轉會讓你日子不好過一些。
Ⅳ C語言編程:將1元人民幣兌換為1角、2角和5角的零錢,編寫程序計算有多少種兌換方法
#include<stdio.h>
int main()
{
int i, j, k, cnt = 0;
for (i = 0; i <= 10; i ++)
for (j = 0; j <= 10; j += 2)
for (k = 0; k <= 10; k +=5)
if (i + j + k == 10)
cnt ++;
printf("%d\n", cnt);
}
Ⅵ 要求用戶輸入1元,5元,10元的張數,以元為單位輸出所有錢的總和的編程怎麼寫
import java.util.Scanner;
public class test{
public static void main(String[] args) {
int yiYuan,wuYuyan,shiYuan,total;
System.out.print("請輸入一元的張數:");
yiYuan = new Scanner(System.in).nextInt();
while(yiYuan < 0){
System.out.println("數量必須大於0,請重新輸入!");
System.out.println("");
System.out.print("請輸入一元的張數:");
yiYuan = new Scanner(System.in).nextInt();
}
System.out.print("請輸入五元的張數:");
wuYuyan = new Scanner(System.in).nextInt();
while(wuYuyan < 0){
System.out.println("數量必須大於0,請重新輸入!");
System.out.println("");
System.out.print("請輸入五元的張數:");
wuYuyan = new Scanner(System.in).nextInt();
}
System.out.print("請輸入十元的張數:");
shiYuan = new Scanner(System.in).nextInt();
while(shiYuan < 0){
System.out.println("數量必須大於0,請重新輸入!");
System.out.println("");
System.out.print("請輸入十元的張數:");
shiYuan = new Scanner(System.in).nextInt();
}
total = yiYuan + 5 * wuYuyan + 10 * shiYuan;
System.out.println("你輸入的一元有:" + yiYuan +"張,五元有:"
+ wuYuyan +"張,十元有:" + shiYuan + "張,總金額是:" + total +"元.");
}
}
Ⅶ 元編程的元編程的概念
反射是促進元編程的一種很有價值的語言特性。把編程語言自身作為頭等對象(如Lisp或Rebol)也很有用。支持泛型編程的語言也使用元編程能力。
元編程通常有兩種方式起作用。一種方式是通過應用程序介面(API)來暴露運行時引擎的內部信息。另一種方法是動態執行包含編程命令的字元串。因此,「程序能編寫程序」。雖然兩種方法都能用,但大多數方法主要靠其中一種。
Ⅷ 用java編程:1元錢用1分,2分,5分,1角,2角,5角 ,1元有幾種組合方法
public class CoinChange {
public static void main(String[] args){
int[] coins = {100,50,20,10,5,2,1};
int[][] change = new int[100][7];
for(int i=0;i<7;i++) change[0][i] = 1;
for(int i=1;i<100;i++){
for(int j=0;j<7;j++){
int previous = 0;
if(j>1) previous = change[i][j-1];
int newChange = 0;
if(coins[j]<=i) newChange = change[(i-coins[j])][j];
change[i][j] = previous+newChange;
}
}
System.out.println("the final result is "+change[99][6]);
}
}
Ⅸ 把一元錢全兌換成1分,2分,5分的硬幣,有多少種兌換方法用C語言編程。
#include<stdio.h>
main()
{
int i,j,k;
int rmb=1000;
int sum=0;
for(i=1;;i++)
{
for(j=1;;j++)
{
for(k=1;;k++)
{
if((i+2*j+5*k)==1000)
sum++;
}
}
}
printf("%d",sum);
}
輸入在一行中給出待換的零錢數額x∈(8,100)。要求按5分、2分和1分硬幣的數量依次從大到小的順序,輸出各種換法。
(9)一元編程擴展閱讀:
C語言包含的各種控制語句僅有9種,關鍵字也只有32 個,程序的編寫要求不嚴格且以小寫字母為主,對許多不必要的部分進行了精簡。實際上,語句構成與硬體有關聯的較少,且C語言本身不提供與硬體相關的輸入輸出、文件管理等功能,如需此類功能,需要通過配合編譯系統所支持的各類庫進行編程,故c語言擁有非常簡潔的編譯系統。
Ⅹ 編程基礎之什麼是元編程
元編程(Metaprogramming)是指某類計算機程序的編寫,這類計算機程序編寫或者操縱其他程序(或者自身)作為它們的數據,或者在運行時完成部分本應在編譯時完成的工作。很多情況下比手工編寫全部代碼相比工作效率更高。編寫元程序的語言稱之為元語言,被操作的語言稱之為目標語言。一門語言同時也是自身的元語言的能力稱之為反射。