问题 单项选择题

下列黄酮类化合物水溶性最大的是()

A.查耳酮

B.二氢黄酮

C.异黄酮

D.花青素

E.黄酮醇

答案

参考答案:D

解析:本题考查了黄铜类化合物的溶解性大小。一般情况下,黄酮、黄酮醇、查耳酮平面性强的分子,分子间作用力较强,难溶于水;二氢黄铜和二氢黄酮醇因非平面性分子,分子排列不仅米,分子间作用力较小,溶解度稍大。花色苷,如花青素虽然也是平面结构,但以离子形式存在,具有盐的通性,亲水性较强,溶解度较大。故答案选D。

问答题

已知数据文件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 ();

单项选择题