注    册
密 码 忘记密码
保存密码         取消

2007新的开始

公告

愿朋友天天开心

电影院 
好好看哦

日历

我的工具

定制广告

阿里妈妈

我的广告

日志

股票入门

分类:默认栏目

1.我国股市正处于调整阶段
  我国的沪深股市是从一个地方股市发展而成为全国性的股市的。在1990年12月正式营业时, 上市的股票数量只有为数很少的几只,其规模很小,且上市的股票基本上都是上海或深圳的本 地股,如上海老八股中只有一支是异地股票。在其股市的发展中,由于缺乏战略性的考虑,造 成了资金的扩容与股票的扩容不同步,特别是资金扩容,其速度远远快于股票扩容。在1991年 至1996年的五年间 ,股票营业部从数十家扩展到现在的近3000家,入市资金从10多亿元增加 到现在的3000多亿元,而上市公司却只从当年的近20家增加到现在的400多家,上市流通的股 票只有300亿股。股市的供求关系极不平衡,这样就造成了股价在最初两年出现暴涨的局面。
  上海股市从1990年12月开始计点,1992年年底就上升到了780点,平均年涨幅达到179%;深圳 股市从1991年4月开始计点,1992年底也涨到了241点,年均涨幅也有68.5%。 由于股价在开始两年涨幅过度,伴随着股票的扩容,在1993年上半年股价达到历史性的高度 后,股价就停步不前,沪深股市就进入艰难的调整阶段。1993年沪深股市收盘指数分别为833 点和238点,1994年收盘指数分别为647点和140点,1995年的收盘指数分别为555点和113点。 根据国外股票指数的上涨速度和我国的实际情况,我国股市这种调整估计还要相当时日。如国 家不出现比较严重的通货膨胀,上证综合指数若要在1000点站稳,大概还需要5年以上的时间 。
  2.供不应求
  我国股市股民多、入市的资金额度大,而上市流通的股票少,股市呈现出明显的股票供不应 求局面。据初步统计,到1996年10月底,沪深股市登记在册的股民约有1800万,而同期沪深股 市的流通股规模约为300亿股,平均每个股民拥有的股票只有近1700股。据初步估算,我国上 市公司1995年的每股税后利润不到0.30元,平摊下来,股民人均收益最多只有500元,按人均 入市资金20000元计算,股票投资的收益率(不计交易税、费)只有2.5%,只相当于活期储蓄 利率。而由于股民在股市中频繁交易,其上缴手续费及交易税之总和往往比流通股的税后利润 之和还要多。
  3.股市交投过旺
  由于我国股民投机性较强,其入市的动机主要是以搏差价为主,所以许多股民以炒股票为业 。股市稍有风吹草动,便买进杀出,追涨杀跌之风盛行,股市的交投极其活跃。如国外一般成 熟股市股票的年均换手率不到40%,而我国股市的年均换手率却超过600%,是国外成熟股市的 15倍。
  股市交投过旺一方面造成股市的暴涨暴跌,如美国纽约股市从开办到现在的200年间,日涨跌 幅度超过3%的只有10次,而沪深股市涨跌幅超过3%的时间却要占整个交易日的20%以上。交投 过旺的第二个后果就是造成股民的交易成本上升,1996年1-10月,沪深股市的股票成交量达1 .3万亿元,股民上缴的交易税、手续费近200亿,而今年上市公司流通股的税后利润估计只有 近100亿。收入与支出相比,支出多100亿,这样就使整个股民称为亏损一族。
  4.股市尚待规范
  我国股市是由地方股市发展起来的,且中央政府对股市的监管从1992年下半年才开始,股市 的运作还尚待规范。从宏观管理方面来讲,其一是对股市的规律还缺乏统一的认识,具体表现 在相关的政策缺乏科学性和连续性,如股市扩容及上市指标的控制仍沿用额度控制的方法。其 二是对股市的发展缺乏长远的规划,如国家股、法人股并轨问题,没有一个具体的实施计划。 其三是对股市的监管力度明显不足,如对信息披露的监管、对制止机构大户联手操纵股市等问 题力度明显不够。
  从证交所方面来讲,虽然沪深股市已称为全国性的股市,但证交所仍归口地方管理,且证券 交易税的一半归地方财政,证交所的地方利益倾向十分严重,主要表现在两个交易所都将成交 量的大小作为工作目标(成交量大就可多收交易税),所以对有利于活跃股市成交的一些不规 范行为的制止明显不力。
  从券商方面来讲,其一方面在自营业务中利用资金实力对股价进行操纵,以从中渔利;另外 为配合新股的顺利发行,往往采用认为造市的方法,拉抬股价,引股民上钩。
  上市公司方面,为了新股的发行或配股的顺利完成,在信息披露方面一般是报喜不报忧,隐 瞒一些重要的不利信息,且经常高估利润指标。而一旦股票上市发行成功,则发表声明更改盈 利预测或发表所谓的道歉声明来掩盖错误。 

培红日志

分类:默认栏目

我把自己关起来只留下一个阳台
 每当天黑推开窗我对着夜幕发呆
 看着往事一幕一幕
 再次演出你我的爱
 我把电视机打开听着别人的对白
 也许那些故事可以给我一个交代
 你要的爱我学不来
 眼睁睁看情变坏人怔怔看情感概
 不能给你未来我还你现在
 安静结束也是另一种对待
 当眼泪流下来 伤已超载
 分开也是另一种明白
 我给你最后的疼爱是手放开
 不要一张双人床中间隔着一片海
 感情的污点就留给时间慢慢漂白
 把爱收进胸前左边口袋
 最后的疼爱是手放开
 不想用言语拉扯所以选择不责怪
 感情就像候车月台有人走有人来
 我的心是一个站牌 写着等待
 不能给你未来我还你现在
 安静结束也是另一种对待
 当眼泪流下来 伤已超载
 分开也是另一种明白
 我给你最后的疼爱是手放开
 不要一张双人床中间隔着一片海
 感情的污点就留给时间慢慢漂白
 把爱收进胸前左边口袋
 最后的疼爱是手放开
 不想用言语拉扯所以选择不责怪
 感情就像候车月台有人走有人来
 我的心是一个站牌 写着等待
 最后的疼爱是手放开
 不要一张双人床中间隔着一片海
 感情的污点就留给时间慢慢漂白
 把爱收进胸前左边口袋
 最后的疼爱是手放开
 不想用言语拉扯所以选择不责怪
 感情就像候车月台有人走有人来
 我的心是一个站牌 写着等待
 我把收音机打开听着别人的失败
 啃咽的声音仿佛诉说着相同悲哀
 你的依赖还在胸怀
 我无法轻易推开我无法随便走开
 感情中专心的人容易被伤害
 欢迎光临 歌词吾爱

炒股狂潮席卷全国 谁在拿股票赌生活?

分类:默认栏目

2006年以来,我国股市持续上演着“牛市”的神话,上证综合指数累计上涨约235%,于是疯狂的炒股狂潮席卷了全国。截至2007年5月14日,股民账户总数达到了9671.34万户,逼近1亿户,相当于大约每14个中国人里就有一位股民。然而,在众多新股民中,很多人甚至连股票基本术语都一窍不通。专家提醒:没有“只赚不赔”的股市,不具备基本的金融常识就入市是非常危险的盲目投资,新股民风险教育刻不容缓!

资料图片

  新股民:盲目乐观无所畏惧是普遍心态

  5月9日,上证指数突破4000点大关;5月15日,沪指跌破3900点。股市的震荡,阻止不了股民的疯狂,新股民忙不迭地和大盘赛跑。

  记者在海口市区的几家证券公司看到,虽然股市有所波动,然而准备开户的市民还是络绎不绝。在位于海口市金龙路的国泰君安证券公司营业部里,经常可看到挤得满满当当的场景,老人和在校学生的身影也随处可见。

  国泰君安证券股份有限公司海南营销总部总经理林国奎说,今年以来,每天都有100多人到他的营业厅开户,其中不乏将多年的积蓄全部投入股市的人。
marginWidth=0 marginHeight=0 src="http://images.sohu.com/chat_online/market/marketpip.html" frameBorder=0 width=350 scrolling=no height=250 bordercolor="#000000">
marginWidth=0 marginHeight=0 src="http://images.sohu.com/cs/button/zhongshi/2007/jufu.html" frameBorder=0 width=350 scrolling=no height=59 bordercolor="#000000">


  “每天看着这么多人开户入市,我真为他们胆战心惊。”一位有十多年炒股经历的老股民说。

  海南经济职业技术学院的在校生小郑告诉记者,由于学的是证券投资专业,在他们班里,几乎所有人都在证券公司开了户。尽管家境不好,家里给的生活费都难以支付生活开销,但考虑到近段时间,周围的同学都在谈股市,都说赚了,我也心动了,拿出生活费再借点凑了5000元投进股市。“我看好中国股市,现在我最大的愿望就是有一大笔钱拿去炒股。”小郑说。

  看着股市行情一路上涨,下岗职工周先生也按耐不住了。他四处筹到1万元,也加入了新股民的行列。周先生说,春节过后,上证指数从3000点一路涨到4000点,而他的月收益也达到了11%左右,基本可以维持生活。他认为,如果以这样的速度发展下去,突破5000点是迟早的事。“我还准备再借2万元投到股市,到那时就不用到处找工作,炒股票就可以养活自己了。”周先生说。

  一位证券公司的工作人员告诉记者,新股民中,像周先生这样盲目乐观的人不在少数,他们似乎无所畏惧,几乎不考虑风险。

  据了解,很多新股民将手里的钱往股市里砸,全然不顾手中的钱是用来买车买房的,还是留给孩子的教育资金。很多人买股票全靠听“消息”,别人说什么好,就买什么股票,根本不考虑上市公司的背景。

  与此同时,也有很多新鲜事见诸报端,比如有人初进证券交易大厅就问“基金的利息是多少”,更有人拿自家的房子作抵押,从银行、典当行贷款入市。

  老股民:“一夜暴富”的思想要切忌

  在众人“我为股狂”的同时,一些老股民却颇显理智。

  在国泰君安证券公司营业厅里,有8年股龄的张大爷说:“为了谨慎起见,我已在两周前把手中股票全部抛出。”张大爷还对记者说,2001年,他就是在亲戚的鼓动下进了股市,那个时候也像现在一样暴涨,开始他也赚了不少钱,可没多久股市暴跌,无奈的经历了五年之久的熊市。”

  近半年多来,虽然已经捞回了本钱,但他就在“五一”前毅然选择了撤退,“现在的行情太像2001年了,我不敢再冒险了,放到口袋里的才叫赚的钱呢。”张大爷笑着说。

  另一些老股民则显出一副处变不惊的姿态,已退休的李师傅对记者说:“据我了解,我们这些老股民中有一大部分只是刚刚解套而已。”他自己1999年入市时投入20万元,如今只算捞回点本钱,实际还赔1万多元。面对5月15日大盘100多点的跌幅,他毫无惧色地说:“1000点我都见过了,还怕这个。”

  退休教师庞阿姨说,她曾经也盲目地跟随亲戚朋友购买股票,结果辛苦积攒的钱成了股市学习的昂贵学费。她劝新入市股民,一定要慎重,在别人推荐一支股票之后,仔细分析,观查,不要急于出手。购买股票其实是一种投资,而不是投机,是对未来上市公司发展的一个预期,切忌那种“一夜暴富”的思想。

  已有12年炒股经验的李先生说,他周围出现了很多新股民,很多人向他打探“消息”,让他感到非常无奈。“很多新股民连股票究竟是什么?怎么会赚钱?这些最基本的问题都弄不清楚,在他们的意识中,只要买股票就能赚钱,这是一个很可怕的信号。”

  业内人士:中国的股市和股民太不成熟

  业内人士指出,不具备基本的金融常识就蜂拥入市,实际上是一种非常危险的盲目投资。贷款炒股、借钱炒股更是可怕。

  日前,证监会通知要求,要对个别投资者中出现的抵押房产炒股、拿养老钱炒股的情况,加大告诫力度,使他们理解并始终牢记,生活必须和必备的资金关系到身家性命,切勿冒险投资。

  业内人士认为,同成熟市场相比,我国的证券市场只有不到20年的历史,上市公司、证券公司等市场参与者素质有待进一步提高,许多投资者,特别是新入市的投资者风险意识淡薄、专业知识匮乏、操作手法粗糙,只是凭着不甘人后的冲劲投身股市,缺乏应有的应对和自我保护能力。

  林国奎说,股市虽在4000点高位,但风险同时增大,也有专家担心中国股市存在泡沫现象,大家仍然争着入市,这其实是一种盲从心理。个别投资者购买权证却不知道权证何时到期行权,最后错过行权期,耗资上万元的权证成为废纸。有些人购买股票不是注重公司的基本面,而是依据小道消息,完全依赖别人推荐。

  林国奎建议,新开户股民应正确评估自身承受市场风险的能力,认为股市只赚不赔的观念是完全错误的。在过去的一年内,股市确曾强势上涨,但过去并不代表未来。股民在购买股票时,一定要仔细研究国家政策,国内经济形势,上市公司业绩等,投资股票行为是对未来企业发展、市场发展的预期。只有秉持客观、理性的心理,科学炒股,才能在股市中稳操胜券。

  专家认为,中国的股市和股民目前还很不成熟,学习、创新与规范是当务之急。发展资本市场,扩大直接融资渠道,减轻银行体系的风险,是中国金融体系改革的一个重要步骤,当前的牛市有助于加快这一改革的速度,但在吸引居民储蓄流向股市的同时,要注重对新股民的风险教育。教育不是引导股民把钱投向哪一只股票,而是要让股民知道风险在哪里。

黑社会

分类:默认栏目

 读书苦!读书累~
            不如加入黑社会~
 
            今天是我加如黑社会的第N天哩~~
            看我在这N天里的成绩吧~
      
            第1天我抢了一个4岁儿童的棒棒糖~
            第2天我骂了我楼下的一个老太婆~并且倒了一盆水浇在她头上~~
            。。。。。。。。。。。。。。。
            。。。。。。。。。。。。。。
            。。。。。。。。。。。。。。
            。。。。。。。。。。。。。。。。
            到了今天我去抢劫~~那个小孩被我抢了3块钱~我给他1.5坐车会家~
           

            哈哈~~~~~我厉害吧~我就黑社会的一员~~当黑社会老大的明天等着我~
                哈哈~~~~嘎嘎

翻译网站

分类:默认栏目

www.readworld.com

笔记本系列代表什么意思?

分类:默认栏目

笔记本的型号不断增加中,各品牌不同的系列经常搞得用户不清楚每个系列代表的机型特点。在今后的时间里我会为大家介绍各款系列笔记本所代表的意思。今天为大家带来笔记本中每款系列代表的意思和特性。之后我们会陆续把每个品牌中的系列为大家介绍。

SAMSUNG

    T系列:光驱、软驱全内置。光驱软驱全内置笔记本

    P系列:光驱、软驱互换

    Q系列:超轻超薄的笔记本,此型号分全外挂和加底座两种。全外挂是光驱软驱外接,加底座是光驱软驱集成在底座上。使用时要将笔记本连接到底座上

    GT系列:光驱、软驱互换

    GT PRO系列:光驱、软驱全内置

    NV 5000系列:此系列的特点是加底座

IBM

    A系列:光驱、软驱全内置

    T系列:光驱、软驱互换

    R系列:光驱内置软驱外挂

    X系列:加底座。光驱软驱集成在底座上,使用时要将笔记本连接到底座上

 

Toshiba

    TE系列:光驱内置软驱外挂

    Tecra系列:高端光驱软驱全内置

    Portege系列:超轻超薄,光驱软驱全外挂

    Satellite系列:光驱软驱全内置商业型

    Satellite Pro系列:光驱软驱全内置增强型

 

NEC

    Versa S260系列:光驱内置软驱外挂

    Versa E120系列:光驱软驱全外挂

    Versa P440系列:光驱软区全内置

    Versa TXi系列:光驱内置软驱外挂

    Versa Premium系列:光驱软区全内置

    Versa Aptitude系列:光驱软驱全内置

    Versa L320系列:高端全内置机型

    VersaNote VXi系列:光驱软去全内置

    Versalite FXi系列:光驱软驱全外挂

 

SONY

    VAIO FX Series系列:光驱软驱全内置

    VAIO FXA Series系列:光驱软驱全内置

    VAIO GR and GRX Series系列:光驱内置软驱外挂

    VAIO NV Series系列:光驱软驱互换

    VAIO C1 Series系列:超小行笔记本光驱软驱全外挂

    VAIO SR Series系列:光驱软驱全外挂

    VAIO SRX Series系列:光驱软驱全外挂

    VAIO 505 SuperSlim系列:分带底座和全外挂两种

    VAIO VX Series系列:光驱软驱全外挂

    VAIO XG Series系列:光驱内置软驱外挂

 

Fujitiu

    LifeBook_C系列:光驱软驱全内置

    Lifebook_S系列:光驱内置软驱外挂

    LifeBook_B系列:光驱软驱全外挂 触摸显示屏

    LifeBook_E系列:光驱内置软驱外挂

    LifeBook_P系列:超小型笔记本光驱软驱全外挂



为何“90#”不得乱按?

分类:默认栏目

按“90#”键对手机密码及频道会产生解码作用,并可同时将信息传递到正在通话的对方电话记忆系统内。对方便可以利用这个密码作出各种非法行为。最近在香港已出现了有人冒充手提电话公司的工程人员,以该公司的名义致电用户,表示要进行电话测试,要求机主按“90#”或其他密码,从而盗取对方的手机密码免费打长途电话。

诺基亚系列手机使用的技巧

分类:默认栏目

NOKIA 8110
* # 8110 # 显示软件版本及手机制造日期
* # 06 # 显示IMEI号
*#92702689# (= *#war0anty#)将提示你键入保用码'warranty code:'键入:
6232 (OK) : 显示制造年月
7332 (OK) : 显示最后维修日期
7832 (OK) : 显示手机购买日期(如以前设置过)
9268 (OK) : 显示串号(Serial Number)
37832 (OK) : 设置购买日期MMYY (注意:一次输入不可更改)
87267 (OK) : To Confirm Transfer
SIM卡锁信息,如果SIM卡能被锁进行检测键入:*#746025625# (= *#sim0clock#) 
NOKIA 6110
显示IMEI 号 *#06#
显示软件版本 : *#0000#
第一行--软件版本;
第二行--软件发布日期;
第三行--手机型号
键入下列命令:*#92702689#
第一屏表示 -手机出厂日期;
第二屏表示 - 串号和IMEI;
第三屏表示 - 购买日期;
第四屏表示 - 最后修理日期。
*3370# 激活/关闭EFR模式(全速增强型编码模式,可改善话音质量但会耗电)
注意:按下上面两个命令后手机会重新开机一次,这是正常的。
*4720# 激活/关闭HR模式(半速模式)话音质量变低,但是大大延长电池使用时间(大概30%左右)需要网络支持。
退出关闭电话,然后返回. 如果以上工作不正常,并且电话向您要一个合法的代码,试试6232(OK):显示制造的月和年
7332(OK):显示最近维修日期
7832(OK):显示手机购买日期
9268(OK):显示系列号
37832(OK):设置购买日期月年(警告:只允许做一次)
87267(OK):确认传输
*3370# 激活增强型全速率
#3370# 取消增强型全速率
*4720# 激活半速率
#4720# 取消半速率
键入这些代码后,会关机重开,然后才能生效
6110 SIM卡锁,6110有四种不同的锁 国家锁--锁指定的国家 网络锁--锁指定的网络 供应商锁--锁服务提供商 SIM卡锁--锁指定的SIM卡。看手机状态 #pw+(mastercode)+X# (mastercode)是一10位数(没有括号) X是一个1到4的数, 它显示以上的锁,还不确定何数对应何锁。SIM卡不限制信息,意味着你的电话还没锁。 
NOKIA 5110
5110锁码机解码
按C,按下 -> 按C不放 -> 按*不放 ->按*不放 -> 键入04*PIN*PIN*PIN#,就完成了.(未经实验,引起其他故障概不负责)。
开启隐藏菜单:如果你按下开关键一瞬间,隐藏菜单就会出现;按下久点即关机。你可以通过上下按键选取不同的告警设置。 
NOKIA 8810
请参考诺基亚6110

购机常识

分类:默认栏目

1.如何选择购机场所?
  目前,人们一般可以通过厂家专营店或指定经销店。电信或联通营业厅,一般零售店购买手机。在厂家专营店或指定经销店购买最方便,最省心,因为专营店对厂家产品了解最深入,附件也齐全,售后服务不仅直接而且完善周到。在电信或联通营业厅购买,其进货渠道正宗,售后服务技术实力强,在一般零售店购买,一定要首先确认该店是否具有当地电信行业颁发的“移动通信终端,经销许可证”。一般零售店价格相对较低,但购买时要注意其手机配置和售后服务。

2.如何选择手机品牌?
  选择手机品牌首先要选择有良好口碑,经常能听人谈起的知名品牌;其次,面对多种选择时,就看个人爱好,经济能力的情况而定;再次,可留意手机的广告及宣传,在某个品牌搞活动的时候去选择购买,一般都较划算。

3.何为水货手机?
   一般常说的水货手机其实可分为二类。一类:走私手机。这类手机一般来讲质量可能没有问题,但是,一是违法;二是没有任何信誉和售后保障。二类是假冒伪劣产品。这类手机多为翻新机,本身都存在着各种问题。对消费者损害很大。

4.何为正品手机?
  正品手机是指由正规厂家生产,经行业标准检验合格有信息产业部入网号,销售渠道正宗、售后服务有保障的手机。

5.购机时如何用机身码防伪?
  每一部手机都有其唯一的IEMI码,购机时,只要按“*#06#”键,手机便会显示出本机唯一的IEMI序号,如果同手机背面所贴的IEMI码序号一样,则不是翻新机;如不出现IEMI码序号或不对则绝对是翻新水货手机。

6.购机时要注意检查哪些标识?
  A、检查手机是否有信息产业部的入网标志,有的地方还要求手机上必须有CCIB的商检标志;
  B、 检查机身上IMEI码、机械序号是否正确;
  C、 检查电池上是否贴有厂家防伪标志;
  D、检查是否有保修卡;
  E、 检查是否有产品说明书。

7.如何区别镍镉,镍氢,锂离子电池?
  1、看标识。电池上一般标注的是英文标识。 NI-CD 镍镉电池 NI-HI 镍金属电池NI-LI锂离子电池.
  2、比较重量。同等容量的镍镉电池、镍氢电池、锂离子电池比较镍镉电池最重,其次镍氢、锂离子电池最轻。 [NextPage]

8.何为“二合一”手机?
  “二合一”手机就是实现了全球通中文寻呼二者功能“合二为一”的手机。有了“中文短信息”功能的手机就可能为“二合一”手机。

9.为什么说有了“二合一”手机就不用再购买“中文寻呼机”了?
  中文寻呼机所能提供的“点对点短信息”和“小区广播短信息”。“二合一”手机都能提供,同时“二合一”手机功能克服“寻呼服务”的弱点。寻呼服务的弱点是BP机关机或不在服务区,寻呼台不会主动发现这种情况,BP机主收不到传呼。“二合一”手机的优点:在GSM服务网络中,当用户关机或不在服务区,所有短信息会存放在短信息中心的信箱里,只要用户一开机或回到服务区,系统就会自动提示短信息中心,用户就可以收到外地或国外,也可以收到来自国内的中文短消息。

10.手机电池分为哪三类?
  手机电池目前分为镍镉电池、镍氢电池和锂离子电池三大类。

11.何为镍镉电池?
  镍镉电池是由两个极板组成,一个是用镍做的,另一个是镉做的这两种金属在电池中发生可逆反应,因此电池可以重新充电。

12.镍镉电池有何优缺点?
  镍镉的特点是“结实”、价格便宜。缺点是:镉金属对于环境有污染,电池容量小,寿命短,所以镍镉电池是最低档的电池。有记忆效应。每次充电都须先放电,而后充电。

13.何为镍金属氢电池?
  镍金属氢电池是氢离子和金属镍合成,由于它不含镉金属,不会污染环境,因而又称为“环保电池”。

14.镍金属氢电池有何优缺点?
  镍氢电池的电量储备比镍镉电池多30%,使移动电话的通话时间也因而延长了30%。镍氢电池比镍镉电池更轻,使用寿命也更长。且对环境无污染,无记忆效应。镍氢电池的缺点是价格比镍镉电池要贵,性能比锂电池要差。属于中档电池。

15.何为锂离子电池?
  以锂离子为材料的一种高能量密度的电池。锂离子电池还是一种智能电池,它可以与专用原装智能充电器交换,达到最短的充电时间和最大的寿命周期和量大的容量。

16.锂离子电池有何优缺点?
  锂离子电池是目前性能最好的电池。与同样大小的镍镉电池、镍氢电池相比,电量储备最大,重量最轻,寿命最长,充电时间最短,无记忆效应。但价格最贵,对充电器也有选择性。

17.何为手机的待机时间?
  手机工作在等待状态时称为待机。待机时消耗的电流比较小,与网络几乎无关,根据机型不同,消耗电流几毫安到几十毫安不等。待机时间取决于电池的容量及手机消耗电流的大小。其待机时间的算法为;手机电池容量/待机时的工作电流=待机时间。

18.影响手机通话时间长短的因素是什么?
  一、手机接外来电话或者往外打电话均称为通话状态。手机在通话状态下消耗电流比较大,一般为百十毫安到几百毫安不等。影响手机通话时间长短的因素是手机本身质量。在手机发射功率相同时,质量好的手机因效率高而耗电小。因此,最大通话时间就长。
  二、与手机和基地分站的距离有关,当手机距基地台站较近时,手机会将发射功率自动降低,耗电就会小一些,反之,当手机距基地台站较远时,会因手机自动加大输出功率而耗电大一些。
  三、通话时声音的大小不同耗电也会不同,同样会影响到手机的通话时间。

19.常听到手机有简配和全配之分,不知简配和全配手机有什么差别?
  全配手机与简配手机的差别只是手机配件配置不同。全配手机的硬件一般都是一个机头,二块电池,一个EP充电器,一个旅行充电器,少数的还带有耳机、汽载充电器、流载装置、数据传输配件、皮套等,简配的硬件一般只有一个机头、一块电池、一个充电器,全配功能更全,更方便简配价格便宜。购买全配还是简配要看个人的需要、经济、爱好而定,没有性能好坏之别。

20.什么是用户识别卡(SIM)?
  用户识别卡简称SIM卡,是由一块大规模集成电路芯片制成的。它是按照信用卡的标准尺寸制造(俗称大卡)的,保证了与信用卡的通用性。还有一种尺寸更小的“插入式SIM卡”(俗称小卡)。小卡就是大卡上带有芯片的那一块。“小卡”的作用减少了对手机设计的限制。 [NextPage]

21.用户识别卡存储的内容?
  用户识别卡(SIM)存储内容包括:
  1、用户识别号码,简单说是用户的电话号码。用户识别号码是全球统一编码的唯一能识别用户的号码,它使用网络识别用户归属于哪一个国家、哪一个电信经营部门,甚到归属于哪一个移动业务服务区。
  2、用户的密钥和保密算法。用户密钥和保密算法,既能鉴别用户身份,防止非法进入网络,又能便无线信道上传送的用户数据不会被窃取,从而杜绝了“#机”现象。
  3、个人密码(PIN)码和SIM卡解锁密码(PUK)码。PIN码是SIM的个人密码,可防止他人擅用SIM卡,当PIN码按错后,需PUK码来解锁。
  4、用户使用的存储空间,用户可将一些固定短消息,号码簿等个人信息存入SIM卡中。

22.什么是PIN码?
  PIN码是SIM卡的个人密码,可防止他人擅用SIM卡,在手机接通电源,将SIM卡插入手机时,屏幕上会显示出要求用户输入4-8位PIN码(新购机的用户,PIN码均为1234),用户可以任意更改4-8位的密码,如果用户三次输入错误的密码,手机将会显示“Enter PUK code”或“Blocked”字样,说明SIM卡已被锁上。

23.什么是盗号或称为MA机、#机?
   盗号、MA机、#机是用户的“电子序列号被盗用”,专门发生在模拟移动电话上,模拟移动电话被盗号后,被盗号机的用户的电话号码就会被盗者或其他人使用,而电话费却会记在被盗号机的用户头上,使其蒙受损失。

24. 爱立信手机有没有配原装锂电池?
  爱立信手机均没有配原装锂电池。

25.模拟手机是如何被盗号的?
  一种情况是将模拟手机借给别人或在不法维修点维修时,电子序列号和移动台识别号码被非法解码,然后被输入到别的手机中,而被盗号;另一种是有组织的盗号。首先是用无线接收设备从空中侦听某用户使用电话时的信号,从而获得其他电子序列号和移动台识别号码,然后通过非法渠道(如走私等)获得无号手机,将窃取来的电子序列号和对应的移动台识别号输入到无号手机中,从而制造出#机。

26.GSM数字机和模拟手机话音相比如何?
  GSM数字手机的话音是被数字化之后才在无线信道上传送的,它不像模拟移动电话那样容易被干扰,因此通话时话音清晰、干扰小。但是,因传送的是数字化的话音,也存在话音有些失真的缺点。机时模拟手机的话音失真度比GSM数字机要好。现在,有关部门正在研究开发更先进的话音数字化编码技术,以降低GSM手机的话音失真度。

27.GSM数字手机会被盗号#机、MA机吗?
  不会。因为GSM数字手机是有用户识别卡(SIM卡)没有SIM卡不能通话,用户的所有资料都存在SIM卡上,而SIM是由一块大规模集成电路芯片制成,几乎无法复制。用户只要将SIM卡管好,或将SIM卡加密,不管是SIM卡本身还是SIM卡上的资料,被别人复制盗用都是不可能的。

28.GSM全球通数字网是如何来保护SIM卡和手机安全的?
  一方面,GSM网是有用户鉴权中心。用户鉴中心在用户每次使用电话时,要对用户的身份进行鉴别,以防止未注册的用户介入网络。用户在登记使用“全球通”数字蜂窝电话时,SIM卡中存有用户提个人识别号码和与之对应的一个密钥。这个密钥是在极保密的情况下按一定的保密算法产生的。用户的个人识别号码与密钥一一对应且是唯一的,不同的用户具有不同的个人识别号码和密钥。同时,在用户鉴权中心也存有与每个用户SIM卡中一样的个人识别号码和密钥。用户鉴权中心对用户进行身份鉴别时,要将用户的个人识别号码和密钥经过很严密的加密。才在空中传送。因此,其他的无线
电接收设备即使侦听到了用户被鉴权过程中的信号,也不可能破译出来。
  另一方面,GSM数字网具有完备的移动台识别系统。世界上每一个生产手机的厂家所生产的每一种型号的手机,必须要经过6个具有国际水平而且是国际公认的认证中心检测。检测通过后,这种型号的手机才能在市场上销售。同时,每个厂家生产时必须要给每一台出厂手机输入一个手机况别号码,这个号码共15位,全球统一编制。通过这个号码可以检测手机是否是水货。

29.GSM数字手机是否会在发送中被偷听?
  不会。虽然可以在不影响运营者设备的情况下侦听和发射无线电波。但是,GSM数字手机拥有非常强的安全保密措施。首先,它采用动态的给用户分配临时用户识别码的方法来对用户身份进行保护,以防止用户位置泄漏。其次,GSM数字蜂窝移动电话系统对无线路径进行加密,特别是对所有用户信息加密,以防止第三方偷听。即使此信号被其他的无线电接收设备接收到了,也无法恢复成原来的话。


手机型号大揭密

分类:默认栏目

如今市场上国外品牌大致有MOTO、爱立信、索爱、西门子、诺基亚、三星和LG几个,它们的手机型号也是数不胜数,我们现在就来分门别类地将它们理出头绪来。

  首先说说摩托罗拉吧,用价格来划分MO鄄TO的手机型号似乎不太合适,因为最近MO鄄TO手机频频推新,所以价格的划分尺度也已经成为老皇历了。我们总结了以下的划分方式:

  A系列:总是领先潮流的、令人期待的、外观迷人的、技术领先的款式,例如智能手机A830;

  T系列:总是处于流行前沿,实用的、功能丰富的款式,例如T720i;

  V系列:价格公道的翻盖手机,样式比较流行,功能合理的款式,例如V300;

  C系列:样式比较酷,价格低的款式,例如:C200;

  E系列:注重娱乐功能,面向年轻群体的款式,例如:E365;

  另外,MOTO还将在今年推出两个系列的新品,它们分别是R系列和S系列:

  R系列:流行的功能,革新的设计思维,非同寻常的设计就像以前的V70一样,例如未来的R800;

  S系列:智能手机,技术先进的手机,可能是MOTO转投微软的第一代产品的代号。

  虽然爱立信这个品牌逐渐被索爱取代,但是我们在市场上还是能见到爱立信手机,所以也将它的划分方式告诉大家,以便购买的时候知己知彼。

  A系列:功能简单,价格低廉的款式;R系列:商务手机,功能实际;T系列:功能出众,样式个性化;

  西门子手机的型号划分也是相对固定的,它们最近的多款新手机的热卖也让西门子又一次成为了热点,我们非常有必要了解一下它的型号划分原则,看看究竟哪一种才是适合自己的。

  A系列:低价手机;C系列:中端手机;

  M系列:适合户外的手机,设计特别,价格中端,当然也有时尚因素加入其中,例如:M55;

  S系列:商务手机;SL系列:绝对时尚手机,例如SL55;SX系列:智能手机,比如SX1;

  诺基亚是手机市场的大哥大,最近它们的手机型号丰富了许多,划分也复杂了,特别是CDMA手机问世以后诺基亚的型号简直可以出一本字典了,我们这里只能将我们了解的告诉给消费者,下面我们提到的诺基亚型号划分仅限于在GSM网中。

  3开头的:有独特的外观和特别的功能的款式,比如3310、3330;

  5210:运动型手机,具有三防功能;

  其他5开头的:注重娱乐功能的款式,例如5510;

  8开头的:时尚外观,功能新颖,例如8310、8850;

  6开头的:商务手机,传统样式,例如6310、6510;

  7开头的:注重图片功能,例如7650;

  9开头的:注重信息互动的智能手机,例如9210;

  三星是年轻人非常喜欢的品牌,在中国大陆市场一直销量惊人,那么它的型号究竟是如何定的呢?

  P系列:注重多媒体功能,例如P408;E系列:独出心裁的时尚款式,例如E700;D系列:豪华的商务手机,例如D100;X系列:注重娱乐功能的款式,例如X400;C系列:实用型手机,传统外观,性价比高;I系列:MIT、PDA和智能手机;Z系列:UMTS手机


最新的电池管理程序

分类:默认栏目

最新的电池管理程序下载页面:http://www-3.ibm.com/pc/support/site.wss/document.do?sitestyle=ibm&lndocid=MIGR-61583

熊猫烧香专杀软件

分类:默认栏目

熊猫烧香专杀软件
 

熊猫烧香病毒最新彻底专杀工具和补丁下载

点此进入下载

 
病毒名称:Worm.WhBoy.h

病毒中文名:熊猫烧香(武汉男生)

病毒类型:蠕虫

危险级别:★★★★★

影响平台:Win 9x/ME,Win 2000/NT,Win XP,Win 2003

病毒描述:

“武汉男生”,俗称“熊猫烧香”,这是一个感染型的蠕虫病毒,它能感染系统中exe,com,pif,src,html,asp等文件,它还能中止大量的反病毒软件进程并且会删除扩展名为gho的文件,该文件是一系统备份工具GHOST的备份文件,使用户的系统备份文件丢失。被感染的用户系统中所有.exe可执行文件全部被改成熊猫举着三根香的模样。

1:拷贝文件

病毒运行后,会把自己拷贝到C:WINDOWSSystem32Driversspoclsv.exe

2:添加注册表自启动

病毒会添加自启动项HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun svcshare -> C:WINDOWSSystem32Driversspoclsv.exe

3:病毒行为

a:每隔1秒寻找桌面窗口,并关闭窗口如何杀熊猫烧香病毒标题中含有以下字符的程序:

QQKav、QQAV、防火墙、进程、VirusScan、网镖、杀毒、毒霸、瑞星、江民、黄山IE、超级兔子、优化大师、木马克星、木马清道夫、QQ病毒、注册表编辑器、系统配置实用程序、卡巴斯基反病毒、Symantec Anti48杀熊猫烧香病毒Virus、Duba、esteem proces、绿鹰PC、密码防盗、噬菌体、木马辅助查找器、System Safety Monitor、Wrapped gift Killer、Winsock Expert、游戏木马检测大师、msctls_statusbar32、pjf(ustc)、IceSword

保护局域网中的IP地址

分类:默认栏目

局域网中IP地址被占用或篡改的情况时有发生,为你提供几个实用招数。

  停用网络连接服务

  要限制用户随意修改TCP/IP参数,最简单的方法是让用户无法打开TCP/IP参数设置窗口。打开“开始”中“运行”输入“services.msc”命令,选中“Network Connections”服务,右键单击,从属性中选择其中的停用按钮,将“启动类型”选为“已禁用”,并确定。这样,你如果从“开始”进入“网络连接”里,就找不到“本地连接”图标。这也会给自己网络参数修改带来麻烦,可以将“Plug and play”服务停用,就不影响你正常网络访问了

  限制修改网络参数法

  修改注册表的相关网络键值就能实现。进入“运行”输入“regedit”命令,打开注册表编辑,确定在HKEY_USERSDEFAULTSoftwareMicrosoftWindowsCurrentVersionPoliciesNetwork分支上,在右侧区域中,依次选择“编辑”、“新建”、“Dword值”选项,将新建的Dword值命名为“NoNetSetup”,将其数值输入为“1”,重新启动电脑,系统就会提示无法进入网络属性设置窗口了。

  隐藏本地连接图标法

  本地连接图标与系统的Netcfgx.dll、Netshell.dll、Netman.dll这三个动态链接文件有关,一旦将这三个动态链接文件反注册的话,那么本地连接图标就会被自动隐藏起来了。在反注册上面三个动态链接文件时,可以先打开系统运行框,并在其中输入字符串命令“regsvr32 Netcfgx.dll/u”命令,单击一下“确定”按钮后,就能把Netcfgx.dll文件反注册了。

北京纽曼理想数码科技有限公司

分类:默认栏目

企业名称:北京纽曼理想数码科技有限公司
企业类别:电子技术/半导体/集成电路
企业地区:北京
企业类型:
企业地址:北京市海淀区上地环岛科实大厦A座10层
企业网址:http://www.newman-cti.com
企业介绍:
Newman纽曼

● 一个长期致力于数码产品领域的民族企业
● 一个被誉为最受消费者关注的国内品牌
● 一个迅速崛起屡创数码神话的IT企业
● 一个在数次行业风暴中屹立不倒的知名品牌
  纽曼公司是一家集研发、生产、销售为一体的国内高科技龙头企业,业务范围主要涉及数码产品、移动存储产品、通信产品、通信系统等领域,现已在全国各省市设立了27个销售及售后服务的分支机构,现总部员工300多人,办事处人员100多人。纽曼是目前国内最主要的MP3、MP4、闪盘、移动硬盘的知名品牌厂商。
靠产品说话── 一个首选 两个第一 
  MP4是纽曼公司高端产品线的主打品牌产品,从推出第一款MP4产品至今,不到一年时间,已经拥有近十款新品,在功能、外观、性价比等方面各有侧重,适合于不同类型的终端消费者。纽曼每一款MP4的推出,均在市场上引起了强烈反响,对国外MP4品牌的销售构成了直接的威胁,成为国产MP4品牌的龙头,展现了民族企业的良好形象,成功凸显出纽曼在数码领域中的优势,成为中国MP4首选品牌。
  纽曼MP3的销量之所以长期雄踞国内第一名的位置,正是依赖着“可靠的产品质量、优质的售后服务、贴近大众群体的价格”三把利器。经过数次由纽曼发起的数码行业大洗牌,“纽曼MP3”已经成为“高性价比MP3”的代名词,更被誉为行业内高性价比的产品的普及者。目前MP3是纽曼最主要的生产线之一,旗下拥有闪存式和硬盘式两大MP3产品线,共计40余款产品。
  纽曼的移动存储产品线包括闪盘及移动硬盘两大类产品。V、Q、V11等系列闪盘,外型小巧时尚,质量稳定可靠,随机的十六合一的超强功能体现出纽曼作为一个国内知名厂商在细枝末节处对终端用户的细致体贴。自推出第一款闪盘至今,纽曼现已跃居成为闪盘全国前三品牌之一。
  移动硬盘产品作为纽曼最早介入国内市场的产品,拥有庞大稳定的用户群。目前,以“专业、安全、稳定”著称的纽曼移动硬盘已稳居国内市场销售量第一名,并仍保持上升趋势。
规范型企业──崭新的理念和三个自主
  “音乐成就梦想,数码改变生活”是纽曼崭新的设计理念,“自主研发、自主设计、自主生产”是纽曼的如磐坚基。纽曼公司凭借强大的综合研发实力,投资数千万建立了多个MP3、MP4生产厂,包括电子厂,喷油厂,模具厂,五金厂等。本着“音乐成就梦想,数码改变生活”的产品设计理念,纽曼成立了强大的研发团队,实行高效的生产管理,对产品线进行整合、拓宽,建立完成了更适合市场的产品构架。目前纽曼的产品线已经全面覆盖了高、中、低档各个消费层次。在完善与丰富产品线的同时,纽曼公司也在产品质量及企业管理水平进行了相关认证,并于2005.5通过了国内ISO19001-2000及英国UKAS皇冠体系认证,同年6月,纽曼公司系列产品荣获了中国质检协会颁发的“2000年—2005年全国质量检验稳定合格产品”称号,标志着纽曼公司在产品质量及企业管理两个重要范畴获得国家级肯定,已成为了国内规范型的企业。
“阳光售后”用户终身受益
  纽曼公司通过对售后服务体系的进一步完善,推出“阳光售后”的服务概念。坚持以“客户为本”的宗旨提供最优质的服务。通过网上查询或者电话咨询,纽曼客服人员会在最短的时间内,以最高效的方法出具全面的解决方案,协助完成自检及修复,直到产品恢复正常使用为止。坚信对产品负责,就是纽曼对广大用户的承诺。纽曼同时规范了产品防伪技术,可通过上网和电话查询产品的真伪,给经销商及消费者建立了强大的信心。
  为迎接数码时代来临所带来的机遇和挑战,纽曼公司将继续加大对研发和工厂的投入,加强全国各分支机构的市场销售及客户服务能力,更进一步加强与国内外行业的技术交流与合作,为广大用户生产更多更好的产品,提供更好的服务,为成为国内数码行业的旗舰企业而努力。

  北京纽曼公共事业部(节能、电信、录音、CTI等)坐落于中关村科技园区,拥有300万元固定资产,年销售额2000万元,现有260人。公司一直致力于电话语音系列产品(包括DRS数码录音系统和CTI声讯服务系统)的研制与开发. 利用国内外最新的软硬件技术平台以及自主开发生产电话语音卡的优势,积极拓展市场.成功的推出了一系列电话语音产品:数码录音系统(DRS-A、DRS-B、DRS-C),企业客服中心,智能交换机,语音信箱,110/122接警处理系统以及智能对讲系统等等,大量成功的应用于电力、寻呼、银行、公安、铁路、保险等诸多领域。经过近十年的努力,我们 
已经成功的为客户提供了十万余线录音设备, 是国内唯一的专业从事电话录音设备开发、设计、生产、销售的厂商。
  公司本着“科技打造经典新生活”的经营理念,紧跟世界科技最新潮流。2001年初,推出了USB移动存储系列产品,凭借强大的技术力量,完善的售后服务,以及全国的销售网络,已成为全国USB移动存储的最大供应厂商之一。随后2003年底又自主研发生产手机伴侣系列产品、纽曼TOM-Skype电话伴侣系列产品、智能电源转换器系列产品等,在全国各省市均设立了销售及售后服务的分支机构。公司丰富了电脑周边设备的种类和功能,为用户提供了更多的产品和服务,为将来的计算机附属设备开创了更高一层的增长点。
  纽曼公司本着“用科技改变生活”的经营理念,凭借公司强大的研发团队,高效的生产管理,高性价比的产品,科学的市场策略及销售模式和完善的售后服务已成为目前国内最主要的录音系统、移动存储等产品的生产厂商之一。为迎接数码时代来临所带来的机遇和挑战,纽曼公司加大对研发和工厂的投入,加强全国各分支机构的市场销售及售后服务能力,更进一步加强与国内外行业内的技术交流与合作,为广大用户生产更多更好的产品,提供更好的服务,为纽曼公司成为国内数码和通讯行业的旗舰企业而努力。 

禁止IE的定期更新

分类:默认栏目

禁止IE的定期更新

在我们上网以后,Windows XP经常会在任务栏上弹出一个提示你升级系统文件的消息,其实这是IE浏览器的定期更新检查在作怪,大约每30天左右,Windows XP系统附带的IE6.0就会定期检查是否有新的升级软件,如果有,你没有下载升级,便会弹出上述提示对话框,我们可以采用下面的方法来禁止IE6.0的定期更新检查:打开“运行”对话框,输入“gpedit.msc”,打开“组策略”设置窗口,在左边的树形目录中找到“计算机配置/管理模板/Windows组件/Internet Explorer”,在右边的窗口中找到“禁用定期检查Internet Explorer软件更新”选项,打开该选项,在出现的窗口中选择“已启动”,最后单击“确定”按钮即可。

2007年全国计算机等级考试二级c语言上机题汇编

分类:默认栏目

2007年全国计算机等级考试二级c语言上机题汇编

1、 编一个函数fun(char *s),函数的功能是把字符串中的内容逆置。
例子如:字符串中原有的内容为:abcdefg,则调用该函数后,串中的内容为:gfedcba

试题程序:
#include <string.h>
#include <conio.h>
#include <stdio.h>
#define N 81
/*注:该题的算法是先分别找出字符串的两头,然后同时逐一往中间移动,每移动一次
都进行两字符的位置对换,直到中间字符(用s+i<s+n-1-i来控制)。由于s+i中一个
地址,因此要注意把它的内容取出再进行换位。即先进行取内容运算*) */
fun(char *s)
{ int i=0,t,n=strlen(s);
for(;s+i<s+n-1-i;i++)
{t=*(s+i);*(s+i)=*(s+n-1-i);*(s+n-1-i)=t;}
}

main()
{ char a[N];
clrscr();
printf("Enter a string:"); gets(a);
printf("The original string is:");puts(a);
fun(a);
printf("n");
printf("The string after modified:");
puts(a);
}


2、 写程序,实现矩阵(3行3列)的转置(即行列互换)。
例如,输入一面的矩阵:

程序输出:

试题程序:
#include <stdio.h>
#include <conio.h>
/*这题的关键在于进行行列下标转换的算法,由矩阵的对称性我们不难看出在进行行列
互换时a[j]在好是与a[j][i]互换,因而只要我位让程序走完矩阵的左上角即可(用
for(i=0;i<2;i++)再套for(j=i+1;j<3;j++)来完成左上角的走动。*/
int fun(int array[3][3])
{ int i,j,t;
for(i=0;i<2;i++)
for(j=i+1;j<3;j++)
{t=array[i][j];array[i][j]=array[j][i];array[j][i]=t;}
}

main()
{ int i,j;
int array[3][3]={{100,200,300},{400,500,600},{700,800,900}};
clrscr();
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
printf("%7d",array[i][j]);
printf("n");
}
fun(array);
printf("Converted array:n");
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
printf("%7d",array[i][j]);
printf("n");
}
}


 

3、 请编一个函数fun(int *a,int n,int *odd,int *even),函数的功能是分别求出数
组中所有奇数之和以及所有偶数之和。形参n给了数组中数据的个数:利用指针odd返回
奇数之和,利用指针even返回偶娄这和。
例如:数组中的值依次为:1,8,2,3,11,6;则利用指针odd返回奇数之和24;利用
指针even返回偶数之和8。
试题程序。
#include <stdio.h>
#include <conio.h>
#define N 20
/*注:该题的算法是:用for()循环一步一步地找元素,用if(!a[i]%2)来判断是否是奇
数,%运算是求余运算,当对2求余为1时表示原数为奇数,否则为偶数。*/
fun(int *a,int n,int *odd,int *even)
{ int i; *even=0;*odd=0;
for(i=0;i<n;i++)
if(!(a[i]%2))
*even+=a[i];
else
*odd+=a[i];
}


main()
{ int a[N]={1,9,2,3,11,6},i,n=6,odd,even;
clrscr();
printf("The original data is:n");
for(i=0;i<n;i++) printf("%5d",*(a+i));
printf("nn");
fun(a,n,&odd,&even);
printf("The sum of odd numbers:%dn",odd);
printf("The sum of even number:%dn",even);
}


4、 要求程序的功能是:把20个随机数存入一个数组,然后输出该数组中的最小值。其
中确定最小值的下标的操作在fun函数中实现,请给出该函数的定义。
试题程序。
#include <stdio.h>
#include <conio.h>
#define VSIZE 20
int vector[VSIZE];
/*注:该题的算法是用一个变量(j)来存储最小值元素的下标,在循环过程中让每个元
素都与原最小值元素进行大小比较(if(list[i]<list[j]),如发现更小的则让j重新
拥有最小值元素的下标(j=i)。*/
int fun(int list[],int size)
{ int i,j=0;
for(i=1;i<size;i++)
if(list[i]<list[j])
j=i;
return j;
}

main()
{
int i;
clrscr();
for(i=0;i<VSIZE;i++)
{
vector[i]=rand();
printf("Vector[%d]=%6dn",i,vector[i]);
}
i=fun(vector,VSIZE);
printf("nMininum:vector[%d]=%6dn",i,vector[i]);
}


 

5、 请编一个函数float fun(double h),函数的功能是对变量h中的值保留2位小数,并
对第三位进行四舍五入(规定h中的值为正数)。
例如:h值为8.32433,则函数返回8.32;
h值为8.32533,则函数返回8.33。
试题程序。
#include <stdio.h>
#include <conio.h>
/*注:h乘以1000后正好是原小数点后第三位做了新数的个位数,然后再进行加5运算时
。如原小数点后第三位为4及以下则加5后还是不能进一位(即四舍),如是5及以上则加
5后该位就要向前进一位数(即五入)。进行加5运算后除10再赋给一个整型变量此时就
只有原小数点第二位及以前各位保留在整型变量中,最后再对整型变量除100,这样又出
现了两位小数。该题中,进行四舍五入后一定要赋给一个整型变量才能将不用部分彻底
变成0 。*/
float fun(float h)
{ long t;
h=h*1000;
t=(h+5)/10;
return (float)t/100;
}

main()
{
float a;
clrscr();
printf("Enter a:"); scanf("%f",&a);
printf("The original data is:");
printf("%fnn",a);
printf("The result :%6.2fn",fun(a));
}


 

6、 编写函数fun,函数的功能是:从字符串中删除指定的字符。同一字母的大、小写按
不同字符处理。
若程序执行时,输入字符串为:turbo c and Borland c++
从键盘上输入字符:n,则输出后变为:turbo c ad borlad c++
如果输入的字符串不存在,则字符串照原样输出。
试题程序。
#include <stdio.h>
#include <conio.h>
/*注:该题的算法是让i控制一个一个字符往后走,在移动过程中如果s[i]不是要删的字
符,则将其按顺序放到新串中(新串亦是用s来做,只是用k来控制新串的下标,由于要
删除一些元素,因此新串的下标总是比原下标i要慢。因而可用此法即同一字符串变量的
方法。*/
int fun(char s[],int c)
{int i,k=0;
for(i=0;s[i];i++)
if(s[i]!=c) s[k++]=s[i];
s[k]='0';
}

main()
{ static char str[]="turbo c and borland c++";
char ch;
clrscr();
printf(" :%sn",str);
printf(" :");
scanf("%c",&ch);
fun(str,ch);
printf("str[]=%sn",str);
}


7、 请编写一个unsigned fun(unsigned w),w是一个大于10的无符号整数,若w是n(n
>=2)位的整数,函数求出w的后n-1位的数作为函数值返回。
例如:w值为5923,则函数返回923;w值为923则函数返回23。
试题程序。
#include <conio.h>
#include <stdio.h>
/* 注:由于unsigned型整数在0-65535这间,只要它大于10000则对10000求余即得出后
面4位,否则如果大于1000则对1000求余得出后3位数,这样一层一层往小的判断。由于
return的作用除了返回值以外,还有当执行到return时就跳出该程序,所以可以连续的
用if()语句。 */
unsigned fun( unsigned w )
{ if(w>=10000) return w%10000;
if(w>=1000) return w%1000;
if(w>=100) return w%100;
return w%10;
}

main()
{ unsigned x;
printf( "enter a unsigned integer number :" );
scanf( "%u",&x);
if(x<10) printf("data error!");
else printf ("the result :%un", fun(x));
}


 

8、 编写函数int fun(int lim,int aa[MAX]),该函数的功能是求出小于lim的所有素数
并放在aa数组中,该函数返回所求出素数的个数。
试题程序。
#include <stdio.h>
#include <conio.h>
#define MAX 100

/*注:循环for(i=2;i<k;i++)用于判断k是否为素数,原理是当用2到k-1这间的数去
对k求余,如余数为0(即被整除)则表示k不是一个素数。语句if(i>=k)用于判断在
上一个for()循环中i能否走到k,如果能则表示在2到k-1的数都不能整除k,即k为素数。
*/
int fun( int lim, int aa[MAX])
{ int i,j=0,k;
for( k=2; k<lim; k++)
{ for( i=2; i<k; i++)
if( !(k%i)) break;
if( i>=k) aa[j++]=k;
}
return j;
}

main()
{ int limit,i,sum;
int aa[MAX];
printf("n input a integer number:");
scanf(" %d",&limit);
sum=fun(limit,aa);
for(i=0; i<sum; i++)
{ if(i%10==0&&i!=0)
printf("n");
printf("%5d", aa[i]);
}
}


 

 

9、 请编写函数fun,函数的功能是求出二维数组周边元素之和,作为函数值返回。二维
数组中的值在主函数中赋予。
例如:二维数组中的值为

则函数值为61。
试题程序。
#include <conio.h>
#include <stdio.h>
#define M 4
#define N 5
/*注:该题的第一个for()循环是计算矩阵的最上一行和最下一行的总和,第二个for()
是计算除两头元素以外的最左一列和最右一列的元素的和,最后sun就是周边元素的和。
*/
int fun(int a[M][N])
{int sum=0,i;
for(i=0;i<N;i++)
sum+=a[0][i]+a[M-1][i];
for(i=1;i<M-1;i++);
sum+=a[i][0]+a[i][N-1];
return sum ;
}

main()
{ int aa[M][N]={{1,3,5,7,9},
{2,9,9,9,4},
{6,9,9,9,8},
{1,3,5,7,0}};
int i,j,y;
clrscr();
printf("The original data is :n");
for(i=0;i<M;i++)
{for(j=0;j<N;j++) printf("%6d",aa[i][j]);
printf("n");
}
y=fun(aa);
printf("nThe sum: %dn",y);
printf("n");
}


10、 请编写函数fun,对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按
降序排列。例如,原来的字符串为CEAedca,排序后输出为CedcEAa。
试题程序。
#include <string.h>
#include <conio.h>
#include <stdio.h>
/*该题采用的排序法是选择法进行降序排序,算法是用外for()循环从字符串的前端往后
端走动,每走动一个字符都用内嵌的for()循环在该字符后找出最小的字符与该字符进
行换位。直到外for()循环走到最后一个字符。此外,此题还要注意把首尾字符除开,即
在最外层for()循环中从1开始,只到num-2即可。*/
int fun(char *s,int num)
{ int i,j,t;
for(i=1;i<num-2;i++)
for(j=i+1;j<num-1;j++)
if(s[i]<s[j])
{ t=s[i];
s[i]=s[j];
s[j]=t;
}
}

main()
{ char s[10];
clrscr();
printf("输入7个字符的字符串:");
gets(s);
fun(s,7);
printf("n%s",s);
}


 

1、 请编一函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,
求出二维数组每列中最小元素,并依次放入pp所指一维数组中,二维数组中的数已在主
函数中赋予。
试题程序。
#include "conio.h"
#include "stdio.h"
#define M 3
#define N 4
/*注:该题用for(i=0;i<N;i++)来控制一列一列地找,而内嵌循环for(j=0;j<M;
j++)用于控制同列内元素的比较。多重循环的嵌套总是最里层循环变化最快,即外层循
环改变一个值,内层循环就要循环完一次,对于多重循环一定要好好去体会和理解,在
多数题目中都要用到多重循环(一般为二重)。*/
void fun(int tt[M][N],int pp[N])
{ int i, j;
for(i=0;i<N;i++)
{ pp=tt[0][i];
for(j=0;j<M;j++)
if(tt[j][i]<pp[i]) pp[i]=tt[j][i];
}
}

main()
{ int t[M][N]={ {22,45,56,30},
{19,33,45,38},
{20,22,66,40}};
int p[N],i,j,k;
clrscr();
printf("the original data is:n");
for(i=0;i<M;i++)
{for(j=0;j<N;j++)
printf("%6d",t[i][j]);
printf("n");
}
fun(t,p);
printf("nthe result is:n");
for(k=0;k<N;k++)
printf("%4d",p[k]);
printf("n");
}


 
2、 写一个函数,从传入的num个字符串中找出最长的一个字符串,并通过形参指针max
传回该串地址。(注意:用****作为结束输入的标志。)
试题程序。
#include "stdio.h"
#include "string.h"
#include "conio.h"
/* 函数strlen()用于求出字符串的长度,这个题中主要是*max=p;不能换成max=&p
;如果用maz=&p;则只改变了max的指向,它不能传回给实参。因此我们要改变max指
向地址中的内容,这才能使得实参ps有正确的值。*/
fun(char (*a)[81], int num,char **max)
{ char *p=a[0];int i;
for(i=1;i<num;i++)
if(strlen(a[i])>strlen(p))
p=a[i];
*max=p;
}

main()
{ char ss[10][81],*ps;
int n,i=0;
clrscr();
printf("enter string:n");
gets(ss[i]);
puts(ss[i]);
while(!strcmp(ss[i],"****")==0)
{
i++;
gets(ss[i]);
puts(ss[i]);
}
n=i;
fun(ss,n,&ps);
printf("nmax=%sn",ps);
}


 

3、 请编一个函数fun,其中n所指存储单元中存放了数组中元素的个数。函数的功能是
:删除所有值为y的元素。数组元素中的值和y的值由主函数通过健盘读入。
试题程序。
#include <conio.h>
#include <stdio.h>
#define M 20
/*注:该题的算法是,用for()循环控制元素逐一判断数组元素是否等于y,若不等则赋
给新数bb,由于删除的关系j总是小于或等于i,故而可用bb作为新数组,与第6题相似。
还要注意*n=j;如果没有这个语句则不能传回新数组的个数,另外也不能换成n=&j
;这点是用指针时常犯的错误,切记!*/
void fun (int bb[], int *n,int y)
{ int i,j=0;
for( i=0; i<*n; i++)
if(bb[i]!=y) bb[j++]=bb[i];
*n=j;
}

main()
{ int aa[M],n,y,k;
printf("nplease enter n:");
scanf("%d",&n);
printf("nenter %d positive number:n", n);
for( k=0; k<n; k++) scanf( "%d",&aa[k]);
printf("the original data is: n");
for( k=0; k<n; k++) printf(" %5d", aa[k]);
printf(" nenter a number to deleted:");
scanf("%d",&y);
fun(aa,&n,y);
printf("the data after deleted %d:n", y);
for(k=0; k<n; k++) printf("%4d",aa[k]);
printf("n");
}


4、 编写一个函数,该函数可以统计一个长度为2的字符串在另一个字符串中出现的次数
。例如,假定输入的字符串为:asd asasdfg asd as zx67 asd mklo,子字符串为:as
,则应输出6。
试题程序。
#include "stdio.h"
#include "string.h"
#include "conio.h"
/*注:由于小串中只有2个字符所以可用str[i]==sbustr[0]&&str[i+1]==subs
tr[1]来判断小串是否与长串当前位置(str[i])相同(即出现一次)。因而只要让长串
当前位置逐一向后移即可(用for()循环来完成)。*/
int fun(char *str,char *substr)
{ int i,n=0,s=strlen(str);
for(i=0;i<s;i++)
if((str[i]==substr[0])&&(str[i+1]==substr[1]))
n++;
return n;
}

main()
{
char str[81],substr[3];
int n; clrscr();
printf("enter 1:");
gets(str);
printf("enter 2:");
gets(substr);
puts (str);
puts(substr);
n=fun(str,substr);
printf("n=%dn",n);
}


 
5、 请编写一个函数int fun(int x),它的功能是:判断整数x是否是同构数。若是同构
数,函数返回1;否则返回0。
所谓“同构数”是指这样的数,它出现在它的平方数的右边。
例如:输入整数5,5的平方数是25,5是25中右侧的数,所以5是同构数。
x的值由主函数从健盘读入,要求不大于100。
试题程序。
#include "conio.h"
#include "stdio.h"
/*注:由“同构数”的定义可得只要求出平方数或平方数的最后一位或平方数的最后两
位然后与x进行判断即可,分别求余后即得出平方数的右边。*/
int fun (int x)
{ int xx=x * x;
if(xx==x//xx%10==x//xx%100==x) return 1;
else return 0;
}

main()
{ int x,y;
clrscr();
printf("n please enter a integer numbers: ");
scanf("%d",&x);
if(x>100){printf("data eror!n");exit(0);}
y=fun(x);
if(y) printf("%d yesn",x);
else printf ("%d no!n",x);
}


 
16、 请编写函数fun,函数的功能是:在字符串中所有数字字符前加一个$字符。
例如,输入:A1B23CD45,则输出为:A$1B$2$3CD$4$5。
注意:部分源程序给出如下。
#include <stdio.h>
/*注:该题用while()循环来控制原字符串从头走到尾,在走动过程中判断是当前字符是
否是数字,若是则在新串中先连一个'$'然后再连原字符,否则直接连原字符。一定要
注意指针和下标的变化。最后要把新串拷贝到s所指的地址中,注意不能用s=a;若用了
,则实参数组还是原字符串。*/
void fun( char *s)
{char a[100];
int i=0;
while(*s)
if(*s>='0'&&*s<='9') {a[i++]='$';a[i++]=*s++;}
else a[i++]=*s++;
a='0';
strcpy(s,a);
}

main()
{ char s[80];
printf("enter a string:");
scanf("%s", s);
fun(s);
printf("the result: %sn", s);
}


 
 
 
 

17、 请编一个函数fun(char *s),函数的功能是把字符串中所有的字符前移一个位置,
串中的第一个字符移到最后。
例如:原有的字符串为:Mn.123xyZ,则调用该函数后,串中的内容为:n.123xyZM。
试题程序。
#include "conio.h"
#include "stdio.h"
#define N 81
/* 注:该题要先将字符串的头元素存到某一变量(用c=*s)中,然后后面的字符依向前
移(用for()循环),要记得在串的未尾加一个结束符。*/
fun(char *s)
{ char c=*s;
for(;*(s+1);s++)
*s=*(s+1);
*s=c;
*(s+1)='0';
}

main()
{ char a[N];
clrscr();
printf("enter a string:");
gets(a);
printf("the original string is:");
puts(a);
fun(a);
printf("the string after modified:");
puts(a);
}


18、 请编写函数fun,函数的功能是:将所有大于1小于整数m的非素数存入xx所指数组
中,非素数的个数通过k传回。
例如,若输入:17,则应输出:9和4 6 8 9 10 12 14 15 16。
试题程序。
#include <conio.h>
#include <stdio.h>
/* 注:内嵌的for()循环用于判断是否是素数,在j<i的情况下,只要j对i求余,余
数为0则表示i不是素数,则将i存入xx数组中。break;语句只是让它提前结束循环。不用
亦可。*/
void fun( int m, int *k, int xx[] )
{ int i,j;
*k=0;
for( i=2; i<m; i++)
for( j=2; j<i; j++)
if( i%j==0)
{ xx[(*k)++]=i; break;}
}
main()
{ int m, n,zz[100];
printf("n please enter an integer number between 10 and 100: "
);
scanf( "%d",&n);
fun(n,&m,zz);
printf("nn there are %d non-prime numbers less than %d: ", m,
n);
for(n=0; n<m; n++)
printf("n %4d",zz[n]);
}


19、 请编一个函数fun(char *s),函数的功能是把字符串中所有的字母改写成该字母的
下一个字母,最后一个字母z改写成字母a。大写字母仍为大写字母,小写字母仍为小写
字母,其他的字符不变。
例如:原有的字符串为:Mn.123zyZ,则调用该函数后,串中的内容为:No.123yzA。
试题程序。
#include "conio.h"
#include "string.h"
#include "stdio.h"
#include "ctype.h"
#define N 81
/* 该题的思路较为明显,用for()循环一个字符一个字符地走动,移动过程中判断是否
在a到y之间,若是则加1(即下移一个字母),若是z则换成对应的a */
fun(char *s)
{ int i,n=strlen(s);
for(i=0;i<n;i++)
{ if((s[i]>='A'&&s[i]<'Z')//(s[i]>='a'&&s[i]&
lt;'z'))
s[i]=s[i]+1;
else if(s[i]=='z') s[i]='a';
else if(s[i]=='Z') s[i]='A';
}
}
main()
{ char a[N];
clrscr();
printf("enter a string:");gets(a);
printf("the original string is:");puts(a);
fun(a);
printf("the string after modified:");
puts(a);
}


 

20、 请编写函数fun,函数的功能是:将s所指字符串中、下标为奇数位置上的大写字母
转换为字母序列中的下一个小写字母;若该位置上是小写字母,则不转换;若该位置上
是大写字母Z,则仅转换成小写字母z。
例如,输入:ABCdxZZZ,则输出为:AcCdXzZz。
试题程序。
#include "stdio.h"
#define N 80
/* 该题的算法与上一题相似,注意同一个字母小写要比大写在ASCII值上大32。*/
void fun(char *s)
{
int i;
for(i=1;i<N;i=i+2)
if (s[i]>='A'&&s[i]<'Z')
s[i]+=32+1;
else if(s[i]=='Z') s[i]+=32;
}

main()
{
char s[N];
printf("nenter a string:");scanf("%s",s);
fun(s);
printf("nthe result:%sn",s);
}


21、 程序定义了N*N的二维数组,并在主函数中赋值。请编写函数fun,函数的功能是:
给数组周边元素置0值。
例如:a数组中的值为

则返回主程序后a数组中的值应为
注意:部分源程序给出如下。
请勿改动主函数main和其它函数中的任何去何内容,仅在函数fun的花括号中填入你编写
的若干语句。
试题程序。
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define N 5
/* 由于是赋值0,因而只要能表示出周边元素即好办,它与求和不同在于求和不能重复
对某个元素进行运算,而赋值则可重复赋值。所以这里只用了一个for()循环来找出所有
的周边元素。*/
fun(int w[][N])
{ int i ;
for(i=0;i<N;i++)
{ w[i][0]=0;
w[i][N-1]=0;
w[0][i]=0;
w[N-1][i]=0;
}

}

main()
{ int a[N][N],i,j;
clrscr();
printf("***** The array *****n");
for(i=0;i<N;i++)
{ for(j=0;j<N;j++)
{ a[i][j]=rand()%10;
printf("%4d",a[i][j]);
}
printf("n");
}
fun(a);
printf("***** The result *****n");
for(i=0;i<N;i++)
{ for(j=0;j<N;j++)
printf("%4d",a[i][j]);
printf("n");
}
}


 
22、 请编写函数fun,它的功能是:求出ss所指字符串中、指定字符的个数,并返回此
值。
例如:若输入字符串:123412132,输入字符为:1,则输出:3。
试题程序。
#include<conio.h>
#include<stdio.h>
#define M 81
/* 注:本题用while()循环来控制字符的移动,每移动一个字符都要进行判断(if(*ss
==c))是否为指定的字母,若是则个数加1。这里要注意如何让ss指针向下走动(ss++)
。*/
int fun(char *ss,char c)
{int num=0;
while(*ss!='0')
{if(*ss==c) num++;
ss++;
}
return(num);
}
main()
{char a[M],ch;
clrscr();
printf("nPlease enter a strint:");gets(a);
printf("nPlease enter a char:");ch=getchar();
printf("nThe number of the char is:%dn",fun(a,ch));
}


23、 程序定义了N*N的二维数组,并在主函数中赋值。请编写函数fun,函数的功能是:
求出数组周边元素的平均值并作为函数值返回给主函数中的s。
例如:a数组中的值为

则返回主程序后s的值应为:3.375。
试题程序。
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define N 5
/* 注意不能重复计算,它与题21不同,第一个for()循环求出第一列与最后一列的和,
第二个for()循环求出第一行与最后一行(已除去两头元素),要注意第二个for()中起
始为1,最后为N-2。*/
double fun (int w[][N])
{ int i,t=0;
double s=0;
for(i=0;i<N;i++)
{s+=w[i][0]+w[i][N-1]; t+=2;}
for(i=1;i<N-1;i++)
{s+=w[0][i]+w[N-1][i]; t+=2;}
s=s/t;
return s;
}
main()
{ int a[N][N]={0,1,2,7,9,1,9,7,4,5,2,3,8,3,1,4,5,6,8,2,5,9,1,4,1};
int i,j;
double s;
clrscr();
printf("***** The array *****n");
for(i=0;i<N;i++)
{for(j=0;j<N;j++)
printf("%4d",a[i][j]);
printf("n");
}
s=fun(a);
printf("***** The result *****n");
printf("The sum is %lfn",s);
}


24、 编写一个函数fun,它的功能是:实现两个字符串的连接(不使用库函数strcat)

例如,分别输入下面两个字符串:
FirstSrting—
SecondString
程序输出:
FirstString—SecondString
注意:部分源程序给出如下。
请勿改动主函数main和其它函数中的任何去何内容,仅在函数fun的花括号中填入你编写
的若干语句。
试题程序。
#include<stdio.h>
#include<conio.h>
/* 注:第一个for()循环用于让i成为第一个字符串的结束符的下标,要注意在这个for
()后要有一个分号否则出错。第二个for()的作用是将第二个字符串一个一个字符依次放
到第一个字符串的未尾。此外,还要注意最后一定要有p1[i]='0';来给字符串加上
结束符。*/
void fun(char p1[],char p2[])
{int i,j;
for(i=0;p1[i];i++);
for(j=0;p2[j];j++)
p1[i++]=p2[j];
p1[i]='0';
}
main()
{ char s1[80],s2[80];
clrscr();
printf("Enter s1 and s2:n");
scanf("%s%s",s1,s2);
printf("s1=%sn",s1);
printf("s2=%sn",s2);
printf("Invoke fun(s1,s2):n");
fun(s1,s2);
printf("After invoking:n");
printf("%sn",s1);
}


25、 程序定义了N*N的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][N]
),函数的功能是:使数组第一列元素中的值与最后一列元素中的值对调、第二列元素的
值与倒数第二列中的值对调、……、其他依次类推。
例如:a数组中的值为

则返回主程序后a数组中的值应为

注意:部分源程序给出如下。
请勿改动主函数main和其它函数中的任何去何内容,仅在函数fun的花括号中填入你编写
的若干语句。
试题程序。
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
#define N 5
/* 本题的第一个for()循环用于控制行,而内嵌的for()用于在同一行中将列与列对调,
当i为0时a[m][i]为第m行的第一列元素,a[m][N-1-i]为第m行的最后一列的元素,正好
符合调换的要求。依次类推。*/
int fun(int a[][N])
{ int i ,m,t;
for(m=0;m<N;m++)
for(i=0;i<N/2;i++)
{t=a[m][i];
a[m][i]=a[m][N-1-i];
a[m][N-1-i]=t;
}
}

main()
{ int a[N][N],i,j;
clrscr();
printf("***** The array *****n");
for(i=0;i<N;i++)
{for(j=0;j<N;j++)
{a[i][j]=rand()%30;printf("%4d",a[i][j]);}
printf("n");
}
fun(a);
printf("***** The result *****n");
for(i=0;i<N;i++)
{for(j=0;j<N;j++)
printf("%4d",a[i][j]);
printf("n");

}
}


26、 请编写函数fun,函数的功能是:实现B=A+A’,即把矩阵A加上A的转置,存放在矩
阵B中。计算结果在main函数中输出。
例如:输入下面的矩阵: 其转置矩阵为:
程序输出:
注意:部分源程序给出如下。
请勿改动主函数main和其它函数中的任何去何内容,仅在函数fun的花括号中填入你编写
的若干语句。
试题程序。
#include<conio.h>
#include<stdio.h>
/* 26题:本题没有先求出A的转置,而是直接利用转置的性质(即第一行作为转置后的
第一列,第二行作为转置后的第二列,的行列互换的性质)。而且最后要求出两矩阵的
相加后得出的新矩阵,由转置性质可知原a[j][i]转置后位置为a[i][j],在表达式:b[
i][j]=a[i][j]+a[j][i]第一个a为A的元素,第二个a为A'的元素。*/
void fun(int a[3][3],int b[3][3])
{int i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
b[i][j]=a[i][j]+a[j][i];
}

main()
{int a[3][3]={{1,2,3},{4,5,6},{7,8,9}},t[3][3];
int i,j;
clrscr();
fun(a,t);
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
printf("%7d",t[i][j]);
printf("n");
}
}


27、 序定义了N*N的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][N]),
函数的功能是:使数组第一行元素中的值与最后一行元素中的值对调、第二行元素的值
与倒数第二行中的值对调、……、其他依次类推。
例如:a数组中的值为
则返回主程序后a数组中的值应为

注意:部分源程序给出如下。
请勿改动主函数main和其它函数中的任何去何内容,仅在函数fun的花括号中填入你编写
的若干语句。
试题程序。
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
#define N 5
/* 27题:该题与25题相似,外层for()循环用于控制一列一列地移动,内嵌的forr()循
环用于控制在同一列内对应行元素的对调。a[i][m]为第m列第i行元素,而a[N-1-i][m]
为第m列倒数第i行的元素,正好需要对调。*/
fun(int a[][N])
{ int i,m,t;
for(m=0;m<N;m++)
for(i=0;i<N/2;i++)
{t=a[i][m];
a[i][m]=a[N-1-i][m];
a[N-1-i][m]=t;
}
}
main()
{ int a[N][N], i,j;
clrscr();
printf("***** The array *****n");
for(i=0;i<N;i++)
{for(j=0;j<N;j++)
{a[i][j]=rand()%30; printf("%4d",a[i][j]);}
printf("n");
}
fun(a);
printf("***** The result *****n");
for(i=0;i<N;i++)
{for(j=0;j<N;j++)
printf("%4d",a[i][j]);
printf("n");
}
}


28、 m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的
人数作为函数值返回。
例如,当score 数组中的数据为:10、20、30、40、50、60、70、80、90、时,函数返
回的人数应该是4,below中的数据应为:10、20、30、40。
注意:部分源程序给出如下。
请勿改动主函数main和其它函数中的任何去何内容,仅在函数fun的花括号中填入你编写
的若干语句。
试题程序。
#include <string.h>
#include <conio.h>
#include <stdio.h>
/* 28题:第一个for()循环用来计算score数组中分数的总和,然后用aver/=m求出平均
值,第二个循环用来找出小于平均分的元素,并放到数组below中,这里要注意j的递增
方式。*/
int fun(int score[],int m, int below[])
{ int i,j=0,aver=0;
for(i=0;i<m;i++)
aver+=score[i];
aver/=m;
for(i=0;i<m;i++)
if(score[i]<aver)
below[j++]=score[i];
return j;
}
main()
{ int i,n,below[9];
int score[9]={10,20,30,40,50,60,70,80,90};
clrscr();
n=fun(score,9,below);
printf("nBelow the average score are :");
for(i=0;i<n;i++) printf("%4d",below[i]);
}

 

29、 程序定义了N*N的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][N]
),函数的功能是:使数组左下半三角元素中的值全部置成0。
例如:a数组中的值为
,则返回主程序后a数组中的值应为
注意:部分源程序给出如下。
请勿改动主函数main和其它函数中的任何去何内容,仅在函数fun的花括号中填入你编写
的若干语句。
试题程序。
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#define N 5
/* 29题:该题的关键是如何表示出左下半角的元素,当从上往下到第i行时只有左边的
i个元素要置为0(每行总是如此)。用外层for()来控制行而内嵌的for()来控制每行的
左边元素,故而在内嵌for()中j最大只能循环到i(即表示出第i行左边的i个元素)。*
/
int fun(int a[][N])
{int i,j;
for(i=0;i<N;i++)
for(j=0;j<=i;j++)
a[i][j]=0;
}
main()
{int a[N][N],i,j;
clrscr();
printf("*** The array ****n");
for(i=0;i<N;i++)
{for(j=0;j<N;j++)
{a[i][j]=rand()%10;printf("%4d",a[i][j]);}
printf("n");
}
fun(a);
printf("The resultn");
for(i=0;i<N;i++)
{for(j=0;j<N;j++)
printf("%4d",a[i][j]);
printf("n");
}
}

 

30、 请编写函数fun,经的功能是:求出1到1000之内能被7或11整除、但不能同时补7和
11整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数。
注意:部分源程序给出如下。
请勿改动主函数main和其它函数中的任何去何内容,仅在函数fun的花括号中填入你编写
的若干语句。
试题程序。
#include <conio.h>
#include <stdio.h>
/* 30题:该题关键就是如何表示能被7或11整除,但不能同时被7和11整除。用(i%7==
0)//(i%11==0)来表示能被7或11整除,用 !((i%7==0)&&(i%11==0))来表示不能
同时被7和11整除。
void fun(int *a,int *n)
{ int i,m=0;
for(i=1;i<1000;i++)
if(((i%7==0)//(i%11==0))&&!((i%7==0)&&(i%11==0)))
{a[m]=i;m+=1;}
*n=m;
}
main()
{ int aa[1000],n,k;
clrscr();
fun(aa,&n);
for(k=0;k<n;k++)
if((k+1)%10==0) printf("n");
else printf("%d,",aa[k]);
}


 
 
 
 

31、程序定义了N*N的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][N])
,函数的功能是:使数组右上半三角元素中的值全部置成0。
例如:a数组中的值为
,则返回主程序后a数组中的值应为
注意:部分源程序给出如下。
请勿改动主函数main和其它函数中的任何去何内容,仅在函数fun的花括号中填入你编写
的若干语句。
试题程序。
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define N 5
/* 31题:该题的关键亦是在如何表示右上半角,当从上往下到第i行时要从第i列(所
以内嵌for()的j从i开始循环)开始替换直到最后一列,本题用外层for()来控制行,而
用内嵌的for()来控制在每一行内右边元素置0。
int fun(int a[][N])
{ int i,j;
for(i=0;i<N;i++)
for(j=i;j<N;j++)
a[i][j]=0;
}
main()
{ int a[N][N],i,j;
clrscr();
printf("***** The array *****n");
for(i=0;i<N;i++)
{for(j=0;j<N;j++)
{a[i][j]=rand()%20; printf("%4d",a[i][j]);}
printf("n");
}
fun(a);
printf("THE RESULTn");
for(i=0;i<N;i++)
{for(j=0;j<N;j++) printf("%4d",a[i][j]);
printf("n");
}
}


 

32、 编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶
数的各整数,并放在pp所指的数组中,这些除数的个数通过形参n返回。
例如,若x 中的值为:30,则有4个数符合要求,它们是
1,3,5,15。
注意:部分源程序给出如下。
请勿改动主函数main和其它函数中的任何去何内容,仅在函数fun的花括号中填入你编写
的若干语句。
试题程序。
#include <conio.h>
#include <stdio.h>
/* 32题:由于要求的数不能是偶数故编程时从1开始循环而步长为2这样正好保正i永远
的奇数。这里也要注意存放结果的数组pp的下标变化方式。*/
void fun(int x, int pp[], int *n)
{ int i,j=0;
for( i=1;i<=x; i=i+2)
if( x%i==0)
pp[j++]=i;
*n=j;
}
main()
{ int x, aa[1000], n, i;
printf("n please enter an integer number:n"); scanf("%d
",&x);
fun(x,aa,&n);
for(i=0;i<n;i++)
printf("%d ", aa[i]);
printf("n");
}

 

33、 序定义了N*N的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][N],i
nt n),函数的功能是:使数组右上半三角元素中的值乘以m。例如:若m的值为2,a数组
中的值为
,则返回主程序后a数组中的值应为
注意:部分源程序给出如下。
请勿改动主函数main和其它函数中的任何去何内容,仅在函数fun的花括号中填入你编写
的若干语句。
试题程序。
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define N 5
/* 33题:该题的关键也是在如何表示右上半角(可以与31题相同),本题采用的是在一
行内从最后一列的元素开始往前乘,只有j>=i时才改变(原理与31题相同)。*/
int fun( int a[][N], int m)
{ int i,j;
for(i=0; i<N; i++)
for(j=N-1; j>=i; j--)
a[i][j]*=m;
}
main()
{ int a[N][N],m,i,j;
printf("**** the array ****n");
for( i=0; i<N;i++)
{ for( j=0; j<N; j++)
{a[i][j]=rand()%20; printf("%4d", a[i][j]); }
printf("n");
}
do m=rand()%10; while( m>=3);
printf("m=%4dn", m);
fun( a,m);
printf(" the result n");
for(i=0; i<N; i++)
{for(j=0; j<N; j++) printf("%4d", a[i][j]);
printf("n");
}
}

 

34、 编写一个函数void fun(char *tt,int pp[]),统计在tt字符串中’a’到’z’26
个字母各自出现的次数,并依次放在pp所指数组中。
例如,当输入字符串:abcdefgabcdeabc后,程序的输出结果应该是:
3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
注意:部分源程序给出如下。
请勿改动主函数main和其它函数中的任何去何内容,仅在函数fun的花括号中填入你编写
的若干语句。
试题程序。
#include<conio.h>
#include<stdio.h>
/* 34题:本题采用的是字母的ASCII码值与数组pp下标的对应转换关系分别求出对应字
母的个数。第一个for()是给pp赋初值0,第二个for()用于控制在字符串内从头到尾移动
。由于字母'a'的ASCII码值为97而它的个数要放在pp[0]中,而'a'-97的值正好为0
,其它的依此类推。*/
void fun(char *tt,int pp[])
{ int i;
for(i=0;i<26;i++)
pp[i]=0;
for(;*tt;tt++)
if(*tt<='z'&&*tt>='a')
pp[*tt-97]++;
}
main()
{ char aa[1000];
int bb[26],k;
clrscr();
printf("nPlease enter a char string:");scanf("%s",aa)
;
fun(aa,bb);
for(k=0;k<26;k++) printf("%d",bb[k]);
printf("n");
}


 

35、序定义了N*N的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][N],in
t n),函数的功能是:使数组左下半三角元素中的值乘以n。例如:若n的值为2,a数组
中的值为
,则返回主程序后a数组中的值应为
注意:部分源程序给出如下。
请勿改动主函数main和其它函数中的任何去何内容,仅在函数fun的花括号中填入你编写
的若干语句。
试题程序。
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define N 5
/* 35题:本题与29题相似,只要能表示出左下半角的元素即可。*/
int fun( int a[][N], int n)
{ int i,j;
for(i=0; i<N; i++)
for(j=0; j<=i; j++)
a[i][j]*=n;
}
main()
{ int a[N][N],n,i,j;
printf("**** the array ****n");
for( i=0; i<N; i++)
{for( j=0; j<N; j++)
{a[i][j]=rand()%10; printf("%4d", a[i][j]); }
printf("n");
}
do n=rand()%10 ; while(n>=3);
printf("n=%4d n", n);
fun( a,n);
printf( "**** the result ****n");
for(i=0;i<N; i++)
{for(j=0; j<N; j++) printf("%4d", a[i][j]);
printf("n");
}
}

 
 
 

36、数fun的功能是:将两个两位数的整数a、b合并形成一个整数放在c中。合并的方式
是:将a的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数
的个位和百位上。
例如:当a=45,b=12。调用该函数后,c=4251
注意:部分源程序给出如下。
请勿改动主函数main和其它函数中的任何去何内容,仅在函数fun的花括号中填入你编写
的若干语句。
试题程序。
#include <conio.h>
#include <stdio.h>
/* 36题:本题的关键在于如何表示出个、十、百、千位数。对于一个两位的整数,用1
0对它求余得到个位数上的数,将它除10得到十位数上的数。*/
void fun(int a, int b, long *c)
{ int i,j,k,n;
i=a%10; j=a/10; k=b%10; n=b/10;
*c=j*1000+k*100+i*10+n;
}
main()
{ int a,b; long c;
printf(" input a, b: ");
scanf("%d%d", &a,&b);
fun(a,b,&c);
printf(" the result is :%ldn", c);
}

 

37、请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:将大于整数
m且紧靠m的k个素数存入xx所指的数组中。
例如,若输入17,5,则应输出:19,23,29,31,37。
注意:部分源程序给出如下。
请勿改动主函数main和其它函数中的任何去何内容,仅在函数fun的花括号中填入你编写
的若干语句。
试题程序。
#include <conio.h>
#include <stdio.h>
/* 37题:本题中的for()循环用来判断一个数是否为素数,由于个数只能是k个所以用d
o-while循环来控制。*/
void fun(int m, int k, int xx[])
{ int i,j=0,p=m+1;
do
{for( i=2; i<p; i++)
if(p%i==0) break;
if(i>=p) xx[j++]=p;
p++;
} while(j<k);
}
main()
{ int m,n,zz[1000];
printf("n please enter two integers: ");
scanf("%d%d",&m,&n);
fun( m,n,zz);
for(m=0; m<n; m++)
printf("%d ", zz[m]);
printf("n");
}


 
38、已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请
编写函数fun,函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只
有一个最低分)。已给出函数的首部,请完成该函数。
注意:部分源程序给出如下。
请勿改动主函数main和其它函数中的任何去何内容,仅在函数fun的花括号中填入你编写
的若干语句。
试题程序。
#include <stdio.h>
#include <string.h>
#include <conio.h>
#define N 10
typedef struct ss
{ char num[10]; int s;} STU;
/* 38题:这个题目中有一结构组数,要找的是数组元素中整型成员的值最小的元素。要
注意本题中的赋值方式(分两部分,对于字符型成员只能用strcpy()函数,而不能用等
号“=”进行赋(即不能用(*s).num=a[k].num),这与字符串的赋值相同(切记)。*/
fun( STU a[], STU *s)
{ int k,i;
(*s).s=a[0].s;
for( i=0;i<N; i++)
if (a[i].s<(*s).s)
{(*s).s=a[i].s; k=i; }
strcpy ( (*s).num, a[k].num);
}
main()
{ STU a[N]={ {"A01",81},{"A02",89},{"A03",66}
,{"A04",87},{"A05",77},
{"A06",90},{"A07",79},{"A08",61},{"
;A09",80},{"A10",71} }, m;
int i;
printf("**** the original data ****n");
for(i=0;i<N; i++) printf("N0=%s Mark=%dn", a[i].num,a[i].s
);
fun( a,&m);
printf("**** the result****n");
printf(" the lowest: %s ,%dn", m.num,m.s);
}

 

39、请编写一个函数void fun(char a[],int k,int n),其功能是:删除字符串中指定
下标开始的n 个字符。其中,a指向字符串,k中存放指定的下标。
例如,字符串内容为:Hellollo World!,k中值为:5,n中的值为:3,则调用该函数的
结果为:Hello World!。
注意:部分源程序给出如下。
请勿改动主函数main和其它函数中的任何去何内容,仅在函数fun的花括号中填入你编写
的若干语句。
试题程序。
#include <stdio.h>
#define N 80
/* 39题:本题要删除从下标k开始的后n个字符。所以所用的算法是将下标为k+n及以后
的所有字符依次往前移n个字符,这样就把要删除的字符覆盖了(即删除了)。记得最后
要在新串尾加一个结束符'0'。*/
void fun( char *a, int k, int n)
{ int m=strlen(a),i;
for(i=k+n; i<m; i++) a[k++]=a[i];
a[k]='0';
}
main()
{ char s[N]="Hellollo World!";
int k,n;
printf("n the original string: %sn", s);
printf(" enter index---------------k: "); scanf("%d"
, &k);
printf(" enter number to delete----n: "); scanf("%d"
, &n);
fun(s,k,n);
printf("n the string after deleted: %sn", s);
}


4、 要求程序的功能是:把20个随机数存入一个数组,然后输出该数组中的最小值。其
中确定最小值的下标的操作在fun函数中实现,请给出该函数的定义。
试题程序。
#include <stdio.h>
#include <conio.h>
#define VSIZE 20
int vector[VSIZE];
/*注:该题的算法是用一个变量(j)来存储最小值元素的下标,在循环过程中让每个元
素都与原最小值元素进行大小比较(if(list[i]<list[j]),如发现更小的则让j重新
拥有最小值元素的下标(j=i)。*/
int fun(int list[],int size)
{ int i,j=0;
for(i=1;i<size;i++)
if(list[i]<list[j])
j=i;
return j;
}

main()
{
int i;
clrscr();
for(i=0;i<VSIZE;i++)
{
vector[i]=rand();
printf("Vector[%d]=%6dn",i,vector[i]);
}
i=fun(vector,VSIZE);
printf("nMininum:vector[%d]=%6dn",i,vector[i]);
}


 

 

40、已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请
编写函数fun,函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只
有一个最高分)。已给出函数的首部,请完成该函数。
注意:部分源程序给出如下。
请勿改动主函数main和其它函数中的任何去何内容,仅在函数fun的花括号中填入你编写
的若干语句。
试题程序。
#include <stdio.h>
#include <string.h>
#include <conio.h>
#define N 10
typedef struct ss
{ char num[10]; int s;} STU;
/* 40题:本题与38题相似,只是采用的赋值方式不同。采用的是结构体元素对结构体元
素赋值。*/
fun( STU a[], STU *s)
{ int i;
*s=a[0];
for( i=1;i<N; i++)
if (a[i].s>(*s).s)
*s=a[i];
}
main()
{ STU a[N]={ {"A01",81},{"A02",89},{"A03",66}
,{"A04",87},{"A05",77},
{"A06",90},{"A07",79},{"A08",61},{"
;A09",80},{"A10",71} }, m;
int i;
printf("**** the original data ****n");
for(i=0;i<N; i++) printf("N0=%s Mark=%dn", a[i].num,a[i].s
);
fun( a,&m);
printf("**** the result****n");
printf(" the top : %s ,%dn", m.num,m.s);
}

 

/* 41题:在本题中要注意使k所指的存储单元的值变为最大值元素的下标(不能用k=&a
mp;i),另外由于用t返回数组元素个数最后要让其所指的存储单元的值增加1。*/
void fun( int *s, int *t, int *k)
{ int i,p=s[0];
for(i=0; i<*t; i++)
if( s>p ) { p=s[i]; *k=i;}
s[*t]=p; (*t)++;
}


 

 

* 42题:本题要求删除下标为奇数、同时ASCII值也为奇数的字符反过来想就是要将不
标为偶数或ASCII值为偶数的字符留下并放到t数组中。在看类似题型时要注意题中是否
用了“同时”两个字。本题采用的就是后一种思编程方式。*/
void fun( char *s, char t[])
{ int i,j=0,n=strlen(s);
for(i=0;i<n;i++)
if(i%2==0//s[i]%2==0)
t[j++]=s[i];
t[j]='0';
}


 

 
/* 43题:本题采用了双重循环的方式,其中内层循环用于算出每一加项的分母。用这种
方式较好理解但程序比较长,其中还要注意每次都要给p重新赋0.0。此外,亦可用一个
循环将其做出。*/
float fun (int n)
{ int i,j;
float s,p;
s=0.0;p=0.0;
for (i=1;i<=n;i++)
{ for(j=1;j<=i;j++)
p=p+j;
s=s+1.0/p;
p=0.0;
}
return s;
}


 


/* 44题:本题与42题相似,它要删除下标为奇数、同时ASCII值偶数的字符,即要留下
下标为 偶数或者ASCII值为奇数的字符,注意在if()判断中一定要用逻辑或(//)将两
关系运算连接起来。*/
void fun( char *s, char t[])
{ int i,j=0,n=strlen(s);
for(i=0;i<n;i++)
if(i%2==0//s[i]%2!=0)
t[j++]=s[i];
t[j]='0';
}


 

 
 
 

/* 45题:由算式可看出n要从0开始,所以循环中i从0开始,在循环中用k来表示每项的
符号,所以每次循环k都要转换正负号。*/
void fun(float *sn,int n)
{ int i;
float k=-1.;
*sn=0;
for(i=0;i<=n;i++)
{k=-k;
*sn=*sn+k/(2*i+1);
}
}


 

 /* 46题:本题要删除下标为偶数、同时ASCII值奇数的字符,也就是要留下下标为奇数
或者ASCII值为偶数的字符。在if()判断中采用的是i%2而不是i%2==1由于在C语言中当i
为奇数时i%2的值为1(即为逻辑真,它与i%2==1的效果是一样的。在一点要注意,它在
笔试考中也常出现。*/
void fun( char *s, char t[])
{ int i,j=0,n=strlen(s);
for(i=0;i<n++)
if(i%2//!(s[i]%2))
t[j++]=s[i];
t[j]='0';
}


 

 

/* 47题:在公式中的m!表示m的阶乘(即从m一直乘到1),本题分别用三个循环求出m!
,1/n!,/1(m-n)!并已将其合在一起。要注意它的结合方式。*/
float fun( int m, int n)
{ int i;
double t=1;
for(i=1; i<=m; i++) t*=i;
for(i=1; i<=n; i++) t/=i;
for(i=1; i<=m-n; i++) t/=i;
return (t);
}


 

 
/* 48题:本题要求删除下标为偶数、同时ASCII值偶数的字符,即要留下下标为奇数或
ASCII值为奇数的字符。*/
void fun( char *s, char t[])
{ int i,j=0,n=strlen(s);
for(i=0; i<n; i++)
if(i%2//s[i]%2) t[j++]=s[i];
t[j]='0';
}


 

 
/* 49题:这是一道典型的迭代算法题。迭代算法就是x0和x1反复求值反复交换值直到两
值小于其个被认为0的数时,在浮点型中由于存在精确度的问题,所以认为一个很小的数
(如:1e-006即0.000001)与0相当。故本题的fabs(x0-x1)>1e-006不用fabs(x0-x1
)==0.0,若是用后面的表达式将会出现永无成立的时候。*/
float fun()
{ float x0,x1=0;
do { x0=x1;
x1=cos(x0);
}while( fabs(x0-x1)>1e-006);
return x1;
}


 

 
/* 50题:本题要删除的是ASCII值为偶数的字符即要将ASCII值为奇数的留下。注意if(
)中表示奇数的方式:采用的是s[i]%2而不是s[i]%2==1由于在C语言中当s[i]为奇数时s
[i]%2的值为1(即为逻辑真,它与s[i]%2==1的效果是一样的。在一点要注意,它在笔试
考中也常出现。*/
void fun( char *s, char t[])
{ int i,j=0,n=strlen(s);
for(i=0; i<n; i++)
if(s[i]%2) t[j++]=s[i];
t[j]='0';
}


 51题:由于要求求出能同时被3和7整除的数,由3和7的最小公倍数为21,可得,i一
定是21的倍数,所以题中直接用21来作为循环的初值和步长,这样既能保证能同时衩3和
7整除,同时也保证了所有数都被统计完。*/
double fun(int n)
{int sum,i;sum=0;
for(i=21;i<n;i=i+21)
sum=sum+i;
return (sqrt(sum));
}


 

 

/* 52题:本题与50题的区别只有if()的判断,它要表求出s的ASCII值为偶数。*/
void fun(char *s,char t[])
{int n,i,k=0;
for(i=0;s[i];i++)
if(s[i]%2==0)
{t[k]=s[i];k=k+1;}
t[k]=0;
}


 

 

 
 
 

/* 53题:Fibonacci数列是这么一个数列0,1,1,2,3,5,8,13……从它的第三项
开始每一项的值都是其紧接着的前两项的和。本也是采用函数的嵌套调用来完成,但若
用嵌套调用方式会较难理解。它要求求出比t大的最小一个数。在本题的编程中采用的是
while(f2<=t)当它的条件这假时,即得到了第一个比t大的数。*/
int fun (int t)
{int f1=0,f2=1,temp;
while(f2<=t)
{temp=f2;
f2=f1+f2;
f1=temp;
}
return f2;
}


 
/* 54题:本题采用while()循环来控制。要注意不管下标是否符合条件,都要让下标增
加1(即后移一个字符)用i++完成。*/
void fun(char *s,char t[])
{int i=0,j=0;
while(*(s+i)!='0')
if(i%2==0) i++;
else t[j++]=s[i++];
t[j]='0';
}
 

 /* 55题:要注意在s=s+1.0/(j*(j+1));中不能将1.0换成1,若为1由于都是整型运算完
后只用整数部分,这时就会出错。另外若用乘号“*”则必须用括号将其括起。*/
double fun(int n)
{float s=0;int j;
for(j=1;j<=n;j++)
s=s+1.0/(j*(j+1));
return s;
}

 

 
 
 

/* 56题:本题要求删除下标为奇数的字符即留下下标为偶数的字符。题中for()的i从0
开始,而每次都增加2,这就保证了下标永远是偶数。*/
void fun(char *s,char t[])
{
int i,n,k=0;n=strlen(s);
for(i=0;i<n;i=i+2)
t[k++]=s;
t[k]='0';
}


/* 57题:所谓因子即能整除n的数。由于1和n除外所以for()循环从1到n-1进行循环,
在循环过程中用if()判断能否整除n若能则加到s中。*/
int fun(int n)
{ int i,s=0;
for(i=2;i<n;i++)
if(n%i==0)
s=s+i;
return s;
}


 

 
 
 

/* 58题:本题要求除了下标为奇数、同时ASCII值也为奇数的字符之外,其余的所有字
符都删除,即留下下标为奇数同时ASCII值为奇数的字符。本题在用for()循环时初值从
1开始且每次都加2故而得到的i(即下标)都是奇数,进而只要对字符本身进行判断。*
/
void fun(char *s,char t[])
{int i,n,k=0;n=strlen(s);
for(i=1;i<n;i=i+2)
if(s[i]%2==1)
t[k++]=s[i];
t[k]='0';
}

 
/* 59题:本题较简单。主要就是函数的应用。*/
double fun(int m)
{double i,r=0.;
for(i=1;i<=m;i++)
r+=log(i);
return (sqrt(r));
}
 

 
 
 

/* 60题:要题要将除了下标为偶数、同时ASCII值也为偶数的字符之外,其余的所有字
符都删除,即留下下标为偶数同时ASCII值为偶数的字符。与58题同。*/
void fun(char *s,char t[])
{ int i,k=0;
for(i=0;i<strlen(s);i=i+2)
if(s[i]%2==0)
{t[k]=s[i];k++;}
t[k]='0';
}


 
/* 61题:从第二项开始以后的每一项都是它前一项的x/i倍(从第0项开始数当求到第一
项时i为1(即项值为x,当求到第二项时i为2即(项值为x*x/2),当求到第三项时i为3(
即项值为x*x*x/(2*3)),……,这里用t来代表第i项的值。*/
double fun( double x, int n)
{ int i;
double t=1.,s=0.;
for(i=1;i<=n;i++)
{s+=t;t*=x/i;}
return s;
}

 
 
 

/* 62题:内层循环用于在同一行内将所有元素相加。*/
fun (int a[][N] ,int b[])
{int i,j,p,sum=0;
for (i=0;i<M;i++)
{for(j=0;j<N;j++)
sum=sum+a[i][j];
b[i]=sum;
sum=0;
}
}


 
 
 
 

/* 63题:第一个while()循环用来找出第一个不是*号的字符,注意在while的括号后有
一分号,由于在while()循环结束时b已指向第二个不是*号的字符,因此在下一个循环之
前要让b后退一个字符(b--;),第二个循环是让后面的字符往前移,这种移动方法不用
在最后赋'0',这是因为在while()循环中先移动后判断,即当它循环到串尾时先将串
结束符'0'前移后才停止循环。*/
void fun( char *a)
{ char *b=a;
while(*b++=='*');b--;
while((*a++=*b++)!='0');
}


 
 
 
 

/* 64题:本题采用的是判断当前字符是否为数字,若不是则留下到新(与原串共用一个
数组)的字符串中,下标的改变方法要注意。记得最后要加上串结束符'0'。*/
void fun( char *s)
{int i=0,j=0;
while(*(s+i)!='0')
if(*(s+i)>='0'&&*(s+i)<='9') i++;
else *(s+j++)=*(s+i++);
*(s+j)='0';
}


 
 
 
 

/* 65题:本题中的第一个for()循环用来使指指变量指向串尾,注意在for()的后面直接
跟一个分号,为了使下一个for()循环能得以正确执行,最后要让a向回退一个字符(即
不能让它指向'0'),第二个for()循环是让a指向倒数第一个不是*号的字符,这时只
要在a的后一个字符加上串结束符'0'即可(用*++a='0'来完成)。*/
void fun( char *a)
{for(;*a;a++);a--;
for(;*a=='*';a--);
*++a='0';
}


 

 
 
 

/* 66题:较简单。*/
fun (int a[][M])
{ int i,j,max=a[0][0];
for (i=0;i<2;i++)
for (j=0;j<M;j++)
if(a[i][j]>max)
max=a[i][j];
return max;
}


 
 
 

/* 67题:本题采用的算法是:先让*p(包括*p)前面不是*号的字符按顺序留在新串中(
新串与原串共用一个数组变量)用for()循环来完成,最后用while()循环再把*p(不含
*p)以后的所有字符也按顺序留下。在注意下标的变化方式。*/
void fun( char *a, char *p)
{int i,j=0;
for(i=0;a+i<=p;i++)
if(*(a+i)!='*')
a[j++]=*(a+i);
while((a[j++]=*p++)!='0');
}


 
 
 
 

69题答案
第一个for使字符串移到前面连续*的末尾,第二个for删除其他的*
int i,j=0;
for(i=0;a ='*';i++);
j=i;
for(;a ;i++)
if(a!='*')
a[j++]=a[i];
a[j]='0';


 
 
 
 

71题答案
第一个for将字符串移动到前面联系的*后面,第二个for将中间的*去掉,第三个for将后
面的*联入
int i;
for(i=0;