首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序中,函数fun的功能是:读入一个字符串(长度<20),将该字符串中的所有字符按ASCⅡ码值升序排序后输出。例如,若输入″edcba″,则应输出″abcde″。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删
下列给定程序中,函数fun的功能是:读入一个字符串(长度<20),将该字符串中的所有字符按ASCⅡ码值升序排序后输出。例如,若输入″edcba″,则应输出″abcde″。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删
admin
2019-04-14
66
问题
下列给定程序中,函数fun的功能是:读入一个字符串(长度<20),将该字符串中的所有字符按ASCⅡ码值升序排序后输出。例如,若输入″edcba″,则应输出″abcde″。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include <string.h>
#include <stdio.h>
void fun(char t[])
{
char c;
int i,j;
/* * * * * * found * * * * * */
for(i=strlen(t);i;i— —)
for(j=0;j<i;j+ +)
/* * * * * * found * * * * * */
if(t[j]<t[j+1])
{
c=t[j];
t[j]=t[j+1];
t[j+1]=c;
}
}
main()
{
char s[81];
printf(″\nPlease enter a character string:″);
gets(s);
printf(″\n\nBefore sorting:\n%s″,s);
fun(s);
printf(″\nAfter sorting decendingly:\n%s″,s);
}
选项
答案
(1)for(i=strlen(t)—1;i;i— —)或for(i=strlen(1)—1;i>0;i— —) (2)if(t[j]>t[j+1])
解析
(1)本题是利用选择法对数组元素进行比较排序。所谓选择法,是依次用当前取得的元素
和其后面的元素进行比较,在第一个元素和其后面的元素顺次比较时,可以借助中间变量来对
两个数进行交换,要保证第一个元素始终存放数组中的最大数,以后依次挑选出次大数,这样最
终的数组就是有序的。strlen函数所求得的字符串长度包括字符串结束符,所以要减1。
(2)这里是一个分析逻辑错误,题中要求按升序排序,所以应改为if(f[j]>t[j+1])。
转载请注明原文地址:https://www.kaotiyun.com/show/N1Rp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下程序中,fun函数的功能是求3行4列二维数组每行元素中的最大值。请填空。voidfun(int,int,int(*)[4],int*);main(){inta[3][4]={{12,41,36,28},{19,33,1
以下程序运行后的输出结果是______。inta=5;fun(intB){staticinta=10;a+=b++;printf("%d",A);}main()
以下程序的输出结果是______。main(){inta=3;printf("%d\n",(a+=a-+a*a))}
在面向对象的方法中,______描述的是具有相似属性与操作的一组对象。
若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是
下列不合法的main函数命令行参数的表示形式是______。
下列叙述中,不属于软件需求规格说明书的作用的是
软件开发的结构化生命周期方法将软件生命周期划分成
在面向对象方法中,对象之间进行通信的构造称为()。
深度为7的二叉树共有127个节点,则下列说法中错误的是()。
随机试题
设总体X的数学期望μ与方差σ2存在,X1,X2,…,Xn是X的样本,则()可以作为σ2的无偏估计。
木门窗应采用()处理,并符合设计要求。
宝绘堂记(宋)苏轼君子可以寓意于物,而不可以留意于物。寓意于物,虽微物足以为乐,虽尤物不足以为病。留意于物,虽微物足以为病,虽尤物不足以为乐。老子曰:“五色令人目盲,五音令人耳聋,五味
学生伤害事故是指学生在校期间所发生的人身伤害事故,其类型包括()。
华夫脱运动
(98年)
设有如下表所列的菜单结构:要求程序运行后,如果单击菜单项“大图标”,则在该菜单项前添加一个“√”。以下正确的事件过程是()。
要实现动态联编,必须通过()调用虚函数。
在下列字符中,其ASCⅡ码值最大的一个是()。
YouwillhearaninterviewwithDr.JohnSmith,aseniorlecturerofastronomyatWestminsterUniversity,onthehumanhistoryo
最新回复
(
0
)