问题 综合

阅读下列材料,完成下列问题。

材料一:

    成潮,主要是由旱情引起的,在中国一般发生在冬至到次年立春、清明期间,是指沿海地区海水通过河流或其他渠道倒流到内陆区域之后,它的盐分(即氯化钠)含有量仍然达到或超过1/10000、这种水质危害到当地的植物生存,人类饮用或使用也会产生疾病。

材料二:

    据介绍,2006年末至2007年初,珠江上游少雨,源头水量减少,下游则受海水潮汐影响,形成成潮。珠海、中山等地区及广州市番禺区部分区域都受到不同程度的影响。一些水厂被迫停产,居民用水受到影响。

(1)请在下图中补画箭头,完成海陆间循环的环节。

(2)改变地表径流的时间分配和空间分布的办法有:

    ①_________________________________________;

    ②_________________________________________。

(3)试从珠江流量的年变化规律分析咸潮侵袭珠江的时间及其原因。

    _________________________________________________________________________________________

    _________________________________________________________________________________________

答案

(1)“略”

(2)修建水库、植树种草;跨流域调水

(3)冬季前后的珠江流域由于降水稀少,河流的水量锐减,水位急剧下降,导致涨潮时海水进入珠江河

    道,并溯江而上,使河水变成。(可以用其他方式表述,合理即可)

问答题

已知数据文件IN.dat中存有200个四位数,并已调用读函数readDat()把这些数存入数组 a中,请编写函数spellNum(),其功能是:把个位数字和千位数字重新组成一个新的二位数(新二位数的十位数字是原四位数的个位数字,新二位数的个位数字是原四位数的千位数字),以及把百位数字和十位数字组成另一个新的二位数(新二位数的十位数字是原四位数的百位数字,新二位数的个位数字是原四位数的十位数字),如果新组成的两个二位数均是偶数并且两个二位数中至少有一个数能被9整除,同时两个新数的十位数字均不为0,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后 main()函数调用写函数writeDat(),把结果cnt以及数组b中符合条件的四位数输出到OUT.dat文件中。
注意:部分源程序已经给出。程序中已定义数组a[200]、b[200],已定义变量cnt。请勿改动数据文件IN.dat中的任何数据及主函数main()、读函数readDat()和写函数writeDat()的内容。
#include <stdio.h>
#define MAX 200
int a[MAX], b[MAX], cnt = 0;
void spellNum()void readDat ()
int i;
FILE *fp;
fp = fopen("IN.dat", "r");
for (i=0; i<MAX; i++)
fscanf(fp, "%d,", &a[i]);
fclose (fp);void writeDat()
FILE *fp;
int i;
fp = fopen("OUT.dat", "w");
fprintf(fp, "%d\n", cnt);
for (i=0; i<cnt; i++)
fprintf(fp, "%d\n", b[i]);
fclose (fp);void main()
int i;
readDat ();
spellNum ();
printf("满足条件的数=%d\n", cnt);
for (i=0; i<cnt; i++)
printf("%d ", b[i]);
printf ("\n");
writeDat ();

单项选择题