首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下modil中的解决方案。此解决方案的项目中包含一个源程序文件modil.c。在此程序中,函数fun()的功能是读入一个字符串(长度<20),将该字符串中的所有字符按ASCⅡ值升序排列后输出。 例如,若输入"edcba
使用VC++2010打开考生文件夹下modil中的解决方案。此解决方案的项目中包含一个源程序文件modil.c。在此程序中,函数fun()的功能是读入一个字符串(长度<20),将该字符串中的所有字符按ASCⅡ值升序排列后输出。 例如,若输入"edcba
admin
2023-02-27
8
问题
使用VC++2010打开考生文件夹下modil中的解决方案。此解决方案的项目中包含一个源程序文件modil.c。在此程序中,函数fun()的功能是读入一个字符串(长度<20),将该字符串中的所有字符按ASCⅡ值升序排列后输出。
例如,若输入"edcba",则应输出"abcde"。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件modil.c中,不要改动main()函数,不得增行或删行,也不得更改程序的结构!
试题程序:
1 #include<string.h>
2 #include<stdio.h>
3 void fun(char t[])
4 {
5 char c;
6 int i,j;
7 /*********found*********/
8 for(i=strlen(t);i;i--)
9 for(j=0;j<i;j++)
10 /*********found*********/
11 if(t[j]<t[j+1])
12 {
13 c=t[j];
14 t[j]=t[j+1];
15 t[j+1]=c;
16 }
17 }
18 main()
19 {
20 char s[81];
21 printf ("\nPlease enter a character string:");
22 gets(s);
23 printf("\n\nBefore sorting:\n%s",s);
24 fun(s);
25 printf("\nAfter sorting decendingly:\n%s",s);
26 }
选项
答案
(1)for(i=strlen(t)-1;i;i --)或 for(i=strlen(t)-1;i>0;i --) (2)if(t[j]>t[j+1])
解析
(1)本题利用选择排序对数组元素进行升序排列。选择排序是一种简单、直观的排序算法。它的工作原理是第1次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后从剩余的未排序元素中选出最小(大)元素,放到已排列的序列的末尾。以此类推,直到全部待排序的数据元素的个数为0。strlen()函数所求得的字符串长度要减1,因为数组最大下标表示为字符串长度减1。
(2)这里是一个逻辑分析错误,题中要求按升序排列,所以应改为if(t[j]>t[j+1])。
转载请注明原文地址:https://jikaoti.com/ti/5BoiFFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
x,y是关于t的方程t2-2at+a+2=0的两个实根,则x2+y2的最小值为()。
方程x2-2x+c=0的两根之差的平方等于16,则c的值是()。
圆周上有2n个等分点(n>1),以其中三个点为顶点的直角三角形的个数为()。
一组数据有10个,每个数据与它们的平均数的差依次为-2,4,-4,5,-1,-2,0,2,3,-5,则这组数据的方差为()。
甲,乙两名同学在相同条件下各射击5次,命中的环数如下表,那么下列结论正确的是()。
一箱书,平均分给6个小朋友,多余1本;平均分给8个小朋友,也多余一本;平均分给9个小朋友,也多余一本,这箱书最少有m本,则m的各个数位之和为()。
某城市按如下规定收水费:用水不超过60立方米,按每立方米1.4元收费,超过60立方米,超过的部分按每立方米2.6元收费,另外不管用水多少,每立方米需要额外征收1元的排污费,已知某用户4月份水费平均每立方米2.64元,则4月份应交水费()。
某商店将某种品牌的电脑,按进价提高35%进行定价,然后打出“几折酬宾,外送50元车费”的广告,结果每台电脑获利208元,那么每台电脑的进价是()元。
给出如下四对事件:①某人射击1次,“射中7环”与“射中8环”;②甲、乙两人各射击1次,“甲射中7环”与“乙射中8环”;③甲、乙两人各射击1次,“两人均射中目标”与“两人均没有射中目标”;④甲、乙两人各射击1次,“至少有1人射中目标”与“甲射中,但乙未射中目
设含有8个元素的集合的全部子集数为S,其中由3个元素组成的子集数为T,则是的值为()。
随机试题
枕大孔疝可以造成()
子宫内膜异位症引起的月经失调,主要表现为
属于寒淫证临床表现的是
背景资料:A公司承建B港某码头项目,部分工程分包给C公司、D公司,工程由E设计院设计,G监理公司监理。由()对该项目施工现场的安全生产负总责。
切块分包合同方式按发包方式,可分为平行发包和()。
《环境噪声污染防治法》规定,在城市市区噪声敏感建筑物集中区域内,禁止夜间进行产生环境噪声污染的建筑施工作业,但抢修、抢险作业和因生产工艺上要求或者特殊需要必须连续作业的除外。因特殊需要必须连续作业的,必须有()或者其有关主管部门的证明。
当市场利率上升时,债券价格也上升。()
我国的《教师法》颁布于()。
某经济学大师在对“看不见的手”的分析中提到:“……他经常是通过追求个人利益无意中为社会增加了福利,而且比他在有意为社会增加的时候说得更有意义。”这句话向我们表明了()。
以下程序的功能是:将输入的正整数按逆序输出。例如:若输入135则输出531。请填空。#include<stdio.h>main(){intn,s;printf("Enteranumber:");scanf("%d",&n);
最新回复
(
0
)