练习10-1
/*---编写函数adjust_point,如果n指向的值小于0,就将其改为0;如果值大于100,
就将其改为100(如果是0~100的值,则不修改)。---*/
#include <stdio.h>
void adjust_point (int *n) {
if (*n < 0) *n = 0;
if (*n > 100) *n = 100;
}
int main (void)
{
int n;
puts("请输入一个整数:");
scanf("%d",&n);
adjust_point(&n);
printf("%d",n);
return 0;
}
练习10-2
/*---将 *y 年 *m 月 *d 日的日期,修改为其前一天或后一天的日期。---*/
/*---本程序思路应该先思考特殊时期并做特殊处理,如月初和月末则需要额外对日期和月份同时做特殊处理。---*/
#include <stdio.h>
int years(int *y) { //返回闰年
int i = 0;
if ((*y) % 400 == 0 || ((*y) % 100 != 0 && (*y) % 4 == 0))
i = 1;
return i;
}
int day(int y, int m) { //返回各月份的天数。
int i = 0;
switch (m) {
case 4:
case 6:
case 8:
case 1