我已经编写了一个程序来询问用户输入的分数,并打印出构成该数量的硬币类型。
我试图了解指针,我想在我的程序中包含以下内容:
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;
}
答案 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", ¢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;
}
或使用它
#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", ¢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 {
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;
}