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