华南理工《高级语言程序设计C》平时作业
- 格式:docx
- 大小:17.66 KB
- 文档页数:16
答题: A. B. C. D.C++语言编制的源程序要变为目标程序必须要经过解释汇编答题: A. B. C. D.下列字符列中,合法的标识符是:(A)Begin(B)for答题: A. B. C. D.下述叙述正确的是()。
字符型变量不能赋予整数字符型变量可存放多个字符答题: A. B. C. D.字符串常量”\tMyNane\103”的长度是:(B)8答题: A. B. C. D.C++中,char类型数据在内存的存储形式是:原码(B)反码(C)答题: A. B. C. D.设有变量定义int与表达式i==0i==j(B)!i&&!j答题: A. B. C. D.设有int a,b;下面()不是C++(B)b%a答题: A. B. C. D.执行下列程序段后,x的值为5的表达式是(m=5,x=++mm=5,m+1,x=m答题: A. B. C. D.表示整变量a不在到10的范围内的正确表达式是((A)10<a<1(B)a<1,a>10答题: A. B. C. D.int a=1,b=2,c=3,d=4;则条件表达式(B)答题: A. B. C. D.设有int a=1,double x=0.5y=0.2(A)a=x==y(B)a=x*y答题: A. B. C. D.运算符优先级从高到低顺序的正确排列是(、&&>、%、>、&&、*=答题: A. B. C. D.可以正确表示a、之中只有一个大于(A)a>b>k(B)a<k,b>k答题: A. B. C. D.有说明int a=0;double x=5.16;以下语句中,(x=a/x;(B)x=x/a;答题: A. B. C. D.逗号表达式(a=5/2,a*5a*5的值为(B)10答题: A. B. C. D.表达式1/2*2.0的值是:)(A)2(B)答题: A. B. C. D.设有变量定义int j;与表达式i==0(A)i==j(B)i&&j答题: A. B. C. D.下列字符列中,合法的浮点型常量是:(A)6e10(B)12e0.5答题: A. B. C. D.以下运算符中,自右向左结合的运算符是:(A)&&(B)答题: A. B. C. D.答题: A. B. C. D.x是整型变量,不能够表达数学关系式x>6&&x<10!(x<=6)&&!(x>=10)答题: A. B. C. D.设有说明int x,y;下列字符列中,不合法的赋值表达式是:(A)x=y=10x=x+10=y答题: A. B. C. D.以下运算符中,优先级最低的是:(A)+=(B)答题: A. B. C. D.设变量定义int x6,y,z;执行语句(B)1答题: A. B. C. D.计算表达式x=a=4,b=x++后,变量,4,4(B)4,45答题: A. B. C. D.以下运算符中,优先级最低的是:(A)&&(B)参考答案:B答题: A. B. C. D.已知int x=1,y=0;执行下面程序段后,if(x){if(x>0)y=1;}else y=-1(B)0(C)答题: A. B. C. D.已知int x=1,y=0,;执行下面程序段后,if(x)if(y)w=x&&y;else w=y;(B)-1(C)1答题: A. B. C. D.设有函数关系为y=,下面选项中能正确表示上述关系为(=1;(B)y=-1>=0)if(!=0)==0)y0;x>0答题: A. B. C. D.语句while(a>b)a--;等价于()。
《高级语言程序设计()》作业2020.2教学中心:专业层次:高起专科学号:姓名注意事项:1. 本作业共五大题,满分100分;2. 请将以上各项信息填写清楚,否则,作0分处理;3.以word文件附件形式提交,不能以图形文件附件形式提交。
交作业文件的名字必须含有你的名字(例如:vb作业(2020.2)王小兵)。
(建议以2003版word附件形式提交)4. 所有答案直接写在答案栏上,答在其它地方无效。
一.判断题(如正确打√,否则,打×。
)1.源程序中的错误一般分为编译错误、运行错误和逻辑错误等三种。
2. Write_1 和学校$ 是不正确的变量名。
3.若一个整型变量说明了之后没有给它赋值,则它的值为0。
4.判别ch是否为小写字母,若是,输出“yes”;否则,输出“No”的块结构条件语句为: If Asc(ch)>=97 And Asc(ch)<=122 ThenWriteLine (“Yes”)ElseWriteLine(“No”)End If5. 输入结构变量的值就是输入该变量的各个元素的值。
6.函数过程定义中必须有一个赋值语句把表达式的值赋给函数过程名。
7. 事件是由系统预先设置好或者在程序中由编程者自己设计的,它能够被对象识别的动作。
8. 从文件取出一组数据以流的方式存放到程序的变量或数组中称为向流写入数据。
9. 文件流类FileStream用于打开和关闭文件,并提供对文件按字节的读/写操作。
10.若某个模块中以关键字public定义子过程,则只能在该模块中可以调用该过程。
答案栏:1.× 2.√ 3.√ 4.√ 5.√ 6.× 7.√ 8.× 9.√10.×二.单项选择题1.设X为整型变量,不能正确表达1< X < 5的逻辑表达式是( )。
A. 1< X <5B. X=2 or X=3 or X=4C. 1<X And X <5D. Not (X<=1) And Not (X>=5)2.设有数组说明语句:Dim c( 10) AS Integer,则下面表示数组c的元素选项中()是错误的。
C语言程序设计习题二填空题:(1)已知:int a[3] = {1, 2, 3}; 则 *(a+1)+2 的值为 ___4___。
(2)下面程序段的输出结果是__B C_。
int a=1;s witch(a<=1) {case 0:printf("A");case 1:printf("B");default:printf("C"); }(3)以下程序运行后的输出结果是____3___。
main(){int a=5,b=4,c=3,d=2;if (a>b>c)printf(“%d\n”,d);else if( (c-1 >=d) = =1 )printf( “%d\n”,d+1);elseprintf( “%d\n”,d+2); }(4)下面程序段的输出结果是___3___int a[][3]={{1,2,3},{1,2,3},{1,2,3}};int s=0,m,n;for(m=0;m<=2;m++)for(n=0;n<=3;n++){ if (a[m][n]= =2) break;s+= a[m][n]; }printf(“%d”,s);(5)以下程序运行后的输出结果是__24____#include <stdio.h>int f ( int );void main( ){ int a = 4;printf(“%d\n”, f(a) );}int f( int a ){ return ( a= =0 ) ? 1: a*f(a-1);}(6)下列函数用起泡法对一维整数数组中的数据进行从小到大的排序,请填空。
void sort(int a[],int n){ int i, j;for( i=0; i < n-1; i ++)for ( _j=0;j<n-2-i;jj++ )if(_a[j]>[j+1]) { t= a[j]; a[j] = a[j+1]; a[j+1] = t; }}(7)下面程序将一组数据写入”file.dat”文件中,请填空。
C语言程序设计”平时作业(三)“C语言程序设计”平时作业(三)1.求Fibonacci数列的前40个数。
(参考例题5.8)#includeint main(){int f1=1,f2=1,f3;int i;printf("%12d\n%12d\n",f1,f2);for(i=1;i<=38;i++){f3=f1+f2;printf("%12d\n",f3);f1=f2;f2=f3;}return 0;}2.求100——200之间的全部素数(参考例题5.10)#include#includeint main(){int n,k,i,m=0;for(n=101;n<=200;n=n+2){k=sqrt(n);for(i=2;i<=k;i++)if(n%i==0)break;if(i>=k+1){printf("%d",n);m=m+1;}if(m%10==0)printf("\n");}printf("\n");return 0;}3.有一个函数:x (x<1)y= 2x-1 (1<=x<=10)3x-11 (x>=10)写程序,输入x的值,输出y相应的值。
(参考第4章习题第6题)#includeint main(){int x,y;printf("请输入X的值");scanf("%d",&x);if(x<1){y=x;printf("x=%3d, y=x=%d\n" ,x,y);}else if(x<10){y=2*x-1;printf("x=%d, y=2*x-1=%d\n",x,y);}else{y=3*x-11;printf("x=%d,y=3*x-11=%d\n",x,y);}return 0;}4.输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身。
《高级语言程序设计()》作业2014.3教学中心:专业层次:学号:姓名:一.判断题(如正确打√,否则,打×。
)1.存储数据不属于数据处理功能。
N2. Write_1 和学校$ 是正确的变量名。
Y3.若一个整型变量说明了之后没有给它赋值,则它的值为0。
Y4.判别ch是否为小写字母,若是,输出“yes”;否则,输出“No”的块结构条件语句为:Y If Asc(ch)>=97 And Asc(ch)<=122 ThenWriteLine (“Yes”)ElseWriteLine(“No”)End If5.。
输入结构变量的值就是输入该变量的各个元素的值Y6.函数过程定义中必须有一个赋值语句把表达式的值赋给函数过程名。
N7. 事件是由系统预先设置好或者在程序中由编程者自己设计的,它能够被对象识别的动作。
Y8. 从文件取出一组数据以流的方式存放到程序的变量或数组中称为向流写入数据。
N9. 文件流类FileStream用于打开和关闭文件,并提供对文件按字节的读/写操作。
Y10. 在VB中不可以把类型说明符放在变量名的末尾来说明变量的类型。
N二.单项选择题1.下列变量名中错误的是( “年龄” )。
2.设X为整型变量,不能正确表达1< X < 5的逻辑表达式是(1< X <5 )。
3.设有数组说明语句:Dim c( 10) AS Integer,则下面表示数组c的元素选项中(c(11) )是错误的。
4.在过程的形式参数前面加上关键字( ByVal ),则该参数说明为引用参数。
D.5. 设已定义函数过程f,它有三个实型传值参数;设a,b和c为实型变量,则调用该函数的正确形式为( f a+b, b+c, c+a )。
6.若使命令按钮不可见,可以设置Visible属性的值为(False)。
7.要使单选按钮RadioButton处于选中或未选中状态,需由( Checked )属性来决定。
C++编程作业 一、 编程题(共4小题,每小题10分,共40分) 1. 有一个经销商内部管理系统,请根据以下信息设计出能够表示商店信息的结构体,结构体名称为Distributor。商店信息类型如下: a) 商店内部编号:英文符号为id,数据类型为字符串; b) 商店名称:英文符号为name,数据类型为字符串; c) 商店地址:英文符号为address,数据类型为字符串; d) 商店联系人:英文符号为contact,数据类型为字符串; e) 商店联系电话:英文符号为tel,数据类型为字符串。 答:Struct Distributor { a) string id; b) string name; c) string address; d) string contact; e) string tel }
2. 有一个合同管理系统,请设计出能够表示合同基本信息的结构体,结构体名称为ContractInfo。学生信息类型如下: a) 合同号:英文符号为id,数据类型为字符串; b) 合同名称:英文符号为title,数据类型为字符串; c) 合同日期:英文符号为date,数据类型为整型; d) 合同金额:英文符号为amount,数据类型为双精度浮点型。。 答:Struct ContractInfo { a) string id; b) string title; c) int date; d) double amount }
3. 假设有一个采用ASCII编码的纯大写英文字符串,比如ABCDEXYZ。请问不使用已有的函数,如何将其改为纯小写的形式。(文字说明即可,不要编写代码。编写代码者,该题不得分。) 答: 两个函数如直译一样,将指定字符串变更大小写后新生成字符串存储; 注意:这里是生成新的字符串来存放,所以不能作为操作来使用; upper()负责将指定字符串变为大写,可以单独使用,也可以放到print函数中; lower()负责将指定字符串变为小写,可以单独使用,也可以放到print函数中. 4. 给定正整数n,求1*2*3*…*n。(注:本题已提供一部分起始代码,请根据题意补充完整即可;无需任何输出结果。) int n = 100; // 给定的正整数 int result; // 最终结果写入该变量 (请补充) result = 1; int i = 2; while(i < 100){ result *= i; }
华南理工大学计算机学院高级语言程序设计(C++I)试卷学生证号:____________________姓名:____________________注意事项:1.本试卷共五大题,满分100分,考试时间120分钟;2.所有答案请写在答卷上,试卷和答卷同时提交;一.单项选择题(每小题2分,共20分)1.下列字符列中,合法的长整型常量是:(A) 4.18e3(B) 0.46793(C) 4L(D) 9567382.设变量x,y,a,b,c,d的值为1,计算表达式(x=a!=b)&&(y=c!=d)后,变量x,y的值分别是:(A) 0,0(B) 0,1(C) 1,0(D) 1,13.以下运算符中,优先级最低的是:(A) *=(B) ?::(C) &&(D) >=4.在C++中,char类型数据在内存的存储形式是:(A)原码(B)反码(C)补码(D) ASCII码5.设变量定义int x = 6, y, z;执行语句y = z = x--; y = x == z;后变量y的值是:(A) 0(B) 1(C) 5(D) 66.下面的变量定义中,不正确的是:(A) char *p=”string”(C) float *q=&b, b;(B) int a[]={‘A’,’B’,’C’}(D) doudle a, *r=&a;7.设有变量定义doubleb[5], *p=b;能正确表示b数组中元素地址的表达式是:(A) b(B) b+5(C) *b[0](D) &b8.设有变量定义int a[]={2,3,5,9,11,13},*pa=a, w;执行语句w=++(*++pa);后,变量w和*pa的值是:(A) 3和3 (B) 4和3 (C) 3和4 (D) 4和49.语句if(w)…; else…;中的表达式w的等价表示是:(A) w==0(B) w==1(C) w!=0(D) w!=110.设有函数说明和变量定义:intmax(intx,inty);int(*p)(int,int)=max;inta,b;以下正确调用函数的代码是:(A) *p(a,b) (B) p(a,b) (C) *(p(a,b)) (D) p(&a,&b)- 1 -二.简答题(每小题2分,共20分)1.语句cout<<setfill(‘*’)<<set(10)<<1234;的输出结果是?2.表述问题“x或y中有一个小于z”的C++表达式是?3.设有变量定义int y=2;表达式y+=y*=2*y+1的值是?4.设有变量定义char s[10]=”student”, *p=s;则*(p+7)的值?5.设有变量定义int w[]={1,3,5,7,9}, *p=w;表达式*(p+2)**(w+3)的值?6.变量定义int (*pf)(int);中pf是?7.设有变量定义int a[3][2]={1,2,3,4,5,6}, (*p)[2]=a;表达式**(p+2)的值?8.设有变量定义struct{int x; int y; }d[2]={{1,4},{3,5}};表达式d[0].y / d[0].x * (d+1)->x的值?9.设有函数调用语句Avegare(a,50,ave)的功能是求整型数组前50个元素的平均值ave。
高级语言程序设计(VB)·VB第二次作业1.任何控件都有()属性。
A. NameB. ValueC. CaptionD. Text答题: A. B. C. D.参考答案:A2.以下对象中不可以作为父对象的是()A. Image图像框B. PictureBox图片框C. Form窗体D. Frame框架答题: A. B. C. D.参考答案:A3.Width 和Height是窗体的()。
A. 对象B. 事件C. 属性D. 方法答题: A. B. C. D.参考答案:C4.要使命令按钮失效,则可以设置()属性的值为False来实现。
A. ValueB. EnabledC. VisibleD. Cancel答题: A. B. C. D.参考答案:B5.下列一维数组说明语句错误的是()。
A.Dim b(100) AS DoubleB.Dim b(-5 To 0) AS ByteC.Dim b(-10 To ?20) AS IntegerD.Dim b(5 To 5) AS String答题: A. B. C. D.参考答案:C6.若有数组说明语句为:Dim a(-3 To 8),则数组a包含元素的个数是()。
A. 5B. 8C. 11D. 12答题: A. B. C. D.参考答案:D7.以下属于VB合法的数组元素是()。
A. x[5]B. x5C. x(5)D. x{5}小强很忙_小百货欢迎您!小强我只是个卖杂货的,家居日用百货批发,电脑周边配件、手机周边配件、摆地摊货源批发、2元店_5答题: A. B. C. D.参考答案:C8.下列数组说明语句中正确的是()。
A. Dim a(-1 To 5,8)AS StringB. Dim a(n,n)AS IntegerC. Dim a(0 To 8,5 To ?1)AS SingleD. Dim a(10,-10)AS Double答题: A. B. C. D.参考答案:A9.设有数组说明语句:Dim b(-1To2,-2To2),则数组b中元素的个数是()。
v1.0 可编辑可修改高级语言程序设计C++第一章基本数据与表达式1.一个最简单的 C++ 程序,可以只有一个()。
A.库函数 B.自定义函数 C.main 函数 D.空函数答题: A. B. C. D. (已提交)参考答案:C问题解析:2.用 C++ 语言编写的源程序要成为目标程序必须要经过()。
A.解释 B.汇编 C.编辑 D.编译答题: A. B. C. D. (已提交)参考答案:D问题解析:3. C++ 程序中的简单语句必须以()结束。
A.冒号 B.分号 C.空格 D.花括号答题: A. B. C. D. (已提交)参考答案:B问题解析:4.程序中把表达式“a+”写为“a*”,是()错误。
A.编译 B.连接 C.运行 D.逻辑答题: A. B. C. D. (已提交)参考答案:D问题解析:5.在下列选项中,全部都是C++ 关键字的选项为()。
A.while IF Static B.break char goC.sizeof case extern D.switch float integer答题: A. B. C. D. (已提交)参考答案:C问题解析:6.按C++标识符的语法规定,合法的标识符是()。
A._abc B.new C.π D."age"答题: A. B. C. D. (已提交)参考答案:A问题解析:7.下列正确的八进制整型常量表示是()。
A.0a0 B.015 C.080 D.0x10答题: A. B. C. D. (已提交)参考答案:B问题解析:8.下列错误的十六进制整型常量表示是()。
A.0x11 B.0xaf C.0xg D.0x1f答题: A. B. C. D. (已提交)参考答案:C问题解析:9.可以用于命名变量的标识符是()。
A.3x B.const C.name_2 D.答题: A. B. C. D. (已提交)。
华南理工大学计算机学院高级语言程序设计(C++ II)试卷学生证号:____________________ 姓名: ____________________【注意事项】1. 严格遵守考场纪律,考试时间120分钟。
2. 试卷共6页。
答卷上必须填写参考人所属的学院名称、专业及本人姓名。
3. 试题总分100分。
所有作答必须按题号对应填写在答卷上,否则无效。
4. 考试结束,试卷、答卷和草稿纸必须完整无损地一起递交。
一、给出一个有理数类,实现有理数的加法运算。
请按后列要求作答。
1.仔细、完整地阅读程序,对应题号填写注释。
注释的内容包括两部分:1.本行的语句是什么;2.简述其功能或特点。
例如,注释可以这样写:“友员函数;重载加法运算符(+)。
”(每小题1分,共10 分)#include<iostream.h>#include<math.h>#include<iomanip.h>class Rational{ private:int numerator,denominator; //(例)数据成员;表示一个有理数的分子、分母。
int maxcommonFactor(int,int);void simplify( );void DtoF(double,int&,int&);public:Rational(int n,int d=1);Rational(double x=0);~Rational();void plus(const Rational&);Rational operator + (const Rational&); //(例)公有成员函数;重载加法运算符(+)。
void showFraction( );operator double( );friend ostream &operator<<(ostream &output, Rational &t);};2.对应题号把函数的定义补充完整。
1 《C程序设计》期末复习练习题及参考答案(1) 一、单项选择题 1. 以下不能对二维数组a进行正确初始化的语句是 A)int a[2][3]={0}; B)int a[][3]={{1,2},{0}}; √C)int a[2][3]={{1,2},{3,4},{5,6}}; D)int a[][3]={1,2,3,4,5,6};
2.有以下程序片断 float fun(int x,int y) { return(x+y);} main(){ int a=2,b=5,c=8; printf("%3.0f\n",fun((int)fun(a+c,b),a-c)); } 程序运行后的输出结果是: A)编译出错 √B)9 C)21 D)9.0
3.若有以下调用语句,则不正确的fun函数的函数原型是 main() { … int a[50],n; … fun(n, &a[9]); … } A)void fun(int m, int x[]); B)void fun(int s, int h[41]); C)void fun(int p, int *s); √D)void fun(int n, int a);
4.下面程序片段的执行结果是: #define MAX 10 int a[MAX], i; main( ) { printf("\n"); sub1( ); sub3(a); sub2( ); sub3(a); }
sub2( ) {int a[MAX], i, max=5; for(i=0; i} sub1( ) 2
{for(i=0; isub3(int a[ ]) { int i; for(i=0; iprintf("\n"); }
A) 0 2 4 6 8 10 12 14 16 18 0 1 2 3 4 10 12 14 16 18 B) 0 1 2 3 4 0 2 4 6 8 10 12 14 16 18 C) 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 √D) 0 2 4 6 8 10 12 14 16 18 0 2 4 6 8 10 12 14 16 18
一、分析程序,写输出结果1.#include<iostream.h>#include<math.h>void main(){int m, k, i ;for( m=1; m<=10; m+=2 ){ k = m/3;for( i=2; i<=k; i++ )if( m%i ) cout << m << " ";}}解:m 的取值为1,3,5,7,9 对应k的取值为0,1,1,2,3, 第二个for循环:只有当k=2和k=3时才执行,当k=2,i=2,m%i等于1为真,输出m为7 当k=3,i=2,m%i等于1为真,输出m为9, i=3,m%i等于0为假,无输出结果为: 7 92.#include<iostream.h>void fun();void main(){int i;for(i=1;i<5;i++) fun();cout<<endl;}void fun(){ static int a;int b=2;a += 2 ;cout<< a+b <<'\t';}解:主函数循环4次调用fun(); fun()函数内定义了静态局部变量a,所以a的值会保持到下一次调用。
结果为:4,6 ,8,103.#include<iostream.h>int fun(int n){ if(n==0) return 1;return 2*fun(n-1);}void main(){ int a=5;cout<<fun(a)<<endl;}解:fun()函数用递归求出2的n次方,结果为: 324.#include<iostream.h>void main(){ char *cp="word";for (int i=0 ; i<4; i++ )cout<<cp+i << '\t';}解:主函数4次循环中,第一次输出cp+i,此时cp指向“word”的第一个字符,所以输出“word”,之后cp依次往后移一个位置,输出此位置及后面的字符结果为:word ord rd d二、.根据程序功能填空。
1. 程序把10个数存储到一维数组a中,并求该数组中最大值。
#include<iostream.h>void main(){ int max;int a[10]={76,55,95,87,85,83,65,90,77,85};int *p= a ;max=*p;for( ; p< &a[10] ; p++)if( *p>max ) max= *p ;cout<<"max= "<<max<<endl;}2.下面程序的功能是输出1至100之间每位数字的乘积大于每位数的和的数。
例如,45两位数字的乘积为4×5=20,和为4+5=9。
#include<iostream.h>void main(){ int n, k=1, s=0, m;for(n=1; n<=100; n++){ k=1; s=0;m=n ;while( m>0 ){ k*=m%10;s+=m%10;m=m/10 ;}if(k>s) cout<<n<<'\t';}}3.程序对输入的n求s = 1 + 1/23 + 1/33 + … + 1/n3 。
#include<iostream.h>void main(){double s; int i, n;cout<<" n= "; cin>>n;s = 0;for (i=1; i<n ; i++)s= s+/(i*i*i);cout<<"s="<<s<<endl;}4.函数create从键盘输入整数序列,以输入0为结束。
按输入顺序建立单向链表并返回表头。
struct node{int data; node * next;};node * create(){node *head, *p, *q;p = new node;head = p;cin>>p->data;while( p ){q = p;p=->data ;q->next = p;cin>>p->data;}if (head == p) head = NULL;else p=0 ;;return head;}5.以下程序求方程的全部整数解:3x + 2y - 7z = 5 ( 0 ≤ x, y, z ≤ 100 )#include<iostream.h>void main(){ int x, y, z ;for( x=0; x<=100; x++ )for( y=0; y<=100; y++ ){ if( ( z=3*x+2*y-5 ) % 7 )continue ;z=z/7 ; //求出z的值if( z>=0 && z<100 ) //检查z的范围cout << "x=" << x << " y=" << y << " z=" << z << endl ;}}三、程序设计1. 编写函数输出以下形状的图形,其中构成图形的数字和输出的行数通过参数传送。
12 2 23 3 3 3 34 4 4 4 4 4 4答: void PrintFigure(int num, int row) {int i, j, k;num = num - row +1;for(i = 1; i <= row; i++) {j = 2*i-1;for(k = 1;k <= j; k++) cout<<num<<" "; num++; cout<<endl;}}2.请编程序,输入两个正整数啊a和b(a<b),输出a、b之间所有整数的因数(除1和本身)。
每行输出数据不超过10个。
例如,若输入a为6,b为8,则输出格式要求如下:the factors of 6 :2 3the factors of 7 :no factorthe factors of 8 :2 4答: #include<iostream.h> #include<math.h>void out(int a, int b) {int i, j, count;for(i = a; i <= b; i++) {count = 0;printf("\nthe factor of %d\n", i);for(j = 2; j < i; j++) {if(i % j == 0) {printf("%s%d", (count == 0 ? "":","), j);count++;}}if(count == 0)printf("no factor");}}3.请编程序,找出1至99之间的全部同构数。
同构数是这样一组数:它出现在平方数的右边。
例如:5是25右边的数,25是625右边的数,所以5和25都是同构数。
答:#include<iostream> using namespace std;void main() {int i, j, k; k = 10;for(i = 1; i <= 99; i++) {if(i == k) k *= 10;j = i * i;if(j % k == i)cout<< i << " ";}cout<<endl;}4. 编写一个程序,实现如下功能:(1)从键盘输入a op b。
其中a, b为数值;op为字符,限制为+、-、*、/ 。
(2)调用函数count(op,a,b),计算表达式a op b的值。
由主函数输出结果。
答:#include "stdafx.h" #include <iostream> using namespace std; class cal { public:int add(int x,int y) //加法定义函数 { return x+y; }int sub(int x,int y) //减法定义函数 { return x-y; }int mul(int x,int y) //乘法定义函数 { return x*y; }int div(int x,int y) //除法定义函数 { if(y==0)cout<<"0不能作除数"<<endl; else return x/y; } };int main() {cal c; //定义对象 int x,y;char ID;cout<<"请输入要计算的两个数及运算符,中间用空格隔开比如2 3 +"<<endl; cin>>x>>y>>ID;switch (ID) { case '+': cout<<c.add(x,y)<<endl;break;case '-': cout<<c.sub(x,y)<<endl;break;case '*': cout<<c.mul(x,y)<<endl;break;case '/': cout<<c.div(x,y)<<endl; }; return 0; }5. 编写一个程序,实现如下功能:(1)输入k(<100)个整数到数组x[100]中;(2)计算k个数的平均值及大于平均值的元素个数。
答:#include<iostream.h> voidmain() {Int x[100],k,i,n;Double sum=0.0,ave;cout<<"HowmanyData?\n";cin>>k;for(i=0;i<k;i++) { cin>>x[i];sum+=x[i];}ave=sum/k;n=0;for(i=0;i<k;i++)//求大于平均值的元素个数if(x[i]>ave)n++; cout<<"average="<<ave<<"\n";cout<<"Thereare"<<n<<"elementslargethanaverage.\n";}6. 定义函数void reversion(int ary[],int size);逆置数组ary的元素。