C语言第四次作业_第1页
C语言第四次作业_第2页
C语言第四次作业_第3页
C语言第四次作业_第4页
C语言第四次作业_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、c语言作业分析,第三弹,信息:这次作业比较变态。部分初等算法,第11级第4次操作-删除问题1。问题说明输入高精度的大正整数S(最大为240位),删除这些N位数字后,剩馀的数字按原始顺序构成新的正整数S。对给定的N和S进行编程,寻找最小化由剩馀数字组成的新数字S的方案。“输入格式”输入包含两行。1.第一行是大整数S。其中s最多可达240位。2.第二行是整数n。s,n都以非零数字开头。“输出格式”输出包含从S中删除N位后得到的最小数字S的行。示例输入1 1785434 示例输出1 13 示例输入2 10021 示例输出2 002 示例说明示例1需要输入整数S=178543,N=4以从178543中

2、删除4位,正确答案为S=对于示例2,输入整数S1002,N1,删除一个非2的位置,然后输入S=002。也就是说,必须输出2之前的0度。一次运行“运行时限”程序的最长时间限制为15秒,如果超过,则被视为程序错误。评分标准这个问题需要输出大整数的各位数字。结果完全正确,得了20分,每个测试点得了4分。上载c语言文件名为delete.c。解决这个问题:这个问题的主要障碍在两个方面:1 .阅读方法2。删除方法。阅读时,简单地说就是将数字存储为字符串,然后通过字符串处理操作数字的每个位。删除的方式比较整数。这里介绍比较容易理解的方法。每次删除时,搜索第一个I上比I上大的,然后删除I上。重复m次,可以得到

3、最佳解。# include # include intmain()chars 245;Int i、j、k;Int n、m;Scanf(%s,s) : Scanf(%d,/* output */,级别11第四个任务-扩展字符2。编写函数expand(s1,s2),该函数将问题说明字符串S1的缩写从字符串S2扩展到其完整字符,该函数可以处理大小写和数字,并且可以处理a-b-c、a-z0-9、-a-z等类似情况。在Main函数中测试函数。在键盘上输入包含缩进符号的字符串,然后调用函数以输出扩展结果。(教材p63: exercise 3-3)注意:要扩展的字符串可以包含空格。例如,a-d x-z必须扩

4、展到ABCD XYZ。因此,读取要扩展的字符串时,必须能够读取包含空格的字符串。缩进符号-如果下一个字符大于前一个字符的ASCII代码值,则必须扩展其间的所有字符。例如,Z-a之间的文字也必须延伸。特殊情况:a-b-c扩展到ABC。A-a扩展到a-a。在输入格式键盘上,包含扩充字元的字串输出格式输出扩充字串输入范例 a-c-u-B 输出范例 abcdefghijklmnopqrstu-B,解决此问题:这个主题乍一看会更麻烦.其实是这次作业中比较简单的主题之一。因为只有一个特殊的字符。也就是说,只要判断好,这个题目就完成了。这个方法比较朴素。也就是说,使用flag确定不是以前的字符-如果不是,则输出此字符,如果是,则判断此字符与-前面的字符的关系,如果是-前面的字符,则输出此字符。否则-只需重复前面字符到此字符的输出。# include # include void expands(chars 1,chars 2);Int main() char s1200,s2200gets(S1);/*导入*/expands(s1,S2);Printf(%s,S2);/*此程序稍长,下一页包含*/和void expands (chars1,chars

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论