首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件mMi1.c。在此程序中,函数fun的功能是:从P所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。 例如,调用
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件mMi1.c。在此程序中,函数fun的功能是:从P所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。 例如,调用
admin
2020-11-27
75
问题
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件mMi1.c。在此程序中,函数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)
解析
解答本题需要三个步骤,首先找到字符串中ASCII码值最大的字符并保存;然后将该字符复制,并将该字符前面的字符串顺次后移;最后将ASCII码值最大的字符赋给字符串的第一个字符。要找到ASCII码值最大的字符可以通过定义一个字符变量一,该字符变量初始时等于字符串的第一个字符,若字符串的下一个字符大于max,则将下一个字符赋给max,如此循环到字符尾,即可得到ASCII码值最大的字符,同时令指针q指向最大字符。此后对最大字符前面的子串顺次后移,可采用while语句实现。
转载请注明原文地址:https://kaotiyun.com/show/Up3p777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序#includestructSTU{charname[9];charsex;intscore[2];};voidf(structSTUa[]){structSTUb={"zhao",’m’,85,90};a[1]=b;
若有以下程序#include#include#includestructstu{char*name,gender;intscore;};main(){structstua={NULL,’m’,290},b;a.name=(char*)
有以下结构体说明、变量定义和赋值语句structSTD{charname[10];intage;charsex;}s[5],*ps;ps=&s[0];则以下scanf函数调用语句有错误的是
以下叙述中错误的是
有以下程序:#includemain(){inta=1,b=3,c=5;int*pl=&a,*p2=&b,*P=&c;*p=*p1*(*p2);printf(“%d\n”,c);}
有以下程序#includevoidf(int*q){inti=0;for(;i<5;i++)(*q)++;}main(){inta[5]={1,2,3,4,5},i;f(a);for(i=0;i<5;i++)printf("%d,",a[
设有以下函数:f(inti){intj=0;staticintk=3;i++:j++;return(i+j+k);}如果下面的程序中调用该函
数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下面图符名标识的图符不属于数据流图合法图符的是
设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为
随机试题
在对管道FBE涂层补口时,采用的工艺是高压静电喷涂。
哪一种物质不是初级胆汁酸?
某企业第1年初向银行借款500万元,年利率为7%,银行规定每季度计息一次。若企业向银行所借本金与利息均在第4年末一次支付,则支付额为( )万元。
下列属于输出设备常见的有()。
借款人应当向银行如实提供所有开户行、账号及存贷款余额情况,使银行可以真实掌握借款人资金运行情况。银行通过调查、审查、检查了解借款人的生产经营情况,确保贷款的()
“如果你的两个得力下属一直吵架.你会怎么处理?”这类问题属于()。
哪一个运动员不想出现在奥运会的舞台上,并在上面尽情表演?如果以上陈述为真,以下哪项陈述必定为假?()
为了防止森林火灾,美国的森林专家想出了一个“以火防火”的好办法:要求森林管理人员定期选择风速小、气温低、温度大的天气,人为烧去乔木下面的小树、灌木、干枝和枯叶,以预防自然起火,并有助于扑灭森林大火。由此不可推出的结论是( )。
做产品的初心,一定可以归结到便利二字,因为一切新技术、能促使消费者大规模换代的新产品,大多是为了解决现实世界中_______的、不够便利的问题而生。因此,真正能做到了“简便”的产品,往往是_______的。填入画横线部分最恰当的一项是:
青藏铁路(Qinghai-TibetRailway)是西部大开发(WesternDevelopmentProgram)的标志性工程,是中国新世纪四大工程之一。该铁路东起青海西宁,西至西藏拉萨,全长1956公里。新建线路1110公里,于2001年6月2
最新回复
(
0
)