使用最大的账单代表金额。与指针混淆

时间:2015-10-31 11:34:03

标签: c function

仅使用1,2,5,10,20,50和100张r̶a̶n̶d̶o̶m̶相同货币的账单来显示给定金额。我想我除了指针 * N 之外还得到了这个。我用它来减少使用账单后的金额。

#include <stdio.h>
#include <stdlib.h>

int num(int *,int );
int main()
{
    int X[7]={1,2,5,10,20,50,100};
    int N,i,sum=0;
    printf("Enter the amount ");
    scanf("%d",&N);
    for(i=6;i>=0;i--)
        sum+=num(&N,X[i]);
    printf("%d",sum);
}
int num(int *N,int k){
int i=0;
while(*N%k==0){
    i++;
    *N=*N-k;
}
return i;
}

该功能不会返回任何内容。

2 个答案:

答案 0 :(得分:0)

应该是

while(*N>=k)

我的错误。

答案 1 :(得分:0)

试试这个:

int num(int *N,int k){
int i=0;
while(*N >= k){
    i+=k;
    *N=*N-k;
}
return i;
}