2016-02-13 54 views
1

我已经编写了一个程序,要求用户输入美分数并输出组成该数量的硬币的类型。在程序中实现指针

我想了解指针,我想包括我的程序如下:

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; 
} 
+2

'scanf(“%d”,¢s);' - > expect'scanf(“%d”,&cents);' – chux

回答

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; 
} 

或在某种程度上利用我的t

#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; 
}