C :: Aufgabe #76

6 Lösungen Lösungen öffentlich

The Copper Coins Nr.1

Anfänger - C von SymTech - 12.03.2015 um 14:30 Uhr
Schreibe ein Programm welches errechnet, wie viele Kupfermünzen (1,2,5 Cent) du mindestens brauchst um auf den vom User angegebenen Betrag zu kommen.

Konsolenausgabe:

Betrag in Cent: 54
Du brauchst mindestens 12 Münzen.

Lösungen:

vote_ok
von SymTech (1060 Punkte) - 12.03.2015 um 16:11 Uhr
Quellcode ausblenden C-Code
#include <stdio.h>
int main() {

     int cent;

     printf("Betrag in Cent: ");

     scanf("%d", cent);

     printf("Du brauchst mindestens %d Münzen.", GetCoinMinimum(cent));
    
    return 0;
} 

int GetCoinMinimum(int p)
    {
        int coin = 0;

        if (p >= 5)
            p -= 5;
        else if (p >= 3)
            p -= 3;
        else if (p >= 1)
            p -= 1;
        else return coin;

            coin++;
            return coin + GetCoinMinimum(p);
    }
vote_ok
von DBqFetti (2480 Punkte) - 12.03.2015 um 20:30 Uhr
Quellcode ausblenden C-Code
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

void frame(int betrag = 0);

void main(){
	int betrag, coins;
	char esc;
	int coppercoins[] = {5, 2, 1};

	do{
	betrag = 0;
	coins = 0;
	esc = 0;
	
	frame();
	fflush(stdin);
	scanf("%i", &betrag);
	if(betrag < 1) continue;

	frame(betrag);

	while(betrag > 0){
		for(int i = 0; i< 3; i++){
			if(coppercoins[i] <= betrag){
				betrag -= coppercoins[i];
				coins++;
				break;
			}
		}
	}

	printf("Du brauchst mindestens %i M%cnzen.", coins, 129);
	esc = getch();

	}while(esc != 27);
}

void frame(int betrag){
	system("cls");
	printf("Betrag in Cent>");
	if(betrag) printf("%i\n", betrag);
}
vote_ok
von devnull (8870 Punkte) - 13.03.2015 um 08:58 Uhr
Quellcode ausblenden C-Code
/******************************
* coins1.c     Copper Coins 1
*******************************/
#include <stdlib.h>
#include <stdio.h>

static int coins[] = {5,2,1};

int min_coins(int val) {
    int n=0, nc=0;
    while (val > 0) {
        nc += val/coins[n];
        val %= coins[n++];
    }
    return nc;
}

int main(int argc, char **argv) {
    if (argc < 2)
        return 1;
    int val = atoi(argv[1]);
    printf("Der Betrag %d Cent erfordert mindestens %d Münzen.\n", val, min_coins(val));
    return 0;
}
vote_ok
von DIWI (40 Punkte) - 04.01.2020 um 15:30 Uhr
Quellcode ausblenden C-Code
#include <stdio.h>
#include <stdlib.h>

int getInput();
int mininumCoins(int betrag);

int main()
{
    int betrag, minCoins;

    betrag = getInput();
    minCoins = mininumCoins(betrag);

    printf("Es sind %d M%cnzen notwendig", minCoins, 129);

    return 0;
}

int getInput()
{
    float betrag;
    printf("Bitte Betrag in Euro eingeben:");
    scanf("%f", &betrag);
    return (int)(betrag*100);
}

int mininumCoins(int betrag)
{
    int anzahl = 0;
    while (betrag > 0)
    {
        if (betrag >= 5)
        {
            betrag -= 5;
            anzahl++;
        }
        else if (betrag >= 2)
        {
            betrag -= 2;
            anzahl++;
        }
        else if (betrag >= 1)
        {
            betrag -= 1;
            anzahl++;
        }
    }
    return anzahl;
}
1 Kommentar
vote_ok
von Gnom (550 Punkte) - 17.04.2020 um 01:13 Uhr
Quellcode ausblenden C-Code
#include <stdio.h>

int NumberCoins(int cent) {
    return cent/5 + (cent%5)/2 + (cent%5)%2;
}

int main() {
 
    int cent;
 
    printf("Betrag in Cent: ");
 
    scanf("%d", cent);
 
    printf("Du brauchst mindestens %d Münzen.", NumberCoins(cent));
     
    return 0;
} 
vote_ok
von kathleenw (3600 Punkte) - 01.07.2020 um 08:31 Uhr
Quellcode ausblenden C-Code
#include <stdio.h>

int main(void)
{
    int betrag, fuenf, zwei, eins;
    
    printf("Bitte gebe einen Betrag in Cent ein: ");
    scanf("%d",&betrag);
    
    fuenf = betrag / 5;
    zwei = (betrag % fuenf) / 2;
    eins = betrag - (fuenf*5)-(zwei*2);
    
    printf("Sie brauchen %d 5 Cent Münzen. \n", fuenf);
    printf("Sie brauchen %d 2 Cent Münzen. \n", zwei);
    printf("Sie brauchen %d 1 Cent Münzen. \n", eins);
    printf("Insgesamt brauch sie %d Kupfermünzen. \n", fuenf+zwei+eins);
}