30)salary*=1.2;}elsesalary*=2.0;returnsalary;}【C代碼2】voidfoo(intcoin){switch(coin){case1:printf("Cent\n");case5:printf("Ni..."/>
閱讀以下C代碼,回答問題1至問題3,將解答填入答題紙的對應(yīng)欄內(nèi)。
【C代碼1】
float adjustSalary(int service_year,int age,float salary) {
if( service_year <=5 ) {
if( age > 30 )
salary *= 1.2;
}
else
salary *= 2.0;
return salary;
}
【C代碼2】
void foo(int coin) {
switch (coin) {
case 1: printf("Cent\n");
case 5: printf("Nicke1\n");break;
case 10:printf("Dime\n");
case 25:printf("Quarter\n");
}
}
【C代碼3】
int getSum(int n)
{
int t, i = 0, sum = 0;
while ( i < n ) {
scanf("%d", &t);
if( t<0 )
continue;
sum += t;
i++;
}
return sum;
}
問題:3.1 【問題1】(3分)
對于【C代碼1】,寫出下面的函數(shù)調(diào)用后x1、x2和x3的值。
x1 = adjustSalary(1,25,9000.0);
x2 = adjustSalary(8,32,7000.0);
x3 = adjustSalary(5,41,5000.0);
問題:3.2 【問題2】(6分)
(1)寫出函數(shù)調(diào)用為foo(1)的輸出結(jié)果;
(2)寫出函數(shù)調(diào)用為foo(5)的輸出結(jié)果;
(3)寫出函數(shù)調(diào)用為foo(10)的輸出結(jié)果;
(4)寫出函數(shù)調(diào)用為foo(25)的輸出結(jié)果。
問題:3.3 【問題3】(6分)
(1)簡要說明【C代碼3】中的函數(shù)getSum()的功能;
(2)程序員小王將函數(shù)getSum改寫后得到下面的函數(shù)getSum_v2(即用for語句來描述循環(huán))。請問,getSum_v2的功能是否與【C代碼3】的getSum完全相同,若不同,請說明原因。