首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序中函数fun的功能是: 用冒泡法对6个字符串按由小到大的顺序进行排序。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include<stdli
下列给定程序中函数fun的功能是: 用冒泡法对6个字符串按由小到大的顺序进行排序。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include<stdli
admin
2018-03-28
59
问题
下列给定程序中函数fun的功能是:
用冒泡法对6个字符串按由小到大的顺序进行排序。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdlib.h>
#include<string.h>
#include<conio.h>
#include<stdio.h>
#define MAXLINE 20
fun(char*pstr[6])
{
int i,j;
char*p;
for(i=0;i<5;i++)
{
/*********found*********/
for(j=i+1,j<6,j++)
{
if(strcrnp(*(pstr+i),
(pstr+j))>0)
{
P=*(pstr+i);
/*********found*********/
*(pstr+i)=
pstr+j;
*(pstr+j)=p;
}
}
}
}
void main()
{
int i;
char*pstr[6],str[6][MAx-LINE];
system("CLS");
for(i=0;i<6;i++)
pstr
=str
;
printf("\nEnter 6 string(1
string at each line):\n");
for(i=0 ; i<6;i++)
scanf("%s",pstr
);
fun(pstr);
printf("The strings after
sorting:\n");
for(i=0;i<6;i++)
printf("%s\n",pstr
);
}
选项
答案
(1)for(j=i+1;j<6;j++) (2)*(pstr+i)=*(pstr+j);
解析
本题考查:冒泡排序算法;for循环语句格式;指针数组。
(1)此处考查for语句的格式,各表达式之间应用“;”隔开。
(2)此处考查用指针表示数组元素的方法,* (pstr+i)表示pstr所指向数组的第i个元素,同理* (pstr+j)表示pstr所指向数组的第j个元素。
冒泡排序算法,其基本思想是:将待排序的元素看做是竖着排列的“气泡”,较小的元素比较轻,从而要往上浮。在冒泡排序算法中要对“气泡”序列处理若干遍。所谓一遍处理,就是自底向上检查一遍这个序列,并时刻注意两个相邻元素的顺序是否正确。如果发现两个相邻元素的顺序不对,即“轻”的元素在下面,就交换它们的位置。显然,处理一遍之后,“最轻”的元素就浮到了最高位置;处理两遍之后,“次轻”的元素就浮到了次高位置。依此类推,完成排序。
实现数组s[N]的升序排列代码如下:
for(i=0;i<N;i++)
for(j=i+1;j<N;j++)
if(s
>s[j])
{t=s
;s
=s[j];
s[j]=t;}
转载请注明原文地址:https://www.kaotiyun.com/show/PDxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
设变量均已正确定义,若要通过scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。下列所示的输入形式中正确的是(注:口代表空格字符)()。
数据库系统的核心是
以下程序的输出结果是【】。main(){inta=1,b=2;a=a+b;b=a-b;a=a-b;printf("%d,%d\n",a,b);}
阅读下面程序,则执行后的输出结果是【】。#include"stdio.h"main(){intx,y,z;x=1;y=2;z=3;if(x>y)if(x>z)printf("%d",x);el
对于长度为n的顺序存储的线性表,当随机插入和删除一个元素时,需平均移动元素的个数为【】。
设char型变量x中的值为10100111,则表达式(2+x)∧(~3)的值是
有以下程序:#include<stdio.h>main(){unsignedinta;intb=-1;a=b;printf("%u",a);程序运行后的输出结果是()。
下列程序的输出结果是()。#include<stdio.h>main(){structst{inty,x,z;};union{longi;intj;
对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是
以下不正确的转义字符是()。
随机试题
试述教育与政治经济制度的相互制约性。
蛋白质溶液的稳定因素是
肾虚带下的治法应是
对于期货期权交易,下列说法正确的是( )。
2014年12月31日,甲公司因交易性金融资产和可供出售金融资产的公允价值变动,分别确认了10万元的递延所得税资产和20万元的递延所得税负债。甲公司当期应交所得税的金额为。150万元。假定不考虑其他因素,该公司2014年度利润表“所得税费用”项目应列示的金
Successfulleaders______eventsratherthanreacttothem.
下面是一个Applet程序,其功能是在绘图区域中通过鼠标的移动来绘制直线,并且有清除绘图区域按钮,用来清除已经绘制的图像。程序运行结果如图5所示。importjava.awt.*;importjava.applet.*;
Itisexcitingtoapplyforajobthatreallyappealstoyou.Inmakingyourapplication,thereareanumberofpointsforyout
ReadthefollowingarticleabouthowHaierachievesitsgoalofbeingamainstreambrandintheUSandthequestionsontheoppo
Theyearsbetween1870and1895broughtenormouschangestothetheaterintheUnitedStatesastheresidentcompanywasundermi
最新回复
(
0
)