本答案对应课程为:点我自动跳转查看
本课程起止时间为:2020-02-21到2020-06-25
本篇答案更新状态:已完结

第1教学单元——第9章 指针(第1周—第3周) 第9章练习—-单选题

1、 问题:下面程序的功能是输入某年某月某日,计算并输出它是这一年的第几天。程序的运行结果如下:Please enter year, month, day:2014,12,29↙yearDay = 363按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include
int DayofYear(int year, int month, int day);
int dayTab[2][13] = {{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};
int main()
{
int year, month, day, yearDay;
printf(“Please enter year, month, day:”);
scanf(“%d,%d,%d”, &year, &month, &day);
yearDay = DayofYear(year, month, day);
printf(“yearDay = %d”, yearDay);
return 0;
}

/ 函数功能:对给定的某年某月某日,计算并返回它是这一年的第几天 /
int DayofYear(int year, int month, int day)
{
int i, leap;
leap = ___; / 若year为闰年,即leap值为1,则用第1行元素dayTab[1][i]计算;
否则leap值为0,用第0行dayTab[0][i]计算
/
for (i=1;
_; i++)
{
day =
_______;
}
return day; / 返回计算出的day的值 /
}
选项:
A:第18行: ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)第20: i第18行: ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)第20: i

2、 问题:下面程序中子函数MonthDay()的功能是将某年的第几天转换为某月某日。程序的运行结果如下:Please enter year, yearDay:2014,100↙month = 4, day = 10按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include
void MonthDay(int year, int yearDay, int pMonth, int pDay);
int dayTab[2][13] = {{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};

int main()
{
int year, month, day, yearDay;
printf(“Please enter year, yearDay:”);
scanf(“%d,%d”, &year, &yearDay);
_____;
printf(“month = %d, day = %d”, month, day);
return 0;
}

/ 函数功能:对给定的某一年的第几天,计算它是这一年的第几月第几日 /
void MonthDay(int year, int yearDay, int pMonth, int pDay)
{
int i, leap;
leap = _______;

for (i=1; yearDay>dayTab[leap][i]; i++)
{
    yearDay = ______________________;
}
______________;        /* 将计算出的月份值赋值给pMonth所指向的变量 */

*pDay = yearDay;   /* 将计算出的日号赋值给pDay所指向的变量 */

}
选项:
A:第10行: MonthDay(year, yearDay, &month, &day)第19行: ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)第23行: yearDay – dayTab[leap][i]第25行: pMonth = i
B:第10行: MonthDay(year, yearDay, month, day)第19行: ((year % 4 == 0) || (year % 100 != 0)) || (year % 400 == 0)第23行: yearDay – dayTab[leap][i]第25行: pMonth = i
C:第10行: MonthDay(&year, &yearDay, &month, &day)第19行: ((year % 4 == 0) || (year % 100 != 0)) && (year % 400 != 0)第23行: yearDay + dayTab[i][leap]第25行:
pMonth = i
D:第10行: MonthDay(&year, &yearDay, month, day)第19行: ((year % 4 == 0) && (year % 100 == 0)) || (year % 400 == 0)第23行: yearDay – dayTab[i][leap]第25行: pMonth = i
答案: 【第10行: MonthDay(year, yearDay, &month, &day)第19行: ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)第23行: yearDay – dayTab[leap][i]第25行: *pMonth = i

3、 问题:子函数Fun的功能是比较形参变量x和y所指的内存单元中的数据大小,将两者中的最小值返回。以下程序执行后输出结果是7,8,7。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求#include
int Fun(int x,int y)
{
if(_____) /如果形参变量x所指的内存单元中的数据小于y所指的内存单元中的数据,则返回该最小值/
return x;
else
return
y;
}

int main()
{
int a=7,b=8,_,r;
p=&a;
q=&b;
r=______; /调用子函数Fun,返回变量a和b中的最小值,将其存放到变量r中。/

printf("%d,%d,%d",*p,*q,r);
return 0;

}
选项:
A:第4行: x<y第12行: p,q第15行: Fun(p,q)
B:第4行: x第4行: x<y第12行: p,q第15行: Fun(p,q)】

4、 问题:下面程序的功能是从键盘输入10个整数,用函数编程实现计算其最大值和最小值,并互换它们所在数组中的位置。程序运行结果如下:Input n(n<=10):10↙Input 10 Numbers:1 4 3 0 –2 6 7 2 9 -1 ↙Exchange results: 1 4 3 0 9 6 7 2 -2 -1按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include
void ReadData(int a[], int n);
void PrintData(int a[], int n);
void MaxMinExchang(int a[], int n);
void Swap(int x, int y);
int main()
{
int a[10], n;
printf(“Input n(n<=10):”);
scanf(“%d”, &n);
printf(“Input %d numbers:”, n);
ReadData(a, n);
MaxMinExchang(a, n);
printf(“Exchange results:”);
PrintData(a, n);
return 0;
}

/ 函数功能:输入数组a的n个元素值 /
void ReadData(int a[], int n)
{
int i;
for (i=0; i<n; i++)
{
scanf(“%d”, &a[i]);
}
}

/ 函数功能:输出数组a的n个元素值 /
void PrintData(int a[], int n)
{
int i;
for (i=0; i<n; i++)
{
printf(“%5d”, a[i]);
}
printf(“”);
}

/ 函数功能:将数组a中的最大数与最小数位置互换 /
void MaxMinExchang(__, int n)
{
int maxValue = a[0], minValue = a[0], maxPos = 0, minPos = 0;
int i;
for (i=1; i maxValue)
{
maxValue = _;
maxPos = _;
}
if (a[i] < minValue)
{
minValue = a[i];
minPos = i;
}
}
Swap(
_______);
}

/ 函数功能:两整数值互换 /
void Swap(int x, int y)
{
int __;
temp = *x;
___;

*y = temp;

}
选项:
A:第41行: int a[]第49行: a[i]第50行: i第58行: &a[maxPos], &a[minPos]第64行: temp第66行: x = y
B:第41行: int a第49行: a[i]第50行: i第58行: a[maxPos], a[minPos]第64行: temp第66行: x = y
C:第41行: int a[]第49行: a[0]第50行: 0第58行: &a[maxPos], &a[minPos]第64行: temp第66行: x = y
D:第41行: int a[]第49行: a[n-1]第50行: n-1第58行:
a[maxPos], a[minPos]第64行: &temp第66行: x = y
答案: 【第41行: int a[]第49行: a[i]第50行: i第58行: &a[maxPos], &a[minPos]第64行: temp第66行:
x = *y】

5、 问题:下列函数的功能为__。void Exchange(int p1, int p2){ int p; p = p1; p1 = p2; p2 = p;}
选项:

本门课程剩余章节答案为付费内容
本文章不含期末不含主观题!!
本文章不含期末不含主观题!!
支付后可长期查看
有疑问请添加客服QQ 2356025045反馈
如遇卡顿看不了请换个浏览器即可打开
请看清楚了再购买哦,电子资源购买后不支持退款哦

   

发表评论

电子邮件地址不会被公开。 必填项已用*标注