在程序中实现指针

时间:2016-02-13 00:02:11

标签: c

我已经编写了一个程序来询问用户输入的分数,并打印出构成该数量的硬币类型。

我试图了解指针,我想在我的程序中包含以下内容:

void coins(int cents, int *quarters, int *dimes, int *nickels, int *pennies);

如果有人能教我在我的程序中实现这个,我将不胜感激

#include 
#define QUARTER 25
#define DIME 10
#define NICKEL 5
#define PENNY 1

int main()
{
        //initialize variables and read input
        int cents, pennies, quarters, dimes, nickels;
        pennies = quarters = dimes = nickels =0;
        printf("Enter the number of cents:\n");
        scanf("%d", ¢s);

        //check the range of the input amount
        if(cents< 0 || cents > 10000)
           printf("Invalid amount %d,\nAmount must be between 0 and 10000, inclusive\n", cents);
        else {
                quarters = cents/QUARTER;
                dimes = cents%QUARTER/DIME;
                nickels = cents%QUARTER%DIME/NICKEL;
                pennies = cents%QUARTER%DIME%NICKEL;

                printf("Quarters: %d\n", quarters);
                printf("Dimes: %d\n", dimes);
                printf("Nickels: %d\n", nickels);
                printf("Pennies: %d\n", pennies);
        }
        return 0;
}

1 个答案:

答案 0 :(得分:1)

只需加入一些修正

#include <stdio.h>
#define QUARTER 25
#define DIME 10
#define NICKEL 5
#define PENNY 1

void coins(int cents, int *quarters, int *dimes, int *nickels, int *pennies);

int main(void)
{
        //initialize variables and read input
        int cents, pennies, quarters, dimes, nickels;
        pennies = quarters = dimes = nickels =0;
        printf("Enter the number of cents:\n");
        scanf("%d", &cents);

        //check the range of the input amount
        if(cents< 0 || cents > 10000)
           printf("Invalid amount %d,\nAmount must be between 0 and 10000, inclusive\n", cents);
        else {
                quarters = cents/QUARTER;
                dimes = cents%QUARTER/DIME;
                nickels = cents%QUARTER%DIME/NICKEL;
                pennies = cents%QUARTER%DIME%NICKEL;

                printf("Quarters: %d\n", quarters);
                printf("Dimes: %d\n", dimes);
                printf("Nickels: %d\n", nickels);
                printf("Pennies: %d\n", pennies);
        }
        return 0;
}

或使用它

#include <stdio.h>
#define QUARTER 25
#define DIME 10
#define NICKEL 5
#define PENNY 1

void coins(int cents, int *quarters, int *dimes, int *nickels, int *pennies);

int main(void)
{
        //initialize variables and read input
        int cents, pennies, quarters, dimes, nickels;
        pennies = quarters = dimes = nickels =0;
        printf("Enter the number of cents:\n");
        scanf("%d", &cents);

        //check the range of the input amount
        if(cents< 0 || cents > 10000)
           printf("Invalid amount %d,\nAmount must be between 0 and 10000, inclusive\n", cents);
        else {
                coins(cents, &quarters, &dimes, &nickels, &pennies);

                printf("Quarters: %d\n", quarters);
                printf("Dimes: %d\n", dimes);
                printf("Nickels: %d\n", nickels);
                printf("Pennies: %d\n", pennies);
        }
        return 0;
}

void coins(int cents, int *quarters, int *dimes, int *nickels, int *pennies)
{
        *quarters = cents/QUARTER;
        *dimes = cents%QUARTER/DIME;
        *nickels = cents%QUARTER%DIME/NICKEL;
        *pennies = cents%QUARTER%DIME%NICKEL;
}