k++;
}
}
题目21:下列程序的功能是:利用发下所示的简单迭代方法求方程:cos(x)-x=0的一个实根。xn+1=cos(xn)
迭代步骤如下:
(1)取X1初值为0.0;
(2)X0=X1,把X1的值赋给X0;
(3)X1=COS(X0),求出一个新的X1;
(4)若X0-X1绝对值小0.000001,执行步骤(5),否则执行步骤(2);
(5)所求X1就是方程cos(X)-X=0的一个实根,作为函数值返回。
请编写函数countvalue()实现程序的要求,最后调用函数WRITEDAT()把结果输出到文件OUT17.DAT中。
注意:部分源程序已给出。
请勿改动主函数main()和输出数据函数writeDAT()的内容。
-----------------------------
float countvalue()
{ double x0,x1;
x1=0.0;
do
{ x0=x1;
x1=cos(x0); }
while(fabs(x0-x1)>=0.000001); 绝对值fabs()
return x1; }
熟悉循环do while
题目19:编写一个函数findstr(),该函数统计一个长度为2的子字符串在另一个字符串中出现的次数。例如:假定输入的字符串为"asd asasdfg asd as zx67 asd mklo",子字符串为"as",函数返回值为6。
函数readwriteDat()的功能是实现从文件in.dat中读取两个字符穿4,并调用函数findstr(),最后把结果输出到文件out.dat中。
注意:部分源程序已给出。
请勿改动主函数main()和函数ReadWrite()的内容。
-----------------------
int findStr(char *str,char *substr)
{ int n;
char *p , *r; *是什么意思啊?
n=0;
while ( *str )
{ p=str;
r=substr;
while(*r)
if(*r==*p) { r++; p++; }
else break;
if(*r=='\0') 结束的标志
n++;
str++; }
return n;
}
遗留问题
问题一:答案没看明白:
题目100:函数READDAT()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组XX中;请编制函数CHA(),其函数功能是:以行为单位把字符串中的最后一个字符的ASCII值右移4位后加最后第二个字符的ASCII值,得到最后一个新的字符,最后第二个字符的ASCII值右移4位后加最后第三个字符的ASCII值,得到最后第二个新的字符,依此类推一直处理到第二个字符,第一个字符的ASCII值加原最后一个字符的ASCII值,得到第一个新的字符,得到的新字符分别存放在原字符串对应的位置上。最后已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT10.DAT中。原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。
注意:部分源程序已给出。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数writeDat()的内容。
-----------------------
void CharConvA(void) /*标准答案*/
{int I,j,strl;
char ch;
for(I=0;I<maxline;I++)
{strl=strlen(xx[I]);
ch=xx[I][strl-1];
for(j=strl-1;j>0;j--)
{xx[I][j]>>=4;
xx[I][j]+=xx[I][j-1];}
xx[I][0]+=ch;
}
}
这个答案没看明白啊
题目74:函数READDAT()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组XX中;请编制函数STRCHARJL(),其函数功能是:以行为单位把字符串中的所有字符的ASCII值左移4位,如果左移后,其字符的ASCII值小于等于32或大于100,则原字符保持不变.否则就把左移后的字符ASCII值再加上原字符的ASCII值,得到新的字符仍存入原字符串对应的位置上。最后把已处理的字符串仍按行重新存入字符串数组XX中,最后调用函数WRITEDAT()把结果XX输出到文件OUT7.DAT文件中.原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格.
注意:部分源程序已给出。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数writeDat()的内容。
-----------------------
void StrCharJL(void)
{ int i,j;
char c;
for(i=0;i<maxline;i++)
for(j=0;j<strlen(xx[i]);j++)
{ c=xx[i][j]<<4;
if(!(c<=32||c>100))
xx[i][j]+=c; }
}
问题二
题目3:函数READDAT()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组XX中;请编制函数STROR(),其函数功能是:以行为单位把字符串中的所有小写字母O左边的字符串内容移到该串的右边存放,然后并把小写字母O删除,余下的字符串内容移到已处理字符串的左边存放.最后把已处理的字符串仍按行重新存入字符串数组XX中,最后调用函数WRITEDAT()把结果XX输出到文件OUT.DAT中.
例如:原文:You can create an index on any field.
you have the correct record.
结果: n any field.You can create an index
rd.yu have the crrect rec
原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格.
-------------------
类型:字符串(单词)的倒置和删除。
void StrOR(void)
{int i,righto,j,k;
char tem[80];
for(i=0;i<maxline;i++)
{k=0;righto=0;memset(tem,0,80);
for(j=strlen(xx[i])-1;j>=0;j--)
{if(xx[i][j]=='o') {righto=j;break;} }
for(j=righto+1;j<strlen(xx[i]);j++) tem[k++]=xx[i][j];
for(j=0;j<righto;j++)
{if(xx[i][j]!='o') tem[k++]=xx[i][j];}
strcpy(xx[i],tem);
}}
题目90:下列程序的功能是:将一正整数序列{K1,K2,...,K9}重新排列成一个新的序列。新序列中,比K1小的数都在K1的左面(后继的再向U左存放),比K1大的数都在K1的右面(后续的再向右存放),从k1想右扫描。要求编写函数jsvalue()实现此功能,最后调用writeDat()函数所新序列输出到文件out.dat中。
说明:在程序中已给出了10个序列,每个序列有9个正整数,并存入数组a[10][9]中,分别求出这10个新序列。
例:序列{6,8,9,1,2,5,4,7,3}
经重排后成为{3,4,5,2,1,6,8,9,7}
注意:部分源程序已给出。
请勿改动主函数main()和写函数writeDat()的内容。
--------------------
jsvalue(int a[10][9])
{ int i,j,k,m,c,b[10][9];
for(i=0;i<10;i++)
for(j=0;j<9;j++)
b[i][j]=a[i][j];
for(i=0;i<10;i++)
{ k=b[i][0];
for(j=1;j<9;j++)
if(b[i][j]<k)
{ c=b[i][j];
for(m=j;m>0;m--)
a[i][m]=a[i][m-1];
a[i][0]=c; } }
}
题目57:设有n个人围坐一圈并按顺时针方向从1到n编号,从第s个人开始进行1到m的报数,报数到第个m人,此人出圈,再从他的下一个人重新开始1到m的报数,如此进行下去直到所有的人都出圈为止。现要求按出圈次序,每10人一组,给出这n个人的顺序表。请考生编制函数Josegh()实现此功能并调用函数WriteDat()把结果p输出到文件OUT.DAT中。
设n=100,s=1,m=10.
(1)将1到n个人的序号存入一维数组p中;
(2)若第i个人报数后出圈,则将p[i]置于数组的倒数第i个位置上,而原来第i+1个至倒数第i个元素依次向前移动一个位置;
(3)重复第(2)步直至圈中只剩下p[1]为止。
部分源程序已给出。
请勿改动主函数main()和输出数据函数writeDat()的内容。
-------------------
void Josegh(void) /*标准答案*/
{int I,j,k,s1,w;
s1=s;
for(I=1;I<=n;I++) p[I-1]=I;
for(I=n;I>=2;I--)
{s1=(s1+m-1)%I;
if (s1==0) s1=I;
w=p[s1-1];
for(j=s1;j<=I-1;j++) p[j-1]=p[j];
p[I-1]=w;}
}
注:题中第一个for()循环是先对数组p赋初值。在第二个for()中用i来控制没出圈的
总人数,s1=(s1+m-1)%i的作用是找出报数后出圈人的下标,其中对i求余的作用是使报
数按圈进行(即报到尾后又从头报),该算法在很多题目中都用到。由于求余的作用当
报数正好到最后一个时s1为0,故而要进行if(s1==0)的判断。内嵌的for()循环是将出圈
以后的人依次往前移。
茅于轼事件真相揭秘
茅于轼是我国著名经济学家,但自从茅于轼事件曝光后,对于茅于轼双面人的真实面目也随着浮现,那么此事件真相到底是怎么回事呢?为何茅于轼谈被骂事件说很多糊涂的人还想走过去的路?以下是小编搜索到的相关内容,希望对你有所帮助。
他们这样对待我———造谣、侮辱,我也没有恶言相向。我反而是劝他们的,如果你们的事业符合正义的话,不要用流氓手段来伤害你们的正义性。有话好好讲嘛。
真正有经验的人不会怀念过去。谁会怀念那个时代呢?农民吃不饱,饿死,工人几十年不加工资,养家都养不了,知识分子、老干部挨批挨斗,谁得到了好处呢?
———茅于轼
经济学家茅于轼近日的言论又引起激烈争论:4月24日他发表微博称,所谓剥削实际是财富创造;4月25日在沈阳一个论坛演讲时,遭遇辽宁党史学会副秘书长王新年从台下发出的激烈反对,之后反对者被人强行带走。此后,茅于轼称有人在电话里对其骚扰并威胁。5月4日茅于轼计划在长沙演讲,因遭一些反对者现场围堵而被迫取消。
5月7日,茅于轼接受南都记者姜英爽专访,称自己不会改变看法以及发言方式。
茅于轼事件真相揭秘
茅于轼事件
关于骂声不觉得委屈,他们想说就说
姜英爽:你在沈阳遭遇反对的事儿是怎么回事?
茅于轼:沈阳开了个会,叫非公经济高峰论坛,我的发言题目是《非公经济的新思路》,我才开始讲了不到5分钟,人家还不知道我要讲什么呢,就有人站起来大喊大叫。我也没听见他叫的是什么,我耳朵有点聋,他旁边一个人就把他推倒了,不让他捣乱,他站起来就大喊,他旁边的人就把他推出去了。我在台上,怕把他打坏了,我就喊:不要对他动武。出去之后,这个人还不甘心,又跑到其他方向去叫喊,后来当地警察进来就把他带走了。
姜英爽:后来你了解到是什么事情了吗?
茅于轼:后来我在报纸上看到了,这个人是有姓有名的———辽宁党史学会副秘书长王新年。这个人不像知识分子,怎么在会场上大喊大叫呢?
姜英爽:这是你第一次在会场上遇到类似的反对声音吗?
茅于轼:不,我碰到好几次了。在上海有人扔我一只鞋子,大概是5年以前;我在理工大学演讲时也有四五个人来动武,这是第二次;沈阳是第三次了。
姜英爽:你在微博上说最近遭到电话骚扰,还报警了?
茅于轼:有人打电话来骚扰,半夜零点到两点,不断有人打电话,我有个录音电话,已经都录下来了。来电话都是骂人。
姜英爽:你一直会听到不少骂声,最近是比较严重吗?
茅于轼:长沙居然有几十个人举了旗帜游行骂我,最近有这种情况。网上两种声音都有,支持我的有,支持他们的也有。
姜英爽:你觉得委屈吗?
茅于轼:我不觉得委屈,他们想说就说嘛。
姜英爽:其实你一辈子努力的,都是在扶贫,为穷人办事,不被人理解的感觉,真的没有?
茅于轼:其实这不是我的委屈。我觉得他们很可悲。他们太糊涂了,不知道自己的利益在哪里。为他们办事的人,他们却以为是敌人。他们太可怜了,太可悲了。没有一个科学的思维方法。
姜英爽:你想过因此而改变自己的想法或者减少发出引发争议的声音吗?
茅于轼:我不想改变我的想法。我该说什么还是说什么。有人对我有非常大的看法,但是这不奇怪。我也很习惯骂的声音。很难听的话我都听过了。只要我觉得自己做得对,我还是继续做。我要说真话。很多科学的道理跟一般的人的想法是不同的。
关于“文革”谁会怀念那个时代呢?
姜英爽:有种声音说你是对政治有涉入的经济学家,你认可这种看法吗?
茅于轼:我一点都不认可。他们认为我选择做大众的焦点,这不是我选择的。这是他们选择的,他们要和我作对,我有什么办法。我不想成为焦点,我从来不高调。他们这样对待我———造谣、侮辱,我也没有恶言相向,你骂我我骂你,没有。我反而是劝他们的,如果你们的事业符合正义的话,不要用流氓手段来伤害你们的正义性。有话好好讲嘛。
姜英爽:你对政治是否有所涉入?
茅于轼:我是个普通的经济学家。我对“文革”有评价,这叫政治涉入?谁对“文革”没有评价呢。没有经过“文革”的人不在此内。经历过“文革”的人都有评价。对于现在,我也是个独立的思想者。好就是好,坏就是坏。
姜英爽:现在有些声音是怀念过去的。
茅于轼:真正有经验的人不会怀念过去。谁会怀念那个时代呢?农民吃不饱,饿死,工人几十年不加工资,养家都养不了,知识分子、老干部挨批挨斗,谁得到了好处呢?
关于剥削雇佣关系不形成剥削关系
旁白:近日,茅于轼在微博写道:“剥削是财富的转移,从被剥削者转移到剥削者,使被剥削者越来越穷。剥削没有财富的创造。可是全球最富的国家美国恰好是资本主义国家。那里的工人也是全球最富的工人。拿我国的经验来看,改革前没有剥削,工人们十几年不加工资。现在有了‘剥削’工人的生活比改革前好多了。这证明所谓剥削实际是财富创造。”这一观点也引起了激烈的争论。
姜英爽:你在微博里写道,所谓剥削实际上是财富创造。这种言论,很容易引起对社会分配不公不满的人的反弹。
茅于轼:市场确实是不公平的,从收入上讲。但它又是公平的,从分配上讲。你创造多少财富,你能拿回去,不存在剥削。
姜英爽:那你赞同“剥削”吗?
茅于轼:我赞成马克思所谓的“剥削”。马克思说雇佣关系是剥削,我说的雇佣关系是财富创造。我赞成劳资关系。雇佣关系不形成剥削关系。企业都是这个关系。他说是剥削,我说是财富的创造。
姜英爽:“剥削”后的财富如果能更好地为社会福利、公平作出贡献,这更是民众所追求的。
茅于轼:马克思所谓的“剥削”,实际上是谁创造的财富谁拿走了,这中间不存在剥削。这是财富的创造过程,在经济学中已经严格地证明了。
姜英爽:财富的调节再分配,这个重要吗?比如对富人的税收,是否能为社会创造更多的福利?
茅于轼:强制性的,但是温和地多交点税,也是一种剥夺,这是合理的,有利于社会发展的,而且是富人们同意的。而不是打土豪分田地。
茅于轼事件真相揭秘
茅于轼事件
关于财富分配当前公平要更重要一些
姜英爽:你觉得我们当前社会最重要的问题是什么?
茅于轼:目前来讲,财富分配是个大问题,但是也不能够牺牲效率。效率和公平要兼顾,当前的话,恐怕公平要更重要一些。
姜英爽:大家强烈反对的,就是这种分配的不公平。
茅于轼:大家收入都一样这叫公平吗?目前我们的分配当中,有很多是贪污腐化走私贩毒,特别是靠特权靠审批得到的,这个和西方是不一样的。所以我们的不公是更大程度的一种不合理。
姜英爽:有一种观点觉得,财富是劳动的结果,而剥削却是一种状态,你怎么看?
茅于轼:财富不一定是劳动的结果。劳动生产财富,也可以消灭财富。改革以前,我们的劳动就是消灭财富。劳动只有在得当的时候,只有资源配置是好的,劳动对象和产品都是良好的资源配置时,才能产生财富,而这部分是企业家做的,而不是劳动者做的。
姜英爽:有人认为,这种“剥削”迟早会阻碍社会的进步?
茅于轼:你这里定义的剥削和我说的剥削不是一回事。所有的发达国家,不这么看。
姜英爽:这种“剥削”不会产生社会矛盾?
茅于轼:那当然不会。要杜绝这种“剥削”只有公有制。但是我们现在的富有不是因为坚持了公有制,而是因为引进了私有制。西方的生活水平很高,恰恰证明没有剥削。剥削是不会创造财富的,只是财富的转移。但是西方为什么这么富有呢?是因为创造了财富。我们国家也一样。
姜英爽:一些知名企业员工跳楼事件是否与这种“剥削”有关?
茅于轼:跳楼的事件总是有的。大学、中学也有人跳楼,你把他归纳于剥削带来的,证明你没有调查研究。每年的自杀患者众多,是否都是因为剥削?
个人愿望最大愿望是希望人民都富裕
姜英爽:现在84岁高龄的你,还有什么愿望是你所致力要达到的?
茅于轼:作为经济学家,最大的愿望就是希望人民都富裕。但是现在我觉得,不仅要追求富裕,我们还需要一个和谐的社会,这几年我也在思考人生的价值,我的处事哲学就是自己享受人生,也帮助别人享受人生。
姜英爽:你所说的帮助别人享受人生是什么?
茅于轼:扶贫的事情我一直在做,我希望更多的人享受到生活。
姜英爽:你曾经说过,你对这个社会有很多的不放心,你不放心的是什么?
茅于轼:很多糊涂的人,还想走过去的路。我希望这个社会朝我希望的方向走。