首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序中,函数fun的功能是:读入一个字符串(长度<20),将该字符串中的所有字符按ASCII码值升序排序后输出。例如,若输入"edcba",则应输出"abcde"。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件
下列给定程序中,函数fun的功能是:读入一个字符串(长度<20),将该字符串中的所有字符按ASCII码值升序排序后输出。例如,若输入"edcba",则应输出"abcde"。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件
admin
2017-09-23
79
问题
下列给定程序中,函数fun的功能是:读入一个字符串(长度<20),将该字符串中的所有字符按ASCII码值升序排序后输出。例如,若输入"edcba",则应输出"abcde"。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MOD11.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include < string*h >
#include < stdio*h >
void fun (char t[] )
{
char c;
int i, j ;
/*********found*********/
for (i = str1en (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=str1en(t) 一1;i;l一一)或for(i=str1en(t)一1;i >0;1一一) (2)if(t[j] >t[j+1])
解析
(1)本题是利用选择法对数组元素进行比较排序。所谓选择法,是依次用当前取得的元素和其后面的元素进行比较,在第一个元素和其后面的元素顺次比较时,可以借助中间变量来对两个数进行交换,要保证第一个元素始终存放数组中的最大数,以后依次挑选出次大数,这样最终的数组就是有序的。str1en函数所求得的字符串长度,数组最大下标表示为字符串长度减1,所以要减1。
(2)这里是一个分析逻辑错误,题中要求按升序排序,所以应改为if (t[j]>t[j+1])。
转载请注明原文地址:https://www.kaotiyun.com/show/msxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序:#include<stdio.h>intfun(intx,inty){if(x==y)return(x);elsereturn((x+y)/2);}main(){inta=1,b
若有“doublea;”,则正确的输入语句是()。
下面程序的输m结果是()。typedefunion{doublex[3];inty[4];charz[10];}M;Mt;main(){Printf("%d\n",sizeof
若有以下定义,则对a数组元素的正确引用是()。inta[5],*p=a;
设有输入语句scanf("a=%d,b=%d,c=%d",&a,&b,&C),为使变量a的值为2,b的值为4,c的值为8,则从键盘输入数据的正确形式是()。
数字字符0的ASCII值为48,运行下列程序的输出结果是()。main(){chara=’1’,b=’2’;printf("%c,",b++);printf("%d\n",b-A);}
若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是()。
以下程序中函数sort的功能足对a数组中的数据进行由大到小的排序voidsort(inta[],intn){inti,j,t;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(a[
在一介C源程序文件中,要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使削的存储类别是()。
随机试题
以下哪项是影响小儿生长发育最基本的因素
如何鉴别咯血与呕血。
某电子科技有限公司因涉嫌虚开增值税专用发票罪被提起公诉,公司董事长、总经理、会计等5人被认定为该单位犯罪的直接责任人员。在法院审理中,该公司被注销。关于法院的处理,下列哪一选项是正确的?(2008—卷二—29,单)
【《台湾通史》】
什么是教学模式?教学模式的发展趋势是什么?
请根据表1-13完成此项目的前导图(单代号网络图),表明各活动之间的逻辑关系。节点用如图1-9所示的样图标识。图例说明如下。ES:最早开始时间EF:最早结束时间DU:作业历时ID:作业代号LS:最迟开
下面是关于8237可编程DMA控制器的叙述,其中错误的是( )。
Whenitcomestotheslowingeconomy,EllenSperoisn’tbitinghernailsjustyet.Butthe47-year-oldmanicuristisn’tcutti
Theywerepayingfortheirhouseby______.
A、Themouthisrelatedtoone’selegance.B、Theeyeshavesomethingtodowithone’scharm.C、Thenosecantelluswhetheraper
最新回复
(
0
)