C++第七章
- 格式:ppt
- 大小:195.00 KB
- 文档页数:66
【2008春上机编程题_C07】【解题思路】:在理解上述要求基础上,只用一个主函数完成:找出Fibonacci 数列的前40个数,存放在一维数组m[40](声明长整型变量long)中,然后找出其中所有素数,存放在一维数组n[40]中(提示:n数组要求对素数总数以k计数),再选用一种排序法对一维数b进行降序排列,最后按长整型量以“%9ld”形式、一行五个数据将满足条件的数据输出到屏幕:【提示】:排序方法有“简单起泡法”;“双向起泡法”;“选择法”;所以要求学生在调试上述程序基础上按班组选取排序方法,编写本次作业。
(约定:起始Fibonacci数列存放在一维数组m[40]中,挑选出的素数存放在一维数组n[40]中,最后以升序排列的数组n输出,满足素数的个数设定为k)。
(参考教科书P134)(参考上机指导书P54例7.5、2010春完善程序题第15题或软件第七章填空第15题)原理为“下列程序的功能是对n数组n[0]~a[k-1]中存储的k个整数从大到小排序。
排序算法是:第一趟通过比较将k个整数中的最小值放在a[k-1]中,最大值放在a[0]中;第二趟通过比较将k个整数中的次小值放在a[k-2]中,次大值放在a[1]中,………,依次类推,直到待排序序列为递减序列。
”P50例7.2)【软件第七章】选择:1,下列一维数组的声明中,正确的是____(22)_____。
A. int a[];B. int n=10,a[n];C. int a[10+1]={0};D. int a[3]={1,2,3,4};5.以下程序运行后的输出结果是_____(25)___。
main(){ char a[7]="a0\0a0\0";int i,j;i=sizeof(a);j=strlen(a);printf("%d %d",i,j);}A.2 2B.7 2C.7 5D.6 28.以下声明中错误的是_____(27)_____。
习题七一、单项选择题1、以下程序的输出结果是()。
main(){int i,k,a[10],p[3];k=5;for(i=0;i<10;i++)a[i]=i; /*a: 0 1 2 3 4 5 6 7 8 9 */for(i=0;i<3;i++)p[i]=a[i*(i+1)]; /*p:0 2 6 */for(i=0;i<3;i++)k+=p[i]*2; /* k=5+4+12=21 */printf(“%d\n”,k);}A)20 B)21 C)22 D)232、以下正确的数组定义语句是()。
A)int y[1][4]={1,2,3,4,5}; B)float x[3][ ]={{1},{2},{3}}; C)long s[2][3]={{1},{1,2},{1,2,3}}; D)double t[ ][3]={0};3、以下程序段的输出结果是()。
main(){int m[3][3]={{1},{2},{3}}; m 1 0 0 n 1 2 3int n[3][3]={1,2,3}; 2 0 0 0 0 0printf(“%d\n”,m[1][0]+n[0][0]); 3 0 0 0 0 0printf(“%d\n”,m[0][1]+n[1][0]);}A)0 B)2 C)3 D)10 3 0 24、以下程序的输出结果是()。
main(){int i,x[3][3]={1,2,3,4,5,6,7,8,9}; 1 2 3for(i=0;i<3;i++)printf(“%d,”x[i][2-i]); 4 5 6} 7 8 9A)1,5,9 B)1,4,7 C)3,5,7 D)3,6,95、对以下程序从第一列开始输入数据:2473↙,程序的输出结果是()。
#include “stdio.h”main(){char c;while((c=getchar())!=’\n’){switch (c-‘2’){case 0:case 1:putchar(c+4);case 2:putchar(c+4);break;case 3:putchar(c+3);default:putchar(c+2);}}}A)668977 B}668966 C}66778777 D)66887666、不能正确为字符数组输入数据的是( )。
一、单项选择题1题目1在结构类型的定义中,对于类型标识符后的定义体,使用的起止标记符是一对()。
a. 中括号b. 圆括号c. 圆括号d. 尖括号题目2假定一个结构类型的定义为“struct A{int a,b; double c;};”,则该类型的长度为()。
a. 12b. 10c. 8d. 16题目3假定一个结构类型的定义为“struct D{int a; D* next;};”,则该类型的长度为()。
a. 4b. 8c. 12d. 16题目4假定有结构定义“struct Book{char title[20]; double price;};”,则不正确的语句定义为()。
a. struct Book b=("C++ Programming",27.0)b. struct Book* c[10]c. struct Book d[2][3]d. struct Book a[5]题目5假定有结构定义“struct Book{char title[20]; double price;};”,则正确的语句定义为()。
a. struct Book *x=malloc(6*sizeof(struct Book *));b. struct Book *x=malloc(6,sizeofstruct (Book));c. struct Book *x=calloc(6*sizeof(struct Book));d. struct Book *x=calloc(6,sizeof(struct Book));题目6假定要访问一个结构指针变量x中的数据成员a,则表示方法为()。
a. x(a)b. x{a}c. x.ad. x->a题目7与结构成员访问表达式p->name等价的表达式为()。
a. (*p).nameb. *(p->name)c. d. *题目8在一个链表中,每个结点必然存在着一个指向自身结点类型的指针域,用来保存下一个结点的()。