首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序中,函数fun的功能是:读入一个字符串(长度<20),将该字符串中的所有字符按ASCII码值升序排序后输出。例如,若输入"edcba",则应输出"abcde"。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件
下列给定程序中,函数fun的功能是:读入一个字符串(长度<20),将该字符串中的所有字符按ASCII码值升序排序后输出。例如,若输入"edcba",则应输出"abcde"。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件
admin
2017-09-23
78
问题
下列给定程序中,函数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全国计算机二级
相关试题推荐
已知:intc[3][4];,则对数组元素引用正确的是()。
以下程序段的输出结果是()。#include<stdio.h>main(){charp[][4]={"ABC","DEF","GHI"};inti;for(i=0;i<3;i++)puts(p[i
设变量均已正确定义,若要通过scanf("%d%c%d%c”,&a1,&e1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。下列所示的输入形式中正确的是(注:口代表空格字符)()。
以下程序统计从终端输入的字符中大写字母的个数。用#号作为输入结束标志,请填空。#include<stdio.h>#include<ctype.h>main(){intnum[26],i;charc;for(i=0;i<26
若有以下定义,则对a数组元素的正确引用是()。inta[5],*p=a;
以下函数定义的类型符是()。fff(doublex){printf("%f",x+x);}
若有以下定义和语句:inta=010,b=0×10,c=10;printf("%d,%d,%d\a",a,b,C);则输出结果是()。
若有以下定义(设int类型变量占2个字节)inti=8,j=9:则以下语句:printf("i=%%d,j=%%%d\n",i,j);输出的结果是()。
若变量都已正确说明,则以下程序段输出结果为()。#include<stdio.h>main(){chara=’a’;intb=2;printf(a>b?”***a=%d":"###b=%d",a,B;
下面程序的功能是:计算1~20之间的奇数之和与偶数之和,请填空使程序功能完整。#include<stdio.h>main(){inta=0,b=0,c=0,i;for(i=0;i<=20;i+=2){a+=
随机试题
把列夫.托尔斯泰的小说看成是“俄国革命的镜子”的是()
1岁患儿,10月份患腹泻大便呈水样或蛋花汤样。无腥臭味,有少量黏液但无脓血;有脱水征。考虑引起病原是
对于某些液气的较大的蒸馏或吸收操作,若采用板式塔,则降液管将占用过多塔截面积,此时宜采用( )。
烧结普通砖砌体砌筑方法中的“三一”砌砖法是指()。
为保证飞机的飞行安全,旅客的()必须经过X射线安检机的安全检查。
下列行为中,属于《反不正当竞争法》规定的不正当有奖销售的是( )。
某生产性建设项目,生产某单一产品,年固定成本为l200万元,每件产品的变动成本(含单位产品税金等)为600元、销售价格为1600元,设计生产能力为年产量16000件。根据以上资料,回答下列问题:该建设项目达到产量盈亏平衡点时的生产负荷率为(
下面关于市场营销的表述中,正确的是()。
下列各项中,应计入财务费用的有()。
A公司是一个高速成长的公司,目前公司总价值10000万元,没有长期负债,发行在外的普通股5000万股,目前股价2.5元/股。该公司增长率6%。公司未来仅靠利润留存提供增长资金,不打算增发或回购股票,也不打算增加新的债务筹资。现在急需筹集债务资金5000万元
最新回复
(
0
)