首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序中,函数fun的功能是:读入一个字符串(长度<20),将该字符串中的所有字符按ASCII码值升序排序后输出。例如,若输入"edcba",则应输出"abcde"。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件
下列给定程序中,函数fun的功能是:读入一个字符串(长度<20),将该字符串中的所有字符按ASCII码值升序排序后输出。例如,若输入"edcba",则应输出"abcde"。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件
admin
2017-09-23
61
问题
下列给定程序中,函数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://kaotiyun.com/show/msxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若有chars[3][3]=={"AAA","BBB","CCC"};说明语句,则与它等价的语句是()。
C语言中允许用外部说明来指定变量、函数和其他标识符的特征,这里所说的外部指的是()。
已知下列函数定义:fun(int%,intc,intn,intdatA){intk;for(k=0;k<m*n;k++){*b=data;b++;}}则调用此函数的正确写法是(假设变量a的说明为int
若i、j已定义成int型,则以下程序段中内循环体的总执行次数是()。for(i=6;i>0;i--)for(j=0;j<4.j++){…}
若有“doublea;”,则正确的输入语句是()。
下面程序将二维数组a的行和列元素互换后存放到另一个二维数组b中,请填空。main(){inta[2][3]={{1,2,3},{4,5}},b[3][2],i,j;for(i=0;i<2;i++){for(j=0;j<3;j++)
以下语句段执行后的输出结果是()。#include<stdio.h>main(){intk=3;if(k)printf("###")elseprintf("&&&&");}
若有以下定义和语句:inta=010,b=0×10,c=10;printf("%d,%d,%d\a",a,b,C);则输出结果是()。
若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是()。
随机试题
账户和会计科目的主要区别是
气与血的关系主要表现在
为加强对建筑工程设计文件编制工作的管理,保证()阶段设计文件的质量和完整性,特制定《建筑工程设计文件编制深度规定》。
净资产收益率在杜邦分析体系中是个综合性最强、最具有代表性的指标。根据杜邦财务分析体系,提高净资产收益率的途径不包括()。
12支篮球队进行单循环比赛,完成全部比赛共需11天。(1)每天每队只比赛1场(2)每天每队比赛2场
B-ISDN的精髓在于对业务的综合。B-ISDN的目标是实现4个层次上的综合,即【】、综合交换、综合传输和综合管理。
Whatisthemangoingtodoverysoon?
Whatisthenewitemmainlyabout?
Knock______thedoorbeforeyouentertheroom.
A、Shemissedherfriends.B、Shethinksshe’scatchinganothercold.C、Shelikestomatosauceoneverythingsheeats.D、Shehasa
最新回复
(
0
)