第32题
int vector_add(double* a, double* b, double* c, unsigned int n);
功  能:求两个给定向量的和.
参  数:a, b为表示两个向量的一维数组;c为存放求和结果向量的数组(数组空间已由调用者分配好);n为向量的分量个数.
返回值:>=0,成功返回;<0,不成功返回.
分  值:

//第32题
int vector_add(double* a, double* b, double* c, unsigned int n){unsigned int i;for(i=0;i<n;i++){*(c+i)=*(a+i)+*(b+i);}if(i==n){return 0;}return -1;
}

第33题
double* vector_add(double* a, double* b, unsigned int n);
功  能:求两个给定向量的和.
参  数:a, b为表示两个向量的一维数组;n为向量的分量个数.
返回值:求和结果向量数组的首地址(结果向量数组的空间由函数的实现者分配).
分  值:

//第33题
double* vector_add1(double* a, double* b, unsigned int n){unsigned int i;double c[100];double *p=c;for(i=0;i<n;i++){*(p+i)=*(a+i)+*(b+i);}return p;
}//测试程序
void main()
{//调用vector_add(),vector_add1()函数double a[3]={1,2,3};double b[3]={3,4,5};double c[3];if(vector_add(a,b,c,3)>=0){for(int i=0;i<3;i++){printf("%f  ",c[i]);}printf("\n");}for(int i=0;i<3;i++){printf("%f  ",*(vector_add1(a,b,3)+i));}
}

第34题
int matrix_add(double* a, double* b, double* c, unsigned int m, unsigned int n);
功  能:求两个给定矩阵的和.
参  数:a, b为表示两个矩阵的二维数组;c为存放求和结果向量的数组(数组空间已由调用者分配好);m, n为二维数组的行数和列数.
返回值:>=0,成功;<0,不成功.
分  值:

//第34题
int matrix_add(double* a, double* b, double* c, unsigned int m, unsigned int n){unsigned int i,k;for(i=0;i<m;i++){for(k=0;k<n;k++){*(c+i*n+k)=*(a+i*n+k)+*(b+i*n+k);}}if(i==m&&k==n){return 0;}return -1;
}

第35题
double* matrix_add(double* a, double* b, unsigned int m, unsigned int n);
功  能:求两个给定矩阵的和.
参  数:a, b为表示两个矩阵的二维数组;m, n为二维数组的行数和列数.
返回值:求和结果向量数组的首地址(结果向量数组的空间由函数的实现者分配).
分  值:

//第35题
double* matrix_add(double* a, double* b, unsigned int m, unsigned int n){unsigned int i,k;double c[100];for(i=0;i<m;i++){for(k=0;k<n;k++){*(c+i*n+k)=*(a+i*n+k)+*(b+i*n+k);}}return c;
}//测试程序
void main()
{//调用matrix_add()、matrix_add()函数double a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};double b[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};double c[3][4];if(matrix_add((double*)a,(double*)b,(double*)c,3,4)>=0){for(int i=0;i<3;i++){for(int k=0;k<4;k++){printf("%.2f  ",c[i][k]);}printf("\n");}}for(int i=0;i<3;i++){for(int k=0;k<4;k++){printf("%.2f  ",*(matrix_add((double*)a,(double*)b,3,4)+i*4+k));}printf("\n");}
*/
}

第36题
int prime(unsigned int n);
功  能:判断给定自然数是否为素数.
参  数:n为给定的自然数.
返回值:0,不是素数;1,是素数.
分  值:

//第36题
int prime(unsigned int n){unsigned int i,k;k=(unsigned int)sqrt((double) n);for(i=2;i<=k;i++){if(n%i==0)break;}if(i>k){return 1;}return 0;
}

第37题
int abs_prime(unsigned int n);
功  能:判断给定偶数位自然数是否为绝对素数(给定自然数左右两半的数对换以后仍为素数).
参  数:n为给定的偶数位自然数.
返回值:0,不是绝对素数;1,是绝对素数.
分  值:

//第37题int abs_prime(unsigned int n){unsigned int n1=n;unsigned int n2=n;int i=1;//表示n的位数while(n1/10!=0){n1=n1/10;i++;}if(i%2==0){int k;for(k=0;k<(i/2);k++){n2=n2/10;}unsigned int n3,n4;for(k=0;k<(i/2);k++){n3=n2*10;}n4=n-n3;for(k=0;k<(i/2);k++){n4=n4*10;}unsigned int n5=n4+n2;printf("%d-----",n5);if(prime(n)==1&&prime(n5)==1){return 1;}else{return 0;}}return 0;
}

第38题
int Goldbach_conjecture(unsigned int n, unsigned int *a, unsigned int *b);
功  能:验证哥德巴赫猜想,将一个给定的大于5的偶数表示为两个素数的和.
参  数:n为给定的大于5的偶数;a, b为存放拆分成的两个素数的数组的首地址,拆成的一对素数分别放在数组a和b的相同下标单元中(如8拆成3和5,则a[0]=3,b[0]=5).
返回值:>=0,成功;<0,不成功.
分  值:

//第38题
int Goldbach_conjecture(unsigned int n, unsigned int *a, unsigned int *b){unsigned int i;int k=0;for(i=1;i<n/2;i++){if(prime(i)==1&&prime(n-i)==1){*(a+k)=i;*(b+k)=n-i;k++;}}if(k>0){return k;}return -1;
}
//测试程序
void main()
{unsigned int a[100];unsigned int b[100];printf("%d\n",abs_prime(17));if(Goldbach_conjecture(8,a,b)>0){for(int i=0;i<Goldbach_conjecture(8,a,b);i++){printf("%d-----%d\n",*(a+i),*(b+i));}}}

转载于:https://blog.51cto.com/junzhichen/1672223

C语言 基础60题(5)相关推荐

  1. C语言 基础60题(2)——二维数组操作

    本篇内容主要是是对二维数组操作,掌握二维数组作为参数传递时,如何用指针表示. 第10题 double  sum_2diagonal(double* array_2d,  unsigned int m, ...

  2. 实体类 接口_Java 语言基础编程题 (二维数组, 五子棋游戏, 实体类和接口)

    原文:Java 语言基础编程题 (二维数组, 五子棋游戏, 实体类和接口, 视频讲解) 这里分享三道编程题, 下面是我个人的视频讲解 二维数组, 五子棋游戏, 实体类和接口_哔哩哔哩 (゜-゜)つロ ...

  3. c语言基础编程题文库,C语言基础编程题资料.doc

    C语言基础编程题资料.doc |5-1 求幂之和 15 分本题要求编写程序,计算 sum21 22 23 cdots 2nsum2122232n.可以调用 pow 函数求幂.输入格式输入在一行中给出正 ...

  4. C语言基础编程题——喝水问题,译码问题

    C语言基础编程题--喝水问题,译码问题 有这样一道智力题:"某商店规定:三个空汽水瓶可以换一瓶汽水.小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?"答案是5瓶,方法如下:先用9 ...

  5. c语言基础编程题山东科技大学,C语言练习题〔山东科技大学吐血整理〕.doc

    C语言练习题[山东科技大学吐血整理] 数学11-1 C语言平时训练题 1.算术基本运算 Description 计算两整数x和y(0 Input 输入只有一行. Output 输出为多行,按顺序每行输 ...

  6. C语言--基础编程题(各公司面试笔试真题)

    下面我会给大家分享下各公司的面试笔试当中的真题,我挑出来的算是相对比较简单基础的一些题目,也适合基础水平的在学编程小白进行练习,大家现在,也动动脑,动动手,把下面我给出来的这些题目,大家自己动手做做, ...

  7. java二维数组模拟用户登录_Java 语言基础编程题 (二维数组, 五子棋游戏, 实体类和接口)...

    这里分享三道编程题, 下面是我个人的视频讲解我的解题思路以及代码运行演示https://www.zhihu.com/video/1253424180936724480 1. 编程实现以下需求: 定义一 ...

  8. c语言基础编程题讲解,C语言入门例题讲解

    C语言入门例题讲解 C语言是一门通用计算机编程语言,应用广泛.C语言的设计目标是提供一种能以简易的方式编译.处理低级存储器.产生少量的机器码以及不需要任何运行环境支持便能运行的'编程语言.今天就为大家 ...

  9. java 自定义语言 解析_视频讲解 Java 语言基础编程题(自定义异常类,IO 流)

    第一题>点击这里查看学生信息管理系统的视频讲解知乎视频​www.zhihu.com 基于学生信息管理系统增加以下两个功能:自定义学号异常类和年龄异常类,并在该成员变量不合理时产生异常对象并抛出. ...

最新文章

  1. macbookair有没有touchbar_买 MacBook Pro 到底要不要选 Touch Bar 版?看清需求后再下手...
  2. vc++ mfc 非客户区 描绘线_决战客户端技术
  3. python进阶(第三章1) 字典
  4. 开源管理项目管理_避免开源项目管理中的不良做法
  5. vue.js环境部署
  6. Web安全攻防 渗透测试实战指南3
  7. 好用的python工具_Python哪些工具好用?老男孩Python开发
  8. ArcGIS js api中关于比例尺单位改为中文的方式
  9. maven install报The forked VM terminated without saying properly goodbye. VM crash or System.exit call
  10. 【概率论】指数分布 Exponential Distribution
  11. 小学是否有计算机专业,小学计算机教学计划
  12. 数据结构课设 - 平衡二叉树的演示
  13. mysql字符集与校对规则设置_mysql中的字符集和校对规则(mysql校对集)
  14. 收集一些有用的php函数---from cmstop
  15. Android进程优先级处理大全
  16. 人工智能大作业——人脸识别系统(最终)
  17. Linux系统与虚拟机安装
  18. Vue 点击复制粘贴文本
  19. JAVA计算机毕业设计汽车客运站票务管理系统(附源码、数据库)
  20. 【推荐系统】召回离线评估指标Hit Ratio

热门文章

  1. map和vector的迭代器失效问题(某公司招聘笔试试题)
  2. linux服务 ssh
  3. BZOJ2115 [Wc2011] Xor
  4. android之View坐标系(view获取自身坐标的方法和点击事件中坐标的获取)
  5. 8种常见机器学习算法比较
  6. 汽车电子及ADAS安全部分相关测试标准
  7. 基于多种服务的地理位置查询系统
  8. AVFoundation和 GPUImage初探
  9. DeepLearning tutorial(1)Softmax回归原理简介+代码详解
  10. 一次线上内存报警的研究