问答题
改错题(20分) 【题目】 以下程序的功能是:判断一个已排序的整型数组中是否存在元素值与其下标值相等(下标从0开始)的元素。如果存在,则输出其中一个该类元素的值(可能存在多个满足条件的元素) 正确程序的输出如下: 第3个元素值与其下标值相等 含有错误的源程序如下: #include
int index_search(int x[n],int n) { int first=0; int last=n-1; int middle,index; index=-1; while(first<=last){ middle=(first+last)/2; if(x[middle]=middle){ index=middle; break; } else if(x[middle]>middle) last=middle-1; else first=middle+1; } return index; } void main() { int a[]={-1,0,1,3,8}; int result=index_search(a,sizeof(a)); if(result==-1) cout<<"第"<
【参考答案】
int index_search(int x[n],int n) 改为int x[]或int *x if(x......
(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)
点击查看答案
<上一题
目录
下一题>
热门
试题
问答题
编程题(20分) 【题目】 试定义一个时间类time,具体要求如下: (1)私有数据成员。 int h,m,s:分别表示时、分和秒。 char *str_t:存放时间的字符串,格式为 hh:mm:ss ,即 时:分:秒 。 (2)公有成员函数。 time(int hh=0,int mm=0,int ss=0):构造函数,利用参数hh、mm和ss分别初始化成员h、m和s,并为字符串str_t分配9个字节的动态存储空间。要检查参数hh、mm和ss的合法性,即0≤hh<24,0≤mm<60,0≤ss<60,如果不合法,则采用相应的缺省参数值。 ~time():析构函数,撤销str_t所占用的动态存储空间。 void convert():利用全局函数itoa()将成员h、m和s转换为字符串 hh:mm:ss 的形式,并存储在str_t中。 void set_t(int hh,int mm,int ss):利用参数hh、mm和ss分别设置成员h、m和s的值,同时调用成员函数convert()设置成员str_t。注意检查参数的合法性。 void print():输出字符串str_t,按输出示例中的格式输出时间。 (3)char *itoa(int n):全局函数,将整数n转换为字符串形式并返回。只考虑n至多为两位数的情形:当n为一位数时,如n=2,将n转换为 02 的形式;当n为两位数时,如n=59,将n转换为 59 的形式。 (4)在主函数中对该类进行测试。 输出示例: 00:00:00 12:05:30 【要求】 源程序文件名必须为myfb.cpp,并放在T盘根目录下,供阅卷用。
点击查看答案
相关试题
编程题(20分) 【题目】 试定义一个时...