语言文字知识问答题目
第一篇:语言文字知识问答题目
语言文字知识问答题目
(一)问 答 题
1.《中华人民共和国国家通用语言文字法》由哪位国家领导人签发公布?
2.《国家通用语言文字法》哪年哪月哪日起施行?
3.请说出2000年10月31日第九届全国人民代表大会常务委员会第十八次会议通过的一部关于语言文字的法律的全称。
4.国家普通话水平分几级几等?
5.国家机关工作人员普通话水平应达到几级几等以上? 6.国家机关工作人员普通话水平应不能低于多少分? 7.教育部、国家语委规定各级各类学校和幼儿园以及其他教育机构的教师的普通话水平应不低于几级几等?其中语文教师和对外汉语教师不低于几级几等?语音教师不低于几级几等?
8.自治区语言文字工作委员会是哪年哪月哪日成立的? 9.现任国家语委主任是谁? 10.现任自治区语委主任是谁?
11.《国家通用语言文字法》规定国家机关的公务用语用字是什么语言文字?“下班铃响了,商量工作的会议可以用方言了”对吗?
12.《国家通用语言文字法》中规定,国家通用语言文字的使用应当做到哪“三个有利于”?
13.我国多部法律都规定推广普通话,请说出其中3部法律。 14.1992年以后我国推广普通话工作的12字方针是什么? 15.推广普通话的4个重点领域是什么?
16.我国哪一部法律写明“国家推广全国通用的普通话”? 17.我国哪部法律写明“国家推广普通话,推行规范汉字”? 18.中共中央印发的什么重要文件(注:什么“纲要”)中写明“正确使用祖国的语言文字,大力推广普通话”?
19.普通话测试等级证书由哪一级语言文字工作办事机构颁发? 20.国务院规定每年9月第三周定为全国推广普通话宣传周。今年的全国推普周是第几届?
21.《国家通用语言文字法》中规定有4种情形可以保留或者使用繁体字、异体字,请说出其中两种情形。
22.《国家通用语言文字法》中规定有6种情形可以使用方言,请说出其中两种情形。
23.对外汉语教学应当教授什么语言文字?
24.《国家通用语言文字法》规定以普通话作为工作语言的5种人员的普通话水平应当分别达到国家规定的等级标准。请说出这5种人员的名称。
26.“国家通用语言文字”指的是什么语言、什么文字? 27.国家通用语言文字以什么“方案”作为拼写和注音工具? 28.为查明当地贩毒团伙藏毒窝点,某公安局侦察员以当地吸毒者的身份与贩毒团伙打交道。在与贩毒分子联系时,侦察员说的是贩毒团伙习惯说的当地方言,请问:这位侦察员的用语违反了《国家通用语言文字法》的规定吗?请找出法律依据。 29.因为这次“中国—东盟博览会”有港、澳、台的人士来参加,所以会标、文字材料、名片可以用繁体字,这种说法对吗?
30.全国人大常委会通过《国家通用语言文字法》的日期和国家主席签发公布的日期是同一天吗?
31.推广普通话就是在任何场合都要说普通话,对吗? 32.国务院规定的每年9月份开展一项全国性的推广普通话的宣传活动,请问,这项活动的名称叫什么?
33.联合国工作用语有几种?请说出这几种语言的名称。 34.中央电视台每天新闻联播节目片头中的字母,是汉语拼音还是英语?是在“新闻联播”4个汉字的上方还是下方?
35.广播电台、电视台播音用语使用方言须经什么部门批准? 36.广播电台、电视台需要使用外国语言为播音用语的,须经什么部门批准?
37.《国家通用语言文字法》规定,各民族都有使用和发展自己的语言文字的自由。请问,《国家通用语言文字法》同时说明少数民族语言文字的使用应依据什么法律的有关规定?
38.违反《国家通用语言文字法》规定,干涉他人学习和使用国家通用语言文字的,依法应如何处理?
(二)选 择 题
请问下面每组异形词中国家推荐使用哪一个(用√表示): 1.萧洒 — 潇洒 2.人材 — 人才 3.嘉宾 — 佳宾 4.定婚 — 订婚 5.保母 — 保姆 6.辈分 — 辈份 7.笔画 — 笔划 8.禀承 — 秉承 9.参预 — 参与 10.车厢 — 车箱 11.成分 — 成份 12.瓷器 — 磁器 13.赐与 — 赐予 14.担心 — 耽心 15凋敝—雕敝 16.定单 — 订单 17.逗留 — 逗遛 18.分量 — 份量 19.跌跤 — 跌交 20.定货 — 订货 21.订阅 — 定阅 22.份内 — 分内25.覆辙 — 复辙28.关联 — 关连31.轰动 — 哄动36.激愤 — 激忿39. 就座 — 就坐42. 烂漫 — 烂熳45. 连贯 — 联贯48. 录像 — 录相51. 模仿 — 摹仿54. 喽啰 — 喽罗57. 模拟 — 摹拟60. 疲塌 — 疲沓63. 牵连 — 牵联66. 情素 — 情愫69. 奢靡 — 奢糜72. 推委 — 推诿.疯癫 — 疯颠 24.告诫 — 告戒 27.弘扬 — 宏扬 30.洪福 — 鸿福 34.夹克 — 茄克 38刻画 — 刻划 41. 狼籍 — 狼藉 44. 联结 — 连结 47. 连绵 — 联绵 50. 囹圄 — 囹圉 53. 麻痹 — 痲痹 56. 纽扣 — 钮扣 59. 漂泊 — 飘泊 62. 飘流 — 漂流 65. 热乎 — 热呼 68. 透澈 — 透彻 71. 稀罕 — 希罕 74. .服罪 — 伏罪 .恭维 — 恭惟 .弘愿 — 宏愿 .辉映 — 晖映 .架势 — 架式 阔老 — 阔佬 累赘 — 累坠 鲁莽 — 卤莽 流连 — 留连 联袂 — 连袂 门坎 — 门槛 磐石 — 盘石 飘零 — 漂零 清澈 — 清彻 色彩 — 色采 图象 — 图像 贤惠 — 贤慧
23 26 29 32 37 40. 43. 46. 49. 52. 55. 58. 61. 64. 67. 70. 73. 75. 相貌 — 像貌 76. 训诫 — 训戒 77. 稀少 — 希少 78. 霪雨 — 淫雨 79. 衣着 — 衣著 80. 鱼网 — 渔网 81. 缘故 — 原故 82. 原由 — 缘由 83. 帐本 — 账本 84. 辗转 — 展转 85. 折衷 — 折中 86. 肢解 — 支解 87. 姿式 — 姿势 88. 余辉 — 余晖 89. 佐证 — 左证 90. 艄公 — 梢公 91. 狡猾 — 狡滑 92. 机伶 — 机灵 93. 伸雪 — 申雪 94. 股分 — 股份 95. 恍惚 — 恍忽 96. 纪念 — 记念 97. 梗直 — 耿直 98. 筹划 — 筹画 99. 百叶窗—百页窗 100. 红通通—红彤彤 101.叫花子—叫化子 102.喝倒彩—喝倒采 103.喘吁吁—喘嘘嘘 104. 独脚戏—独角戏 105.牛仔裤—牛崽裤 106. 一古脑儿—一股脑儿 107.必恭必敬 —毕恭毕敬 108. 丰富多采 —丰富多彩 . 109.直截了当 — 直接了当 110. 混水摸鱼 — 浑水摸鱼 111.百废具兴 — 百废俱兴 112. 出谋划策 — 出谋画策 113.发人深省 — 发人深醒 114. 五彩缤纷 — 五采缤纷 115. 负隅顽抗 — 负禺顽抗 116. 孤苦零丁 — 孤苦伶仃 117. 骨瘦如豺 — 骨瘦如柴 118. 鬼哭狼嚎 — 鬼哭狼嗥 119. 骄奢淫佚 — 骄奢淫逸 120. 摩拳擦掌 — 磨拳擦掌 121. 盘根错节 — 蟠根错节 122. 披星带月 — 披星戴月 123. 杀一儆百 — 杀一警百 124. 死心踏地 — 死心塌地 125. 挺而走险 — 铤而走险 126. 污七八糟 — 乌七八糟 127. 五劳七伤 — 五痨七伤 128. 小题大作 — 小题大做 129. 信口开河 — 信口开合 130. 秀外惠中 — 秀外慧中 131. 一锤定音 — 一槌定音 132. 再接再厉 — 再接再砺 133. 源源本本 — 原原本本 134. 正经八摆 — 正经八百 135. 无动于中 — 无动于衷 136. 指手划脚 — 指手画脚 137. 络腮胡子 — 落腮胡子 138.
义无反顾 — 义无返顾
第二篇:C语言基础知识点总结以及题目订正
好老师重庆市二级C语言基础知识点总结以及题目订正 第一章
1,函数是从主函数(main())开始执行,回到主函数(main())结束;
2,一个程序的编译是从第一个函数(语句)开始,到最后一个函数(语句)结束; 第二章
1,算法的特性:有穷性,确定性,有一个或者0个输入,有一个或者多个输出;有效性
2,算法(程序)的几个结构:选择结构,顺序结构,循环结构 第三章
1,int类型是2个字节,float是4个字节,dooble是8个字节 2,数据类型分为:基本类型(整型,实型,字符型,枚举型),指针类型,构造类型(结构体类型,数组类型,共用体类型),空类型 (空类型合法哦,不要忘记了这个特殊哦)
3,变量的地址是确定的,变量变的地方只是地址里面的值。 4,用户标志符,由数字,字母,下划线构成,第一个不能是数字,但是32个关键字除外。
5,注意int的最大表示范围是-32768――+32767,当超过这个范围的时候,即以%d输出+32768时结果为-32768 6,长整形(long)表示方法是在数字后面加L,如果一个变量a=3,那么表示的是一个整形的3,如果是a=3L,那么就是长整形的3;当分别以%o,%ld,%x (8进制,长整形,16进制)输出的时候,结果没有前面的0,0X,和后面的L 例:int a=075,b=ox14;long int c=5L;
printf(‚%o,%x,%ld‛,a b c); 结果为(75,14,5)
7,当出现’�’的什么时候为结束,什么时候为八进制的转义字符: 当’�’后面有1-7之间的数字的时候为转义字符;其他的时候为字符串结束标志,注意转义字符有哪些(参考书p8)
这样一个例题 若 strlen(‛abc�89‛)=3 strlen(‚abc�12‛)=4 8,强制转换不会改变一个变量的值,只是改变其作用的那个表达式的值。
9,++,――,当++,——,在变量后面的时候表示在本次运算的时候不会改变,在下次引用或者参与运算的时候才会自变;当++,――,在变量的前面的时候则是在本次运算就会发生自变(顺便掌握++,――结合性是右结合,若i+++j等价于(i++)+j; 10,复合运算符要注意当等号后面接的是表达式的时候要把表达式看成一个整体即x *=y+8等价于x=x*(y+8),y+8是一个整体 第四章
1,格式输入和输出的时候,注意格式。要严格按照题目的格式进行操作。(在做题的时候尤其是读程序写结果的时候要细心哈!) 2,%d,%md,%m..nd, %e,以及相应的几种格式是什么意思,参考书p13 第五章
1,关系运算符,>,<,<=,>=,= =,!= ,==和!=优先级最低,主意=与==的区别:=是赋值的意思,表达式的值是对变量赋的值,==是关系运算符,关系运算表达式的值为0或者1. 2,逻辑运算符,&& ,||,!在这几个中优先级!> && > ||,优先级是体现在结合性上而不是运算的先后性上。例如
a=b=c=1;d=++a||++b&&++c在这个里面&&最高那就是加粗部分先看成一个整体,运算顺序还是从++a开始,即做完这个运算后,可以依次判断出后边的运算式子没有必要计算了,所以d=1,a=2,b=1,c=1
1有else的情况是:if(表达式)语句; 3,if语句基本格式:○
2没有else的情况是:if(表达式)else语句;(注意有分号哦),○语句;当有多个if和else的时候if是与其后最近的没有配对的else结合;注意,当函数作为if里面的表达式的时候即if(printf(‚*‛))的时候,则是以函数的返回值判断if的真假,printf输出以1个字符则返回为1,所以这个if是真的;
4条件表达式,? : ;右结合性,是从右往左结合,即是以最后一个?开始结合,但是计算顺序仍然是从左到右(这个牵涉到++,--问题)(参考书p16)
5,switch语句,switch语句只有碰到break或者做到最后一个语句才结束,case和default语句都只是入口。(参考书p17页例子) 第六章
1,while语句基本格式是while(表达式)语句;注意在while()后面没有;号,当函数或者赋值表达式放在while的()中时与if的判断方法一样,时候函数的返回值或表达式值的逻辑值; 2,do{ }while();语句和while语句的区别在于前者先做后判断后者是先判断后做,这个知识点多参考书上(p18例题)和卷子上的题
3,for语句,例如:for(i=1;i<100;i++) s=s+i;注意for括号的后面没有;号,
当有两个for语句即嵌套的for循环的时候 例如:
for(i=1;i<4;i++) for(j=0;j<5;j++)
s=s+i ; 这个时候是先做i=0;然后判断i;然后做加粗的部分,即是把加粗部分看成一个整体做完之后才会回到i++;所以s=s+i ;这个语句做了20次,(参考书p19例题)
4,总结if,for,whlie,后面如果没有{}的时候,即是只有一个简单的语句的时候,if,for,whlie的作用效力范围是到与之最近的分号结束;当有{ }的时候即是把{ }看成一个整体,控制范围是整个{ }里面的所有语句。 5,break是结束整个循环;contine结束本层循环;具体参考书(p19页例子这个很重要哦,一定要掌握) 第七章和第十章(重点哦!!!!!!)
1,维数的判断,当*,[]前面有int ,char,float等常见的类型名的时候表示是在定义,一个 * 或者[]表示升一维,当表达式前面没有int ,char,float的时候则是在引用(或称为使用)一个*或者[ ]表示降一维;
2,注意这样一些东西:int a[3][3],**p=a则, a[0]等价于*p表示的是这个2维数组的第一行或者说是这个2维数组的首元素的地址;a[i]等价与*(p+i)都表示是数组的第i行或者是第i行的首元素的地址;所以要引用这个a数组的元素应该用a[i][j]或者**p 3,对一个数组的输入输出总结
当数组是int(整形的时候)
一个有n个元素的1维数组:输入 for(i=0;i
输出 for(i=0;i
printf(‚%d‛,a[i]);注意int类型要以%d的格式
一个有n行m列的2维数组:输入:for(i=0;i
for(j=0;j
输入:for(i=0;i
一个字符串数组即 char a[10];对这个的输入有两种方式
(1)for(i=0;i
(2)gets(a); scanf(‚%s‛,a)(注意这两种方式的括号里面的只能是一个数组名)
输出也对应有两种方式:(1),for(i=0;i
4,对一个有n个元素的数组的遍历(既是说从第一个成员访问到最后一个成员)有以下两种方式:
1, for(i=0;i
a[i];
(都是指从a[0]访问到a[n-1]) a[i]; 参考书p31 5,对字符串的操作注意:sizeof是一个系统关键字,不是函数,求其后边的参数占用的内存空间,strlen 求字符串中有多少有效字符。
注意这个例题:char a[30]=‚abc�b‛; sizeof(a)=30 ; sizeof(‚abc�b‛)=6;
strlen(a)=3 strlen(‚abc�b‛)=3 ;
6, *p++ 表达式中p与++先结合,取完值之后地址指向下一个元素的地址;*++p则是直接输出第二个元素,指针输出完之后,也指向了下一个元素的地址
7,char a[10]; while(a[i])和while(a[i]!=‘�’)都是表示当a数组不结束的情况下继续循环,一般就是指访问整个数组 8,自编函数实现求字符串的长度:
int fun(char *a) int fun(char *s) { int k; { char *p;
p=s whlie(a[k]) whlie(*p) k++; p++; retrun(k-1); } retrun(p-s); } 第八章
1,分清形参和实参的区别:(1)形参是在定义或声明中,实参是在引用当中;当函数名前有int ,float, char等类型名时是定义或者声明,但是要排除省略类型名的情况;一般引用出现在主函数中,(2)形参是不确定的值,因此不能为常量,实参是确定的值所以可以为常量。
2,当实际参数是一个变量的时候,实参向形参传递值,只是个简单的值传递,不会改变实参的值;当是实参是地址传递的时候就要改变
例:(1),int sub(int x,int y)
{ int c=x;x=y;y=c;} void main()
{ int a=3,b=2;sub(a,b);
printf(‚%d,%d‛,a,b);} 结果是 3,2
(2),int sub(int* x,int *y)
{int c=*x;*x=*y;*y=c;} void main()
{int a=3,b=2;sub(&a,&b);
printf(‚%d,%d‛,a,b);} 结果是 2,3 3,局部变量和全局变量;注意分清各自的作用范围;参考书p64 第4题
局部变量:在程序中,只在特定的过程或函数中可以访问的变量,是相对与全局变量而言的。
全局变量也称为外部变量,是在函数的外部定义的,它的作用域为从变量定义处开始,到本程序文件的末尾。全局变量全部存放在静态存储区,在程序开始执行时给全局变量分配存储区,程序行完毕就释放。
局部变量可以和全局变量重名,但是局部变量会屏蔽全局变量。在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。
4,注意形参和实参必须赋值兼容,也就是说形参和实参维数必须一样;注意区别viod和return;当主函数里面带参数的形式,main(int argc,char *argv[])中argc是表示参数的个数,argv这个数组储存的是具体的参数个数。例, void main(int argc,char *argv[]) { char **p ; while(――argc)
{ *p=argv[argc]; puts(*p); } } 若输入为 china Beijing flie 则结果为:flie Beijing ;
5,注意函数的调用以及静态变量;参考各次卷子中关于这个方面的题
第九和十一章
1,宏替换的时候只是简单的字符替换,不要加任何东西,宏名中不能包含空格; 例:#define xx(m) m*m …… int i=5;
i=i+xx(4+5);
结果为 i=5+4+5*4+5=34;
2,宏替换是在预编译的时候进行,所以不占用程序运行时间;宏名是无类型的;
3,结构体变量的长度是各个成员长度的和;当结构体指针和数组的时候注意分清 . 和->的区别;参考书中p59第3题 4,共用体变量的长度是由成员中的最长的成员决定;
5,链表的题就掌握模拟考试题中的一道选择题就可以了;第十一章的其他内容,还是要去看书了解 第十二章和第十三章
1,位运算符有 | (或)即只要有一个1就是1, &(与)要全部为1才为1 ^(异或)要不相同才为1 ;注意的是当向左移动n位就是乘以2的n次方;向右移动n位就是除以2的n次方。 2,文件,c语言中可以认识两种文件存储类型(1),文本文件(2),二进制文件;
3,打开文件操作注意语句 if((fp=fopen(‚文件名‛,‚r‛))==NULL);当等于NULL的时候就不能打开;注意文件打开之后必须关闭,即是fclose(fp);这两个必然是成对出现;
4,文件在什么情况下结束(1),fp==EOF的时候结束fp!=EOF的时候不结束。
(2),当feof(fp)返回值为0时不结束,返回非零时就是结束;
5,注意背下书p139第2题,万一考到文件的编程一般就是这种题。一般填空就是上面的加粗部分。
6,w,r,a分别表示对文本文件的读,写,追加;fputs(ch,fp)指将ch变量输出到文件fp中;ch=fgets(fp)指的是从文件中得到一个字符赋给变量ch;fread或fwrite(buffer,size,num,fp)中,buffer指的是文件读出/写入的数据的地址,是一个数组名或者指针;size,指读出或者写入每个数的字节数;num指读出和写入多少个数;fp指文件指针。 编者的话:
这些只是基础知识的重点,目的是帮助大家复习基础知识(记住这个只是基础的一部分,仅仅是基础,各个基础知识的运用请大家多参考发的卷子和书后面的习题),大家还是争取要把书细细的看上2遍以上,最后祝大家都能顺利的过二级。
作者:好老师工作
组
第三篇:题目:在品词析句中加强语言文字的训练
内容提要:
阅读教学是凭借文本的语言,着重培养感受语言、理解语言、积累语言、运用语言的能力”。小学语文教学的目的是指导学生正确地理解和运用祖国的语言文字,使学生具有初步的听说读写的能力。因此,指导学生正确地理解和运用语言文字,使学生形成能力,是当前我们阅读教学应该关注的问题。如何加强语言文字的训练呢?找准文本中语言文字的训练点,积累语言,丰富情感,关键在于品词析句。
本文就如何通过有效的教育教学方法和手段引领学生在课堂中品词析句进行尝试和探究,使语言文字的训练落到实处,从而提高小学语文阅读教学的时效性。
主题词:品词析句
阅读教学
语言文字训练
在品词析句中加强语言文字的训练
学语习文是语文教学的首当其任。阅读教学是凭借文本的语言,着重培养感受语言、理解语言、积累语言、运用语言的能力”。可在我们的许多阅读教学中还存在着‘得意而忘言’的现象,即崔峦老师所说“一味注重内容理解、人文感悟,忽视语言的理解和运用,甚至以‘得意’为唯一目标”,与语文学习的真正目的相差甚远。小学语文教学的目的是指导学生正确地理解和运用祖国的语言文字,使学生具有初步的听说读写的能力。因此,指导学生正确地理解和运用语言文字,使学生形成能力,是当前我们阅读教学应该关注的问题。那么如何加强语言文字的训练呢?找准文本中语言文字的训练点,积累语言,丰富情感,关键在于品词析句。正像于永正老师所说“语文教学的亮点在哪里?语文的味道在哪里?在关键的词句里,在理解后的朗读里。
在阅读教学中如何加强语言文字的训练,怎样通过有效的教育教学方法和手段引领学生在课堂中品词析句呢?
首先,要能找准文本中语言文字的训练点,即关键的词句,这是对教师自身的要求。教师要准确深入地解读文本,入情入境地置身于文本当中,去感受文章的意境美,语言美。所谓“感知”得周,“理解”得透,才能“悟”得深,才能引导学生“悟”得深。俗话说,心有多大舞台就有多大,这是引导学生准确深入品词析句的前提。
其次,有效的教学手段是引领学生在课堂中品词析句,进行语言文字训练的保障。有效的语文教学,就是通过有效的教学手段使学生在知识和技能、过程和方法、情感态度价值观等方面获得进步与发展,使之语文素养得到提升,并亲历学习过程和掌握学习方法。所以教师在瞄准三维教学目标的前提下,必须在有效的教学手段上下功夫。
课堂教学是一个引导学生进行语文实践的动态生成的过程,因为我们所面对的是一个个活生生的、充满灵性的学生。教师必须要根据实际,灵活的对教材进行增删调整,以致使学生在良好的教学氛围中成为课堂的主人,成为与教材、教师、学生进行平等对话的主角;还要根据不同类型的教学内容选择灵活的教学方式,设计富有情趣的教学环节,激发学生的兴趣,让他们积极主动地透过品味赏析词句进行全面的语文实践,即知识的学习、技能的训练、兴趣的培养。
一、通过多种形式的朗读,品味感悟语言。
这其实就是我们阅读教学中经常用到的方法,但是在我们的课堂中这种训练往往流于形式,不能真正的达到语文教学的真正目标。我们的语文课程所设置的课程内容本身含有的人文性、工具性交融因素有很多。我们老师就应该善于把握它们,让学生在感悟,理解,欣赏语言,积累语言和运用语言的时候受到情感的熏陶和美的陶冶。说到感悟,理解,欣赏语言,我们就不能不说到朗读。语文教学以读为本,已经成为我们的共识。通过多种形式的朗读,品味感悟语言,让情感熏陶不露痕迹,这应该是阅读教学中进行语言文字训练的一条很好的途径。
例如教学《一夜的工作》这一课,我先和学生一起找出“极其简单”这四个字,再读读这几句,体会体会为什么“简单”的前面要加上“极其”?而不是“十分”不是“非常”不是“很”?”在孩子们的描述中,“极其简单”渐渐具体了,它不再是四个字,而是总理屋里那少得可怜的陈设,一读句子,孩子们有些动情了。 接着我通过对“高大的宫殿般的建筑”背景的介绍,引发“总理屋里本该有什么”的讨论,进行想象、对比、再想象、再对比。然后再问“是的,在堂堂一个大国的总理的办公室里摆上高雅的书柜过分吗?摆上名贵的古董过分吗?摆上舒适的沙发过分吗?„„可是,你看到了什么?!”二读句子,孩子们的心被震撼了,这时再相机播放配乐的朗读,总理屋里的每一件陈设仿佛历历在目,此时此刻,那每一件陈设仿佛都在诉说着总理无数个“极其简单”的日日夜夜。学生的感情是在品味和咀嚼文本的重点词句后油然而生的,不架空、不做作、不浅薄、不浮华。
学生能把课文读正确、流利、有感情,字词句的训练有了,语感训练有了,遣词造句、谋篇布局的能力有了,语言文字训练就在其中。
把朗读和感悟课文很好地融合起来,我们的教学中要恰当地运用这些方法才能真正地提高学生的语文素养。
二、挖掘语言实践的素材,创设一种灵性的、和谐的教学情景。
语文学科是一门实践性很强的学科,我们要掌握语言这一工具,就必须实践大量地语言活动。现在我们的语文课上,写一写、说一说的环节很多。有的利用教材中的疑议点组织辩论、利用教材中的风景名胜,写导游词等等。在这些教学实践活动中,我们的老师应该做的是如何活化教材中这些内容,挖掘语言实践的素材,创设一种灵性的、和谐的教学情景,这样使我们的实践活动扎实有效,激发每一个孩子都参与到语文实践活动中来,促进语言文字的有效训练。
例如《詹天佑》第
五、六自然段分别讲詹天佑“开凿隧道”设计“人”字形线路。在学生初步读懂课文的基础上,我让学生动笔画出“从两端同时向中间凿进”和“中部凿进法”这两种凿进法的草图和“人”字形线路图。学生兴致倍增,全体积极参与。然后再引导同桌两人交流评议,一人读一人画,一人画一人读。通过这种方法,让学生更好地理解詹天佑的创新精神。
再如在教学《乡下人家》一课中“几场春雨过后,许多鲜嫩的笋成群地从土里探出头来”一句,一个“探”字的运用充分表现出了春笋的顽皮可爱,多生动的用词,多生动的语句,可在学生的心中,却很难清晰地想象出它们的样子。这时,我首先采用了比较的方法,出示了“长”和“冒”字,请学生比较着读一读,说说用哪个字更好,这时学生还是不很清晰,于是我接着采用让学生进行表演的策略,并提示学生表演这三个字时的样子,表情和速度,然后我找到表演最好的同学给大家进行表演,并让他讲一讲为什么这么表演,同学们看了表演后一下子就体会到了“探”字比“长”和“冒”字要好,因为课文中的“探”字表现出了小春笋顽皮可爱的样子。当那些顽皮可爱的同学们表演的小春笋的形象活灵活现地映入学生的目光中时,课文中的句子不再只是些呆板的文字,而是变成了一个个跃跃欲试的生命,抽象的句子变成了学生心中那充满生机的形象。句子理解了,学生读得活灵活现,同时也启迪和感染了学生的心灵,习得了写作的方法。阅读中的词句理解落到了实处,理解达到了融会贯通的境界。
三、精心设计巧妙的问题,提纲挈领,启发学生思维
仔细想想,我们的老师能给学生提供这样语言实践的平台,实际上是得益于在教学实践中设计了一些好问题,这样的好问题,既指向语言的形式和内容,又具有一些人文色彩,可是现在的语文课所提出来的问题,大多指向情感、态度、价值观的。例如,有的老师上《只有一个地球》,他在最后一个环节设计了这样一个问题:地球只有一个,请说说我们应该怎样做才能保护地球,保护环境。这一问题的设计使学生在回答的时候只考虑有关的环保问题,而环保又是个很宽泛的内容。这样孩子们的回答就会海阔天空,离文本越来越远。
而王玲湘老师的《搭石》一课:在整个教学中,王老师的提问巧妙,有提纲挈领的作用。如在学习一行人走搭石这一环节里,王老师有这么一问,你从哪儿体会到了美?有了这一问,同学们不仅在文本中体会到了清波漾漾、人影绰绰,踏踏的声音犹如轻快的音乐这些词美、景美,还体会到了行人协调有序的动作美和互相谦让的人情美。
再比如,学习青年人和老年人走搭石这一段,王老师请同学们读读句子,想想,句子中哪一个词让你心头一颤?这一问真是一石击起千层浪,孩子们有的回答是“理所当然”,有的回答是“伏”,各人感受不一。王老师就循着孩子们的回答来细细品味这两个词,在理解这两个重点词语的过程中,孩子们感受到了家乡的人们敬老互助已经蔚然成风,已经成为了家乡纯朴感人的民风。
这样的巧问既指向情感、态度、价值观等人文性,又指向语言的内容。所以我们说在教学中,设计出巧妙的问题能更好的落实语言文字的训练。
总之,语文教学要返朴归真,重视学生学习语言文字,在品词析句中把语言文字的训练落到实处。当然,品词品句需要条件,一是教师要会品,老师要爱读书,多读书,好好钻研教材,气力和智慧多花在教学上。看似功夫在课堂上,实则功夫在课外。二是品词品句还要给学生时间,充分读书。
在阅读教学中,抓好重点词句的品读,对体会句子含义及文章思想感情尤为重要,把握住重点词句,在教学中深入理解运用,才能使学生体会出语言的魅力,真正成为学习的主人。品词析句的方法多种多样,需要教师发挥创新艺术,使词句的理解更到位更精彩,为语言文字的训练,为篇章的准确深入理解奠定基础。常言道:教学有法,教无定法,贵在得法。《课程标准》要求“创造性地理解和使用教材,积极开发课程资源,灵活运用多种教学策略,引导学生在实践中学会学习” 。教材是教学的凭借,课文是作者思想和体验的载体,对它的价值和内涵的发掘,是进行教学设计和语文阅读教学的前提。在今后的工作中,创造性地运用更多更好的教学策略,才能使品词析句更好的为语言文字的训练,为提高阅读教学的实效性服务。
第四篇:语言学毕业论文参考题目
一、现代汉语
1.略论“了1”与“了2”的语法功能差异
2.“还”、“又”、“也”的功能比较
3.汉语副词“一直”、“一向”比较研究
4.“从来”、“历来”、“向来”比较研究
5.程度副词“十分”、“非常”句法语用研究
6.简析“差点儿”和“差点没”的关系
7.说“一点儿”与“有点儿”
8.“名+名”语法小类试析
9.试论汉语概数表示法的多样性
10.现代汉语语气副词的功能分析
11.汉语词类研究述评
12.“相当”语法化过程及个人在语言约定论中作用辨析
13.谈谈状语的非常规位置及其作用
14.语法知识在作文批改中的运用(体会)
15.语文教学中的语言分析(提示:中学语文教学存在重文学轻语言的倾向,语言分析往往孤立进行,如何综合内容及篇章进行语言分析,分析要领及原则是什么?试以具体的课文分析为例,展开具体论述。)
16.文学语言的规范与变异(提示:文学作品的语言的运用往往不合一般的语法。这些超出常规现象有些是积极的修辞现象(变异),有些是消极的语病(不规范),如何确立和运用区分变异与语病的标准?请搜集具体语言材料加以分析论述。)
17.人民日报中的语言失误分析(搜集报中文字、语、句等语言失误现象并进行分析,也可就其他某一较有影响的报刊搜集材料而分析,题目作相应改动。)
18.现代汉语中的“使动用法”
第五篇:C语言大赛题目精选(带答案)
第1题 歌手大赛问题 题目:青年歌手参加歌曲大奖赛,有10个评委进行打分,试编程求这位选手的平均得分。 3种方法:分别要求使用到排序,数组,函数,指针。 分析:这道题的核心程序是排序,将评委打的10个分数利用数组按增序(或降序)排列,计算数组中除了第一个和最后一个分数以外的数以外的数的平均分 答案: #include double Aver(int p[],int count) //求出结果,p为整型数组,count为数组大小 { double result=0; for(inti=0;i
1. 11.打鱼还是晒网 中国有句俗语叫“三天打鱼两天晒网”。某人从1990年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。 *问题分析与算法设计 根据题意可以将解题过程分为三步: 1)计算从1990年1月1日开始至指定日期共有多少天; 2)由于“打鱼”和“晒网”的周期为5天,所以将计算出的天数用5去除; 3)根据余数判断他是在“打鱼”还是在“晒网”; 若余数为1,2,3,则他是在“打鱼” 否则是在“晒网” 在这三步中,关键是第一步。求从1990年1月1日至指定日期有多少天,要判断经历年份中是否有闰年,二月为29天,平年为28天。闰年的方法可以用伪语句描述如下: 如果 ((年能被4除尽且不能被100除尽)或能被400除尽) 则该年是闰年; 否则不是闰年。 C语言中判断能否整除可以使用求余运算(即求模) *程序与程序注释 #include int days(struct date day); struct date{ int year; int month; int day; }; void main() { struct date today,term; intyearday,year,day; printf("Enter year/month/day:"); scanf("%d%d%d",&today.year,&today.month,&today.day); /*输入日期*/ term.month=12; /*设置变量的初始值:月*/ term.day=31; /*设置变量的初始值:日*/ for(yearday=0,year=1990;year0&&day<4) printf("he was fishing at that day. "); /*打印结果*/ elseprintf("He was sleeping at that day. "); } int days(struct date day) { staticintday_tab[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,}, }; inti,lp; lp=day.year%4==0&&day.year%100!=0||day.year%400==0; /*判定year为闰年还是平年,lp=0为平年,非0为闰年*/ for(i=1;i
2. 12.抓交通肇事犯 一辆卡车违反交通规则,撞人后逃跑。现场有三人目击事件,但都没有记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但与前两位不同;丙是数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索求出车号。 *问题分析与算法设计 按照题目的要求造出一个前两位数相同、后两位数相同且相互间又不同的整数,然后判断该整数是否是另一个整数的平方。 *程序与程序注释 #include #include void main() { inti,j,k,c; for(i=1;i<=9;i++) /*i:车号前二位的取值*/ for(j=0;j<=9;j++) /*j:车号后二位的取值*/ if(i!=j) /*判断二位数字是否相异*/ { k=i*1000+i*100+j*10+j; /*计算出可能的整数*/ for(c=31;c*c
3. 14.怎样存钱利最大 假设银行整存整取存款不同期限的月息利率分别为: 0.63% 期限=1年 0.66% 期限=2年 0.69% 期限=3年 0.75% 期限=5年 0.84% 期限=8年 利息=本金*月息利率*12*存款年限。 现在某人手中有2000元钱,请通过计算选择一种存钱方案,使得钱存入银行20年后得到的利息最多(假定银行对超过存款期限的那一部分时间不付利息)。 *问题分析与算法 为了得到最多的利息,存入银行的钱应在到期时马上取出来,然后立刻将原来的本金和利息加起来再作为新的本金存入银行,这样不断地滚动直到满20年为止,由于存款的利率不同,所以不同的存款方法(年限)存20年得到的利息是不一样的。 分析题意,设2000元存20年,其中1年存i1次,2年存i2次,3年存i3次,5年存i5次,8年存i8次,则到期时存款人应得到的本利合计为: 2000*(1+rate1)i1*(1+rate2)i2*(1+rate3)i3*(1+rate5)i5*(1+rate8)i8 其中rateN为对应存款年限的利率。根据题意还可得到以下限制条件: 0<=i8<=2 0<=i5<=(20-8*i8)/5 0<=i3<=(20-8*i8-5*i5)/3 0<=i2<=(20-8*i8-5*i5-3*i3)/2 0<=i1=20-8*i8-5*i5-3*i3-2*i2 可以用穷举法穷举所有的i
8、i
5、i
3、i2和i1的组合,代入求本利的公式计算出最大值,就是最佳存款方案。 *程序与程序注释 #include #include void main() { int i8,i5,i3,i2,i1,n8,n5,n3,n2,n1; float max=0,term; for(i8=0;i8<3;i8++) /*穷举所有可能的存款方式*/ for(i5=0;i5<=(20-8*i8)/5;i5++) for(i3=0;i3<=(20-8*i8-5*i5)/3;i3++) for(i2=0;i2<=(20-8*i8-5*i5-3*i3)/2;i2++) { i1=20-8*i8-5*i5-3*i3-2*i2; term=2000.0*pow((double)(1+0.0063*12),(double)i1) *pow((double)(1+2*0.0063*12),(double)i2) *pow((double)(1+3*0.0069*12),(double)i3) *pow((double)(1+5*0.0075*12),(double)i5) *pow((double)(1+8*0.0084*12),(double)i8); /*计算到期时的本利合计*/ if(term>max) { max=term;n1=i1;n2=i2;n3=i3;n5=i5;n8=i8; } } printf("For maxinumprofit,he should so save his money in a bank: "); printf(" made fixed deposit for 8 year: %d times ",n8); printf(" made fixed deposit for 5 year: %d times ",n5); printf(" made fixed deposit for 3 year: %d times ",n3); printf(" made fixed deposit for 2 year: %d times ",n2); printf(" made fixed deposit for 1 year: %d times ",n1); printf(" Toal: %.2f ",max); /*输出存款方式*/ } *运行结果 For maxinumprofit,he should so save his money in a bank: made fixed deposit for 8 year: 0times made fixed deposit for 5 year: 4times made fixed deposit for 3 year: 0times made fixed deposit for 2 year: 0times made fixed deposit for 1 year: 0times Total:8841.01 可见最佳的存款方案为连续四次存5年期。
4. 51.谁是窃贼 公安人员审问四名窃贼嫌疑犯。已知,这四人当中仅有一名是窃贼,还知道这四人中每人要么是诚实的,要么总是说谎的。在回答公安人员的问题中: 甲说:“乙没有偷,是丁偷的。” 乙说:“我没有偷,是丙便的。” 丙说:“甲没有偷,是乙偷的。” 丁说:“我没有偷。” 请根据这四人的答话判断谁是盗窃者。 *问题分析与算法设计 假设A、B、C、D分别代表四个人,变量的值为1代表该人是窃贱。 由题目已知:四人中仅有一名是窃贱,且这四个人中的每个人要么说真话,要么说假话,而由于甲、乙、丙三人都说了两句话:“X没偷,X偷了”,故不论该人是否说谎,他提到的两人中必有一人是小偷。故在列条件表达式时,可以不关心谁说谎,谁说实话。这样,可以列出下列条件表达式: 甲说:”乙没有偷,是丁偷的。” B+D=1 乙说:“我没有偷,是丙偷有。” B+C=1 丙说:“甲没有偷,是乙偷的。” A+B=1 丁说:“我没有偷。” A+B+C+D=1 其中丁只说了一句话,无法判定其真假,表达式反映了四人中仅有一名是窃贱的条件。 *程序与程序注释 #include void main() { inti,j,a[4]; for(i=0;i<4;i++) /*假定只有第i个人为窃贱*/ { for(j=0;j<4;j++) /*将第i个人设置为1表示窃贱,其余为0*/ if(j==i)a[j]=1; else a[j]=0; if(a[3]+a[1]==1&&a[1]+a[2]==1&&a[0]+a[1]==1) /*判断条件是否成立*/ { printf("The thief is "); /*成立*/ for(j=0;j<=3;j++) /*输出计算结果*/ if(a[j])printf("%c.",j+'A'); printf(" "); } } } *运行结果 The thief is B. (乙为窃贱。)
69.魔术师的猜牌术(1) 魔术师利用一副牌中的13张黑桃,预先将它们排好后迭在一起,牌面朝下。对观众说:我不看牌,只数数就可以猜到每张牌是什么,我大声数数,你们听,不信?你们就看。魔术师将最上面的那张牌数为1,把它翻过来正好是黑桃A,将黑桃A放在桌子上,然后按顺序从上到下数手上的余牌,第二次数
1、2,将第一张牌放在这迭牌的下面,将第二张牌翻过来,正好是黑桃2,也将它放在桌子上,第三次数
1、
2、3,将前面两张依次放在这迭牌的下面,再翻第三张牌正好是黑桃3。这样依次进行将13张牌全翻出来,准确无误。问魔术师手中的牌原始顺序是怎样安排的? *问题分析与算法设计 题目已经将魔术师出牌的过程描述清楚,我们可以利用倒推的方法,很容易地推出原来牌的顺序。 人工倒推的方法是:在桌子上放13空盒子排成一圈,从1开始顺序编号,将黑桃A放入1号盒子中,从下一个空盒子开始对空的盒子计数,当数到第二个空盒子时,将黑桃2放入空盒子中,然后再从下一个空盒子开始对空盒子计数,顺序放入
3、
4、5...,直到放入全部3张牌。注意在计数时要跳过非空的盒子,只对空盒子计数。最后牌在盒子中的顺序,就是魔术师手中原来牌的顺序。 这种人工的方法是行之有效的,计算机可以模拟求解。 *程序与程序注释 #include int a[14]; void main() { inti,n,j=1; /*j:数组(盒子)下标,初始时为1号元素*/ printf("The original order of cards is:"); for(i=1;i<=13;i++) /*i:要放入盒子中的牌的序号*/ { n=1; do{ if(j>13) j=1; /*由于盒子构成一个圈,j超过最后一个元素则指向1号元素*/ if(a[j]) j++; /*跳过非空的盒子,不进行计数*/ else{ if(n==i) a[j]=i; /*若数到第i个空盒子,则将牌放入空盒中*/ j++;n++; /*对空盒计数,数组下标指向下一个盒子*/ } }while(n<=i); /*控制空盒计数为i*/ } for(i=1;i<=13;i++) /*输出牌的排列顺序*/ printf("%d ",a); printf(" "); } *运行结果 The original order of cards is:1 8 2 5 10 3 12 11 9 4 7 6 13 70.魔术师的猜牌术(2) 魔术师再次表演,他将红桃和黑桃全部迭在一起,牌面朝下放在手中,对观众说:最上面一张是黑桃A,翻开后放在桌上。以后,从上至下每数两张全依次放在最底下,第三张给观众看,便是黑桃2,放在桌上后再数两张依次放在最底下,第三张给观众看,是黑桃3。如此下去,观众看到放在桌子上牌的顺序是: 黑桃 A 2 3 4 5 6 7 8 9 10 J Q K 红桃 A 2 3 4 5 6 7 8 9 10 J Q K 问魔术师手中牌的原始顺序是什么? *问题分析与算法设计 本题可在上题的基础上进行编程,不同的在于计数的方法和牌的张数,这些并不影响我们求解题目的思路,仍可按照倒推的方法,得到原来魔术师手中的牌的顺序。 *程序与程序注释 #include int a[27]; void main() { inti,n,j=1; a[1]=1; /*初始化第一张牌*/ printf("The original order of cards is:(r:rad b:block): "); for(i=2;i<=26;i++) { n=1; do{ if(j>26) j=1; /*超过最后一个元素则指向1号元素*/ if(a[j]) j++; /*跳过非空的盒子,不进行计数*/ else{ if(n==3) a[j]=i; /*若数到第3个空盒子,则将牌放入空盒中*/ j++; n++; /*对空盒计数,数组下标指向下一个盒子*/ } }while(n<=3); /*控制空盒计数为3*/ } for(i=1;i<=26;i++) /*输出牌的排列顺序*/ { printf("%c",a>13? 'r':'b'); printf("%d ",a>13? a-13:a); if(i==13) printf(" "); } printf(" "); } *运行结果 The original order of cards is:(r:rad b:black): b1 r6 b10 b2 r12 r3 b3 b11 r9 b4 r7 b12 b5 r4 r13 b6 b13 r11 b7 r5 r1 b8 r8 r10 b9 r2
75.10个小孩分糖果 十个小孩围成一圈分糖果,老师分给第一个小孩10块,第二个小孩2块,第三个小孩8块,第四个小孩22块,第五个小孩16块,第六个小孩4块,第七个小孩10块,第八个小孩6块,第九个小孩14块,第十个小孩20块。然后所有的小孩同时将手中的糖分一半给右边的小孩;糖块数为奇数的人可向老师要一块。问经过这样几次后大家手中的糖的块数一样多?每人各有多少块糖? *问题分析与算法设计 题目描述的分糖过程是一个机械的重复过程,编程算法完全可以按照描述的过程进行模拟。 *程序与程序注释 #include void print(int s[]); int judge(int c[]); int j=0; void main() { static int sweet[10]={10,2,8,22,16,4,10,6,14,20}; /*初始化数组数据*/ inti,t[10],l; printf(" child "); printf(" round 1 2 3 4 5 6 7 8 9 10 "); printf("............................. "); print(sweet); /*输出每个人手中糖的块数*/ while(judge(sweet)) /*若不满足要求则继续进行循环*/ { for(i=0;i<10;i++) /*将每个人手中的糖分成一半*/ if(sweet%2==0) /*若为偶数则直接分出一半*/ t=sweet=sweet/2; else /*若为奇数则加1后再分出一半*/ t=sweet=(sweet+1)/2; for(l=0;l<9;l++) /*将分出的一半糖给右(后)边的孩子*/ sweet[l+1]=sweet[l+1]+t[l]; sweet[0]+=t[9]; print(sweet); /*输出当前每个孩子中手中的糖数*/ } } int judge(int c[]) { inti; for(i=0;i<10;i++) /*判断每个孩子手中的糖是否相同*/ if(c[0]!=c) return 1; /*不相同返回 1*/ return 0; } void print(int s[]) /*输出数组中每个元素的值*/ { int k; printf(" %2d ",j++); for(k=0;k<10;k++) printf("%4d",s[k]); printf(" "); } ------------------ -- 作者:huang01 -- 发布时间:2004-10-21 17:16:52 -- 5. 76.小明买书 小明假期同爸爸一起去书店,他选中了六本书,每本书的单价分别为:3.1,1.7,2,5.3,0.9和7.2。不巧的是,小明的爸爸只带了十几块钱,为了让小明过一个愉快的假期,爸爸扔然同意买书,但提邮购一个要求,要小明从六本书中选出若干本,使得单价相加所得的和同10最接近。你能够帮助小明解决这个问题吗? *问题分析与算法设计 分析题意,可将题目简化为:从六个数中选出若干个求和,使得和与10的差值最小。 题目中隐含两个问题,其一是怎样从六个数中选出若干个数;其二是求与10的差。 从六个数中选出若干个数实质是从六个数中选出若干个进行组合。每个数在组合过程中只有两种情况:要么是选中参加求和,要么是没选中不参加求和。这样就可以使用六重循环对每个数是否参加求和进行全部可能情况的组合。 关于求与10的差值应当注意的是:差值的含义是指差的绝对值。例如:“9-10=-1"和"11-10=1",但9和11这两者与10的差值都是1。若认为”9“与”10的差值为-1就错了。 *程序与程序注释 #include #include void main() { int d[6],m,i,j; long b[63],flag; float c[6],min,x; printf("Please enter the prices of 6 books:"); for(i=0;i<6;i++) scanf("%f",&c); /*输入六个浮点数*/ for(i=0,min=-1,d[0]=0;d[0]<2;d[0]++) /*建立六个数的全部组合并处理*/ for(d[1]=0;d[1]<2;d[1]++) /*i:差值具有min组合的数量*/ for(d[2]=0;d[2]<2;d[2]++) /*min:与10的最小差值*/ for(d[3]=0;d[3]<2;d[3]++) /*d[]:组合时是否取该数的标志*/ for(d[4]=0;d[4]<2;d[4]++) for(d[5]=0;d[5]<2;d[5]++) { for(flag=0,x=0,j=5;j>=0;j--) /*flag:将六个数的组合用对应的一个十进制位表示 x:对应六个数组合的和*/ { x+=c[j]*d[j]; flag=flag*10+d[j]; } x=((x-10>0)? x-10:10-x); /*x: 组合的和与10的差*/ if(min<0) { min=x; /*对第一次计算出的差min进行处理*/ b[i++]=flag; /*b[]:有相同的min的flag的数组 i:b[]数组的下标*/ } else if(min-x>1.e-6) /*对新的min的处理*/ { min=x; b[0]=flag; i=1; } else if(fabs((double)x-min)<1.e-6) b[i++]=flag; /*对相等min的处理*/ } for(m=0;m0;j++,flag/=10) if(flag%10) /*将b[]中存的标记flag还原为各个数的组合*/ if(flag>1) printf(" %.2f+",c[j]);="" elseprintf("%.2f="" ",c[j]);="" }="" *运行结果="" please="" enter="" the="" prices="" of="" 6="" books:3.1="" 1.7="" 2.0="" 5.3="" 0.9="" 7.2="" 10(+="" -)0.10="2.00+0.90+7.20" *思考题="" 可以看出,程序中求六个数所能产生全部组合的算法并不好,使用六重循环进行处理使程序显得不够简洁。可以设计出更通用、优化的算法产生全部组合。="" 6.="" 77.波松瓦酒的分酒趣题="" 法国著名数学家波瓦松在表年时代研究过一个有趣的数学问题:某人有12品脱的啤酒一瓶,想从中倒出6品脱,但他没有6品脱的容器,仅有一个8品脱和5品脱的容器,怎样倒才能将啤酒分为两个6品脱呢?="" *问题分析与算法设计="" 将12品脱酒="" 8品脱和5品脱的空瓶平分,可以抽象为解不定方程:="" 8x-5y="6" 其意义是:从12品脱的瓶中向8品脱的瓶中倒x次,并且将5品脱瓶中的酒向12品脱的瓶中倒y次,最后在12品脱的瓶中剩余6品脱的酒。="" 用a,b,c代表12品脱、8品脱和5品脱的瓶子,求出不定方程的整数解,按照不定方程的意义则倒法为:="" a="" -=""> b -> c ->a x y 倒酒的规则如下: 1) 按a -> b -> c ->a的顺序; 2) b倒空后才能从a中取 3) c装满后才能向a中倒 按以上规则可以编写出程序如下: *程序与程序注释 #include voidgetti(inta,inty,int z); inti; /*最后需要分出的重量*/ void main() { inta,y,z; printf("input Full a,Emptyb,c,Get i:"); /*a 满瓶的容量 y:第一个空瓶的容量 z:第二个空瓶的容量*/ scanf("%d%d%d%d",&a,&y,&z,&i); getti(a,y,z); /*按a -> y -> z -> a的操作步骤*/ getti(a,z,y); /*按a -> z -> y -> a的步骤*/ } void getti(inta,inty,int z) /*a:满瓶的容量 y:第一个空瓶的容量 z:第二个空瓶的容量*/ { int b=0,c=0; /* b:第一瓶实际的重量 c:第二瓶实际的重量*/ printf(" a%db%dc%d %4d%4d%4d ",a,y,z,a,b,c); while(a!=i||b!=i&&c!=i) /*当满瓶!=i或另两瓶都!=i*/ { if(!b) { a-=y; b=y;} /*如果第一瓶为空,则将满瓶倒入第一瓶中*/ else if(c==z) { a+=z; c=0;} /*如果第二瓶满,则将第二瓶倒入满瓶中*/ else if(b>z-c) /*如果第一瓶的重量>第二瓶的剩余空间*/ { b-=(z-c);c=z;} /*则将装满第二瓶,第一瓶中保留剩余部分*/ else{ c+=b; b=0;} /*否则,将第一瓶全部倒入第二瓶中*/ printf(" %4d %4d %4d ",a,b,c); } }