经典重庆

标题: [原创]C语言_学习题套_第七套 [打印本页]

作者: 文木四水    时间: 2007-2-1 13:19
标题: [原创]C语言_学习题套_第七套
<p>语言和环境<br/>实现语言<br/>C、环境要求<br/>B、环境要求<br/>&nbsp;Turbo C 2.0 或Turbo C 3.0<br/>二、要求<br/>&nbsp;编写一个C语言程序,将若干字符串字母顺序(由小到大)输出。<br/>&nbsp;程序的功能要求如下:<br/>&nbsp;&nbsp;1)从键盘出入5个字符串。例如”Welcome”,”Aptech”,”Student”,”Teacher”,和”Bye”。<br/>&nbsp;&nbsp;2)对这5个字符串进行排序。<br/>&nbsp;&nbsp;3)将排序后的字符串输出到屏幕上。<br/>三、算法说明<br/>&nbsp;比较字符串中的字符大小,可以用如下冒泡排序法或插入排序法开实现。<br/>四、推荐实现步骤<br/>&nbsp;1、编写main函数<br/>&nbsp;&nbsp;1)定义一个用于存放字符串的数组:char*str[5];<br/>&nbsp;&nbsp;2)调用Accept()接受字符串个数,而后根据指定的字符串个数,利用循环控制将键盘出入的字符串存放到数组中(每次1个字符串,循环接受)。<br/>&nbsp;&nbsp;3)调用排序子函数 Sort(),采用冒泡排序法或插入排序法对这5个字符串进行从小到大的排序。<br/>&nbsp;`&nbsp;4)以Print()子函数来实现排序后的字符串的输出。<br/>&nbsp;2、编写Accept()子函数<br/>&nbsp;要求有1个参数:<br/>&nbsp;&nbsp;保存键盘出入的字符串数组。<br/>&nbsp;返回值:<br/>&nbsp;&nbsp;整型数,返回接受字符串的个数。<br/>&nbsp;功能:<br/>&nbsp;1)接受欲输入的字符串个数。<br/>&nbsp;2)循环开始接受工作。<br/>&nbsp;&nbsp;(1)利用malloc()申请内存空间给对应的字符串数组。<br/>&nbsp;&nbsp;(2)显示提示信息。<br/>&nbsp;&nbsp;(3)接受键盘的输入。<br/>&nbsp;3、编写Sort()子函数<br/>&nbsp;要求有2个参数:<br/>&nbsp;&nbsp;第1个参数是:参加排序的字符串数组,char*name[]。<br/>&nbsp;&nbsp;第2个参数是:字符串数组中字符串的个数,int&nbsp; n 。<br/>&nbsp;&nbsp;1)利用循环对多个字符串进行大小的比较。<br/>&nbsp;&nbsp;2)比较字符串大小时要条用字符串比较的关系函数:<br/>&nbsp;&nbsp;&nbsp;Strcmp(source,target);<br/>&nbsp;&nbsp;3)使用冒泡排序法或插入排序法。<br/>&nbsp;4、编写Print()子函数<br/>&nbsp;要求有2个子函数:<br/>&nbsp;&nbsp;同Sort()子函数。<br/>&nbsp;功能:<br/>&nbsp;&nbsp;利用循环逐一输出已排序的每个字符串的值。<br/>&nbsp;5、程序运行参考界面图如下所示:<br/>&nbsp;&nbsp;<br/>&nbsp;&nbsp;Please input the number of string:<br/>&nbsp;&nbsp;5<br/>&nbsp;&nbsp;Please input 1 string:<br/>&nbsp;&nbsp;Welcome<br/>&nbsp;&nbsp;Please input 2 string:<br/>&nbsp;&nbsp;Aptech<br/>&nbsp;&nbsp;Please input 3 string:<br/>&nbsp;&nbsp;Teacher<br/>&nbsp;&nbsp;Please input 4 string:<br/>&nbsp;&nbsp;Student<br/>&nbsp;&nbsp;Please input 5 string:<br/>&nbsp;&nbsp;Bye</p><p>&nbsp;&nbsp;The result is &nbsp;:<br/>&nbsp;&nbsp;Aptech<br/>&nbsp;&nbsp;Bye<br/>&nbsp;&nbsp;Student<br/>&nbsp;&nbsp;Teacher<br/>&nbsp;&nbsp;Welcome<br/>五、注意事项<br/>&nbsp;&nbsp;A、请注意在代码中添加必要的注释;<br/>&nbsp;&nbsp;B、请注意代码的书写、命名符合规范。</p>
作者: 文木四水    时间: 2007-2-1 13:19
<p>解:</p><p>//第七套,&nbsp;&nbsp;&nbsp;排列字符串<br/>#include&lt;stdio.h&gt;<br/>#include&lt;string.h&gt;<br/>int Accept();<br/>char sort(char str[][10],int number);<br/>void print(char str[][10],int number);<br/>void main()<br/>{<br/>&nbsp;char str[20][10];<br/>&nbsp;int number;<br/>&nbsp;int i;<br/>&nbsp;number=Accept();<br/>&nbsp;for(i=0;i&lt;number;i++)<br/>&nbsp;{<br/>&nbsp;&nbsp;printf("请输入第%d个字符串",i+1);<br/>&nbsp;&nbsp;scanf("%s",str);<br/>&nbsp;}<br/>&nbsp;str[20][10]=sort(str,number);<br/>&nbsp;print(str,number);</p><p>&nbsp;getch();<br/>}<br/>int Accept()<br/>{<br/>&nbsp;int i;<br/>&nbsp;printf("请输入字符串的个数");<br/>&nbsp;scanf("%d",&amp;i);<br/>&nbsp;return i;<br/>}<br/>char sort(char str[][10],int number)//排序<br/>{<br/>&nbsp;int i,n;<br/>&nbsp;char temp[10];<br/>&nbsp;for(i=0;i&lt;number;i++)<br/>&nbsp;{<br/>&nbsp;&nbsp;for(n=0;n&lt;number-i;n++)<br/>&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;if(strcmp(str[n],str[n+1])&gt;0)<br/>&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;strcpy(temp,str[n]);<br/>&nbsp;&nbsp;&nbsp;&nbsp;strcpy(str[n],str[n+1]);<br/>&nbsp;&nbsp;&nbsp;&nbsp;strcpy(str[n+1],temp);<br/>&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;}<br/>&nbsp;}<br/>&nbsp;return str;<br/>}<br/>void print(char str[][10],int number) //输出<br/>{<br/>&nbsp;int i;<br/>&nbsp;printf("排序后的字串符:\n");<br/>&nbsp;for(i=0;i&lt;number;i++)<br/>&nbsp;{<br/>&nbsp;&nbsp;printf("%s\n",str);<br/>&nbsp;}<br/>}</p>




欢迎光临 经典重庆 (http://bbs.jdcq.net/) Powered by Discuz! X3.1