首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,函数fun的功能是:从P所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。 例如,调
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,函数fun的功能是:从P所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。 例如,调
admin
2018-10-21
50
问题
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.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,则将下一个字符赋给max,如此循环到字符尾,即可得到ASCII码值最大的字符,同时令指针q指向最大字符。此后对最大字符前面的子串顺次后移,可采用while语句实现。
转载请注明原文地址:https://kaotiyun.com/show/pMxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列程序的输出结果是【】。#include<stdio.h>intfun(intx,inty){staticintm0,i=2;i+=m+1;m=i+x+y;
现有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向—个链表中连续的三个结点。 street node { char data; struct node *next; } *p,*q
设有以下语句:charstrl[]="string",str2[8],*str3,*str4="string";则_______不是对库函数的正确调用。
有以下程序intadd(inta,intb){return(a+b);}main(){intk,(*f)(),a=5,b=10;f=add;…}则以下函数调用语句错误的是
下面程序段的运行结果是()。#include<stdio.h>voidmain(){charstr[]="ABC",*p=str;pfintf("%d\n",*(p+3));}
运行以下程序后,如果从键盘上输入6514<回车>,则输出结果为______。main(){intm,n;printf("Enterm,n:");scanf("%d%d",&m,&n);while(m!
下面程序把从终端读入的10个整数以二进制的方式写到一个名为bi.dat的新文件中。请填空。#include<stdio.h>FILE*fp;main(){inti,j;if((fp=fopen(【
下面程序的输出结果是______。main(){staticchara[]="language",b[]="program";char*ptrl=a,*ptr2=b;intkfor(k=0;k<7;k++)if(*(ptrl+k)==
随机试题
某初产妇,25岁,孕38周,妊娠期高血压综合征,临产3小时,宫口开大2cm,血压最高160/110mmHg,出现胎儿窘迫,胎心减速最低至90次/分,可恢复。导致该产妇出现上述症状和体征的主要原因为
选择人工后牙时主要要考虑什么因素,除了
治疗阴虚发热,骨蒸盗汗首选
刘家有一祖传清代名画,现为刘别鹤所有,2005年12月,刘别鹤在遗嘱中写明其死后由其子刘某继承该画。刘某的好友韩某多次向刘别鹤请求购买,被刘别鹤拒绝。由于刘别鹤年事已高,刘某遂与韩某订立该画的买卖合同,价款20万元,并约定待刘别鹤去世后将画交于韩某。201
项目施工技术风险应由承包商承担,是建设工程风险对策中的( )的具体运用。
柱及其他受压构件中的周边箍筋应做成()式。
①对发展中国家和新兴市场国家尤其如此②很大原因是因为中国仍然保持着对资本流动的严格控制③作为一个发展中国家,中国之所以在过去这些年屡屡可以躲过金融危机的直接冲击④资本的自由流动,从来都是一把双刃剑⑤一个原因就是这些国家尚不成熟的金融体系碰上了具有高
数据库的访问接口包括ODBC、OLEDB等,其中ODBC接口是______。A)专用的访问SQLServer数据库的接口B)一种开放的、访问数据库的接口C)通用的访问任何类型的数据的接口D)一种访问关系数据库的控件
使用VC6打开考生文件夹下的源程序文件modil.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,并且使程序输出的结果为:a=7,b=0a=8,b=10注意:错误的语句在∥********error********
OnMay30,2009,aspeedingcarhurtled(猛冲,飞驰)towardsanopentopbus【C1】______theQueenoftheNetherlandstoday【C2】______smash
最新回复
(
0
)