That seems to meet the letter of the academic requirement ("write program with 2 functions") without meeting the spirit of the requirement: instead of calling howManySals(), you might as well place the printf there as there is nothing to be gained whether by readability or reusability in having that helper function.
Rather, if you wanted to call a helper function in that place, a better option would to have the helper function request for the number of salaries, then read the number of salaries, optionally printing it (or the printing could be done in main).
Another option is to move the entire body of the loop into a helper function dedicated to processing the salary raise for a single salary. You could also move the computation of a salary raise into a helper function.
By the way, you should avoid cryptic variable names like sal, sn, and pr. Just writing salary, numberOfSalaries (or salaryCount), and payRaise will do. Actually, you don't really need payRaise because you can compute:
Code:
salaryAfterRaise = (salary * 5) / 100 + salary;
speaking of which you should consider if salary values should be of type double rather than int due to integer division. Money values will often be in a fixed point type rather than floating point, but this may be beyond the scope of your exercise (or perhaps you read the salary values in cents).
Another thing: it looks like you don't need sum and sum2 since they are essentially aliases for total and totalRaise. totalRaise sounds like a poor name though: it is really totalAfterRaise (or payrollAfterRaise since total would be more accurately renamed to payroll), whereas totalRaise could be misinterpreted as the total amount of pay raise, i.e., difference between payroll before the raise and payroll after the raise.