此题为判断题(对,错)。
第1题:
阅读以下说明和C++代码,将解答写入对应栏内。
【说明】
请编写一个函数int SeqSearch(int list[],int start,int n,int key),该函数从start开始,在大小为n的数组list中查找key值,返回最先找到的key值的位置,如果没有找到则返回-1。请修改程序中画线部分的错误并将不同情况下的输出结果补充完整。
【程序】
文件search.cpp的内容如下:
include <iostream. h >
int SeqSearch( int list[ ] ,int start,int n,int key)
{
for(int i=start;i<=n;i++) //(1)
{
if( list[i] = key)//(2)
{
return i;
}
}
return -1;
}
void main( )
{
int A[10]
int key,count=0,pos;
cout <<" Enter a list of 10 integers:";
for(pos=0;pos<10;pos++)
{
cin >>A; //(3)
}
cout <<" Enter a key; ";
cin >> key;
pos=0;
while(( pos = SeqSearch ( A, pos, 10, key)) !=-1 )
{
count ++;
pos ++;
}
cout<<key<<"occurs" <<count<< (count!=1?" times":" time") <<" in the list,"
<< endl;
}
第一种情况:输入2 3 12 6 8 45 8 33 7输入key:8
输出:(4)
第二种情况:输入2 3 126 8 45 8 33 7输入k6y:9
输出:(5)
第2题:
以下函数的功能是计算n!,请完善程序。 long mul(int n) { int i=1; long sum; if(n==0) return 1; else sum=1; while(i<=n) { sum= ; i++; } return sum; }
第3题:
下面程序的功能是求数组中所有元素之和,根据现有代码,请问修改哪一行代码可以解决所求问题()。#include <stdio.h> int main() { float array[5]={0}; float sum=0; int i; for(i=0;i<5;i++) scanf("%f",&array[i]); for(i=1;i<=5;i++) sum+=array[i]; printf("sum=%fn",sum); return 0; }
A.第10行 sum+=array[i];
B.第4行 float array[5]={0};
C.第5行 float sum=0;
D.第7行 for(i=0;i<5;i++)
第4题:
下列程序用于打印出ASCⅡ字符,其析构函数内的语句应为【 】。
include<iostream. h>
inelude<iomanip, h>
template<class T>
class Array
{
T * elems;
int size;
public:
Array(int.s);
~Array()
T& operator[](int)
void perator=(T)
};
template<class T>
Array<T>::Array(int s)
size=s;
elems=new T[size]
for(int i=0;i<size;i++)
elems[i]=0
}
template<celass T>
Array<T>::~Array()
{
______
template <class T>
T& Array<T>::operator[](int index)
{
return elems[index];
}
template<class T>
void Array<T>::operator=(T temp)
{
for(int i=0;i<size;i++)
elems[i]=temp;
}
void main()
{
int i,n=26;
Array<int> arr1(n)
Array<char> arr2(n)
for(i=0;i<n;i++)
{ -.
arr1[i]='a'+i;
arr2[i]='a'+i;
}
cout<<"ASCII 字符"<<endl;
for(i=0;i<n;i++)
cout<<setw(8)<<arr1[i]<<setw(8)<<arr2[i]<<endl;
}
第5题:
下列程序运行后的结果是:_____ #include<stdio.h> int main() { int array[]={1,2,3,4,5},y=0x10,i,*p; p=array+3; for(i=0;i<4;i++) { y=y+*p; p--; } printf("%dn",y); return 0; }