高级语言程序设计c 平时作业2019,《高级语言程序设计C》平时作业.doc

44cb7578e1df5412b94317daaa3307ba.gif《高级语言程序设计C》平时作业.doc

下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。

2.下载的文档,不会出现我们的网址水印。

3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。

文档包含非法信息?点此举报后获取现金奖励!

下载文档到电脑,查找使用更方便

5

积分

还剩页未读,继续阅读

关 键 词:高级语言程序设计C

高级语言程序设计C平时作业.doc

高级语言程序设计C

高级语言程序设计

高级语言程序设计

平时作业.doc

高级语言程序设计C 平时作业

高级语言程序设

资源描述:

一、分析程序,写输出结果

1. #include201709

#includevoid 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,9

2. #includevoid fun();

void main()

{int i;

for(i=1;i<5;i++) fun();

cout

{ if(n==0) return 1;

return 2*fun(n-1);

}

void main()

{ int a=5;

cout

{ char *cp="word";

for (int i=0 ; i<4; i++ )

cout

{ 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<

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

{double s; int i, n;

cout<>n;

s = 0;

for (i=1; i>p->data;

while( p->data )

{

q = p;

q= new node ;

q->next = p;

cin>>p->data;

}

if (head == p) head = NULL;

else q->next = NULL ;

free(p) ;

return head;

}

5.以下程序求方程的全部整数解:

3x + 2y - 7z = 5( 0 ≤ x, y, z ≤ 100 )

#includevoid 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<101 ) //检查z的范围

cout << "x=" << x << " y=" << y << " z=" << z << endl ;

}

}

三、程序设计

1. 编写函数

输出以下形状的图形,其中构成图形的数字和输出的行数通过参数传送。

1

2 2 2

3 3 3 3 3

4 4 4 4 4 4 4

答:#includevoid main () {

int i, n;

for (i = 0; i < 5; i++) {

for (n = 0; n < 2 * i - 1; n++) {

cout << i;

}

cout << endl;

}

}

2. 请编程序

输入两个正整数啊a和b(a#includevoid 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都是同构数。

答: #includeusing 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" #includeusing 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个数的平均值及大于平均值的元素个数。

答:

#includevoidmain () {

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的元素。例如实参数组原来为 [ 1,5,3,2,6,8,9,4 ],调用函数

reversion后变成为 [ 4,9,8,6,2,3,5,1 ]。

答:

void reversion ( int ary[], int size){

int temp;

for (int i = 0; i < size / 2; i++) {

temp = ary[i];

ary[i] = ary[size - 1 - i];

ary[size - 1 - i] = temp;

}

}

7. 输出数组

数组a包含50个整数,把a中所有的后项除以前项之商取整后存入数组b(即b[i]=a[i]/a[i-1],并且b[0]=a[0]/a[49]),最后按每行5个元素的格式输出数组b。

答:

#includevoid main () {

int a[ 50],b[5], i, ,j;

printf("请输入50个数");

for (i = 0; i < 50; i++) ;

scanf(" % d", & a[i]);

for (i = 9; i > 0; i - 2) {

for (j = 0; j < 5; j++) {

b[j] = a[i] % a[i - 1];

}

}

for (j = 0; j < 5; j++) {

for (i = 1; i < 5; i++) {

printf("%d", b[i];

printf("\n");

}

}

}

8. 编程程序

输出所有不超过100 的其平方具有对称性质的正整数(也称回文数)。输出格式如下:

number square

1 1

2 4

3 9

11 121

22 484

26 676

答:

#includeInt mainInt j = 0;

For(i = 0; j< 100; j++){

If(m[j] != m[i])

Break;

If(j >= i)

Printf(n, n * n);

}

Return o;

}

9. 编写程序

打印如下杨辉三角。

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

答:

#include#includeusing namespace std;

void main (){

const int m = 5;

int a[ m][m];

for (int i = 0; i < m; i++){

a[i][0] = 1;

a[i][i] = 1;

}

for (int j = 2; j < m; j++){

for (int k = 1; k < j; k++)

a[j][k] = a[j - 1][k - 1] + a[j - 1][k];

}

for (int i = 0; i < m; i++){

cout << setw(m - i);

for (int j = 0; j <= i; j++)

cout << a[i][j] << " ";

cout << endl;

}

}

10. 定义函数

计算长度为k的整型数组元素的平均值及大于平均值的元素个数。调用函数的语句为:

count(a,k,ave,num);

其中a是数组名,k是数组元素个数,ave返回的平均值,num返回大于平均值的元素个数。

答:#includecount(a, k, & ave,&num){

int count = 0, sum = 0;

int i;

for (i = 0; i < a; i++) {

sum += a[i];

}

ave = (float) sum / (float) a;

for (i = 0; i < a; i++) {

if (a[i] > ave) count++;

}

num = count;

}

展开阅读全文

温馨提示:

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。

2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。

3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。

4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。

5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。

6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。

7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

bb6249c6567dd4384e6ab3556cfc22ed.gif 

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

关于本文

本文标题:《高级语言程序设计C》平时作业.doc

链接地址:https://www.renrendoc.com/p-16523763.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值