#include
int main()
{
int array1[9]={500, 200, 100, 50, 20, 10, 5, 2, 1};//面值
int arraya[9];
int arrayA[9];//余钱
int arrayb[9];
int arrayB[9];
int arrayc[9];
int arrayC[9];
int arrayd[9];
int arrayD[9];
int arraye[9];
int arrayE[9];
int i;
printf("Give the salary for the 1. employee > ");
scanf("%d", &arrayA[0]);
for (i=0 ;i<9 ;i++)
{
arrayA[i+1]=arrayA[i]%array1[i];
arraya[i]=arraya[i]/array1[i];
}
printf("Give the salary for the 2. employee > ");
scanf("%d", &arrayB[0]);
for (i=0 ;i<9 ;i++)
{
arrayB[i+1]=arrayB[i]%array1[i];
arrayb[i]=arrayb[i]/array1[i];
}
printf("Give the salary for the 3. employee > ");
scanf("%d", &arrayC[0]);
for (i=0 ;i<9 ;i++)
{
arrayC[i+1]=arrayC[i]%array1[i];
arrayc[i]=arrayc[i]/array1[i];
}
printf("Give the salary for the 4. employee > ");
scanf("%d", &arrayD[0]);
for (i=0 ;i<9 ;i++)
{
arrayD[i+1]=arrayD[i]%array1[i];
arrayd[i]=arrayd[i]/array1[i];
}
printf("Give the salary for the 5. employee > ");
scanf("%d", &arrayE[0]);
for (i=0 ;i<9 ;i++)
{
arrayE[i+1]=arrayE[i]%array1[i];
arraye[i]=arraye[i]/array1[i];
}
printf("Salary 500 200 100 50 20 10 5 2 1\n");
printf("%d ", arrayA[0]);
for(i=0 ; i<9;i++)
{
printf("%d ", arraya[i]);
}
printf("\n");
printf("%d ", arrayB[0]);
for(i=0 ; i<9;i++)
{
printf("%d ", arrayb[i]);
}
printf("\n");
printf("%d ", arrayC[0]);
for(i=0 ; i<9;i++)
{
printf("%d ", arrayc[i]);
}
printf("\n");
printf("%d ", arrayD[0]);
for(i=0 ; i<9;i++)
{
printf("%d ", arrayd[i]);
}
printf("\n");
printf("%d ", arrayE[0]);
for(i=0 ; i<9;i++)
{
printf("%d ", arraye[i]);
}
printf("\n");
printf("Total ");
int total[9];
for(i=0 ;i<5 ;i++)
{
total[i]=arraya[i]+arrayb[i]+arrayc[i]+arrayd[i]+arraye[i];
}
for(i=0 ;i<9 ;i++)
{
printf("%d ",total[i]);
}
return 0;
}
很多for循环中,会导致数组越界。
如:
arrayA[i+1]当i=8时,arrayA[9]是越界的。