首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序中,函数fun的功能是:从p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。 例如,调用fun函数之前给字符串输入“ABCDeFGH”,调用后字符串中的内容应为“eABCDFGH”。
下列给定程序中,函数fun的功能是:从p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。 例如,调用fun函数之前给字符串输入“ABCDeFGH”,调用后字符串中的内容应为“eABCDFGH”。
admin
2018-03-28
44
问题
下列给定程序中,函数fun的功能是:从p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。
例如,调用fun函数之前给字符串输入“ABCDeFGH”,调用后字符串中的内容应为“eABCDFGH”。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
void fun(char*p)
{
char max,*q;int i=0;
max=p
;
while(p
!=0)
{
if(max<p
)
{max=p
;
/*********found*********/
q=p+i
}
i++;
}
/*********found*********/
while(q<p)
{
*q=*(q一1);q一一;
}
p[0]=max;
}
void main()
{
char str[80];
printf("Enter a string:");
gets(str);
printf("\nThe original
string:");
puts(str);
fun(Str);
printf("\nThe string after
moving:");
puts(str);printf("\n\n");
}
选项
答案
(1)q=p+i; (2)while(q>p)
解析
本题考查:变量赋值操作;while循环语句。
解答本题需要三个步骤,首先找到字符串中ASCII码值最大的字符并保存;然后将该字符复制,并将该字符前面的字符串顺次后移;最后将ASCII码值最大的字符赋给字符串的第一个字符。要找到ASCII码值最大的字符可以通过定义一个字符变量max,该字符变量初始时等于字符串的第一个字符,若字符串的下一个字符大于max,则将下一个字符赋给max,如此循环到字符尾,即可得到ASCII码值最大的字符,同时令指针q指向最大字符。此后对最大字符前面的子串顺次后移,可采用while语句实现。
转载请注明原文地址:https://kaotiyun.com/show/hxxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下面程序的功能是:将字符数组a中下标值为偶数的元素从小到大排列,其他元素不变。请填空。#include<stdio.h>#include<string.h>main(){chara[]="clanguage",t;
有以下程序main(){chars[]="Yes\n/No",*ps=s;puts(ps+4);*(ps+4)=0;puts(s);}程序运行后的输出结果
有以下程序:#include<stdio.h>fun(intx,inty,intz){z=x*y;}main(){inta=4,b=2,c=6;fun(a,b,c);p
以下选项中可作为C语言合法整数的是()。
若语句“t=fun(fun(x,y,a),(a+b,a+C,x+y+z);”对fun函数的调用正确,则fun函数的形参个数为()。
执行下列程序时输入12345678,程序的运行结果是______。 #include<stdio.h> main() { int x,y; scanf("%2d%2d"); printf("%d\n",x+y); }
以下叙述中错误的是()。
若有以下定义,则正确的swish语句是______。floatx;inta,b;
程序中对fun函数有如下说明 void*fun(); 此说明的含义是:
以下不能正确定义二维数组的选项是
随机试题
毛泽东明确提出了新民主主义的三大经济纲领是在()
下列各部位中尿素不易通透的是
汽轮机冷态启动时,蒸汽与汽缸内壁的换热形式主要是()。
我国药品监督行政机构分为
有了地籍调查成果提供的多种信息,有助于确定合理的规划指标,使规划内容既有(),又能符合实际情况,保证规划编制切实可行。
对犯罪分子,要在惩办的前提下宽大。
A、B两地相距400米,早上8点小周和老王同时从A地出发在A、B两地间往返锻炼。小周每分钟跑200米,老王每分钟走80米。问8点11分,小周和老王之间的距离是多少米?
Itisnotoftenrealizedthatwomen【1】ahighplaceinsouthernEuropeansocietiesinthe10thand11thcenturies.Asa【2】,thew
Exercisehaslongbeentreatedasthecure-allforeverythingthatailsyou.Supporterssayyouwillloseweightandbringyour
______isknowntoall,PekingUniversityisoneofthemostfamousuniversitiesinChina.
最新回复
(
0
)