首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(char*data),此函数的功能是,找出字符串数组中最小的ASCII值,如果有相同变量,则输出最后一个所在的位置;如果字符串为空,则返回一1;或者不存在时也返回一1。 注
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(char*data),此函数的功能是,找出字符串数组中最小的ASCII值,如果有相同变量,则输出最后一个所在的位置;如果字符串为空,则返回一1;或者不存在时也返回一1。 注
admin
2021-09-05
70
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(char*data),此函数的功能是,找出字符串数组中最小的ASCII值,如果有相同变量,则输出最后一个所在的位置;如果字符串为空,则返回一1;或者不存在时也返回一1。
注意:请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。计算数字如果第一个字母最小,则返回0。依次增加。
1 #include
2 int fun(char*data)
3 {
4
5 }
6 void main()
7 {
8 char Str[1 024];
9 cout<<”请输入一行英文字符串:
\n”;
10 cin.getl ine(str,1024);
ii cout<<”最小的字母出现在距离头
部"<
12 }
选项
答案
int MinPos=0 ; //初始化最小 值位置 if(data==NULL) //判断输入字 符串是否为空 return一1; char MinData=data[0];//设置字符 串第一个字符为最小值 if(MinData==0) //判断第一个 字符是否存在 return一1 ; for(int i=1;data[i]!=0 ; i++) { if(data[i]<=MinData) { MinData=data[i]; //逐个判 断每个字母是否小于标记字符 MinPos=i; //最小值 位置 } } return MinPos ;
解析
(1)该程序功能是找出字符串数组中最小的ASCII值。它的解题思路,用最小值变量标记第一个待找字符,把所有待找字符和标记字符逐个进行比较,并标记其当前最小值及
其所在位置,从而找出最小值。
(2)从已给部分源程序的main主函数开始入手,核心函数int fun(char*data)gO的data参数为输入的字符串数组,其中MinPos为最小值位置。
解题思路
(1)MinPos变量首先指向字符串data的第一个字符,同时将标志位MinPos初始值赋为0。
(2)然后利用for循环对每一个当前字符与MinPos标记的字符进行比较。
(3)循环中将求得的最小数据data
赋值给MinData,并将该数据项数组标志位赋给标志位MinPos。
转载请注明原文地址:https://www.kaotiyun.com/show/xOfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下类定义:classPet{charname[30];public:Pet(char*n){strcpy(name,n);}voidbark(){co
下列关于栈的叙述正确的是( )。
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明的IntSet是一个用于表示正整数集合的类。IntSet的成员函数Merge的功能是求当前集合与另一个集合的并集,在Merge中可以使用成员函数IsMemberOf判断_个正
有如下类定义:classSample{public:Sample(intx):ref(x){}//1private:Sample(){ref=0;}//2staticintval
有如下语句序列: intx=-10;while(++x){} 运行时,while循环体的执行次数为()。
下列关于return语句的叙述中,正确的是
分析下面程序,该程序的运行结果是()。#inc1ude<iostream.h>c1assTestClass{public:staticintm,TesK:lass(){
下面属于系统软件的是
软件测试的目的是()。
随机试题
真空干燥箱应先升温再抽真空。
钩藤的原植物属于
我国劳动保险条例规定,大姆指轧断1节的视为轻伤。()
某宗居住房地产,城市规划规定既可用做商业用途,也可用做居住用途,而估价人员坚持以居住用途进行估价,你认为估价人员可能出于什么考虑?()
关于有效市场假说理论,下列论述错误的是( )。
合纵连横
如下图所示,CiscoCatalyst6500交换机A与B之间需传输ID号为10~35的VLAN信息,但是ID号为23的VLAN信息不允许传输。下列为交换机端口5/1分配VLAN的配置,正确的是()。
Federaleffortstoaidminoritybusinessesbeganinthe1960swhentheSmallBusinessAdministration(SBA)beganmakingfederally
【S1】【S8】
BillGateswasbornonOctober28,1995intheUnitedStates.A19【M2】photoshowsBillasaraptyoungteenager,watchedhisfr
最新回复
(
0
)