以下程序输出的最后一个值是【】。 int ff(int n) { static int f=1;f=f*n;retum f; } main(){ int
以下程序输出的最后一个值是【 】。
int ff(int n)
{ static int f=1;
f=f*n;
retum f;
}
main()
{ int i;
for(i=1;i<=5;i++) printf("%d\n",ff(i))i
}
以下程序输出的最后一个值是【 】。
int ff(int n)
{ static int f=1;
f=f*n;
retum f;
}
main()
{ int i;
for(i=1;i<=5;i++) printf("%d\n",ff(i))i
}
阅读以下说明和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)
●试题七
阅读以下说明和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 12 6 8 45 8 33 7 输入key:9
输出: (5)
阅读以下说明和C语言函数,将应填入(n)处的字句写在对应栏内。
【说明】
下面一段程序从给定的数组b中找出值最小的元素,并输出该元素的数组下标、内存地址minaddr以及元素值本身。函数findmin负责在给定的数组中查找最小值,并返回最小值所在的内存地址,函数有三个参数:array是所要处理的数组;size是数组的大小;index负责从函数返回具有最大值的元素在数组中的数组下标。请填充空白,使其成为一个合乎要求的完整程序。
【程序】
//程序开始
include<iostream.h>
int *findmin(int *array, int size, int &index);
void main()
{
/****** 变量定义部分 ***********/
int b[10] = {34, 34, 23, 89, 1, 2, 13, 42, 5, 54};
(1);
int idx;
/******* 寻找最小值 ************/
minaddr = findmin(b, sizeof(b)/sizeof(int), idx);
/******* 输出最小值的有关信息 ************/
cout << "Min value index: "<<idx<<end1
<<"Min value address: "<<minaddr<<end1
<<"Min value: "<<(2)<<end1;
}
/******* 函数findmin的定义部分 ************
int *findmin(int *array, int size, int &index)
{
int min = 0;//max 是当前具有最小值的数组元素下标值
for(int i = 1;(3); i++)
{
if(array[i]<(4))
min = i;
}
(5);
return array + min;//返回最小值所在内存地址
}
设有如下程序段: int x=2002,y=2003; printf("%d\n",(x,y));则以下叙述中正确的是()。
A.输出语句中格式说明符的个数少于输出项的个数,不能正确输出
B.运行时产生出错信息
C.输出值为2002
D.输出值为2003
A.表达式非法,输出零或不确定值
B.因输出项过多,无输出或输出不确定值
C.输出结果20,141
D.输出结果为20,141,20
阅读以下说明和C++代码,将解答写入对应栏内。
[说明]
类Stock的定义中有三处错误,分别在代码的第04、06、10行。请补齐下述代码中的空缺(1)~(3),修改错误并给出修改后该行的完整代码,最后完善程序运行后的输出结果。
[C++程序]
01 include<iostream.h>
02 using namespace std;
03 class Stock{
04 protected:
05 Stock(){shares=0; share_val=0.0;Output();}
06 Stock(int n=0,double pr=3.5): (1) {//初始化shares值为n
07 share_val=pr;
08 Output();
09 };
10 void~Stock(){};
11 void Output()(cout<<shares<<';'<<share val<<endl;}
12 public:
13 //成员函数
14 private:
15 //成员变量
16 int shares;
17 double share_val;
18 };
19
20 void main(){ //构造三个Stock对象a,b,C
21 Stock a(1);
22 Stock b;
23 Stock C;Stock();
24 //其他代码省略,且代码无输出
25 }
程序运行后的输出结果为:
1:3.5
(2)
(3)
试题二(共15分)
阅读以下说明和C函数,填充函数中的空缺,将解答填入答题纸的对应栏内。
【说明】
如果矩阵A中的元素A[i,j]满足条件:A[i,j]是第i行中值最小的元素,且又是第j列中值最大的元素,则称之为该矩阵的一个马鞍点。
一个矩阵可能存在多个马鞍点,也可能不存在马鞍点。下面的函数求解并输出一个矩阵中的所有马鞍点,最后返回该矩阵中马鞍点的个数。
【C函数】
Int findSaddle(int a[][N],int M),
{ /*a表示M行N列矩阵,N是宏定义符号常量量*/
int row,column,i,k;
int minElem;
int count=0;/*count用于记录矩阵中马鞍点的个数*/
for(row = 0;row< (1) ;row++) {
/*minElem用于表示第row行的最小元素值,其初值设为该行第0列的元素值*/
(2) ;
for(column = 1;column< (3) ;column++)
if(minElem> a[row][column]) {
minElem = a[row][column];
}
for(k=0;k<N;k++)
if(a[row][k]==minElem){
/术对第row行的每个最小元素,判断其是否为所在列的最大元素*/
for(i=0;i <M;i++)
if((4) >minElem) break;
if(i>=(5) ){
printf("(%d,%d):%d\n",row,k,minElem);/*输出马鞍点*/
count++;
}/*if*/
}/*if*/
}/*for*/
return count,
}/*findSaddle*/
A.输出语句中格式说明符的个数少于输出项的个数,不能正确输出
B.运行时产生出错信息
C.输出值为2002
D.输出值为2003
下列程序中,若从键盘中输入的是大写字母C,则程序输出的结果是 import java.io.*; public class Exam{ public static void main(String args[]) int ch=0; System.out.println(”输入一个字符:”); try{ ch=System.in.read(); char ch_A='A',ch_Z='Z',; int delta_c=(int)ch_A+(int)ch_Z-ch; System.out.println(”编码后的字符为:”+(char)delta_c); } catch(IOException e){ e.printStackTrace(); } } }
A.C
B.Y
C.X
D.字母C的ASCII码的整型值