当前位置: 首页 > article >正文

c语言练习13周(1~5)

  1. 输入任意整数n求以下公式和的平方根。

  2. 读取一系列的整数  X,对于每个  X,输出一个  1,2,…,X  的序列。

  3. 编写double  fun(int  a[M][M])函数,返回二维数组周边元素的平均值,M为定义好的符号常量。

  4. 编写double  fun(int  a[M])函数,返回数组a中所有元素的平均值,并将数组中所有大于平均值的元素按原次序移至数组前部,所有小于等于平均值元素移至数组后部,M为定义好的符号常量。

  5. 编写fun函数,求两整数的最大公约和最小公倍数。

#include<stdio.h>
#include<math.h>
int main() {
	int n,i;
	double s = 0;
	scanf("%d", &n);
	for (i = 1; i <= n; i++) {
		s += log(i);
	}
	printf("%lf", sqrt(s));
	return 0;
}

 读取一系列的整数  X,对于每个  X,输出一个  1,2,…,X  的序列。

题干读取一系列的整数  X,对于每个  X,输出一个  1,2,…,X  的序列。
对于最后一行的整数  0,不作任何处理。
输入样例5
7
3
0
输出样例1,2,3,4,5
1,2,3,4,5,6,7
1,2,3
#include<stdio.h>
#include<math.h>
int main() {
	int n, i;
	while (scanf("%d", &n), n) {
		printf("1");
		for (i = 2; i <= n; i++) {
			printf(",%d", i);
		}
		printf("\n");
	}
	return 0;
}

 编写double  fun(int  a[M][M])函数,返回二维数组周边元素的平均值,M为定义好的符号常量。

题干编写double  fun(int  a[M][M])函数,返回二维数组周边元素的平均值,M为定义好的符号常量。
若M为3,a数组为
1  2  6
4  5  6
7  8  9
调用函数返回5.375
//只填写要求的函数
//#define M 3
double  fun(int  a[M][M]) {
	double s = 0;
	int i, j;
	for (i = 0; i < M; i++) {
		for (j = 0; j < M; j++) {
			if (i == 0 || j == 0 || i == M - 1 || j == M - 1) {
				s += a[i][j];
			}
		}
	}
	return s / (4 * M - 4);
}

 编写double  fun(int  a[M])函数,返回数组a中所有元素的平均值,并将数组中所有大于平均值的元素按原次序移至数组前部,所有小于等于平均值元素移至数组后部,M为定义好的符号常量。

题干编写double  fun(int  a[M])函数,返回数组a中所有元素的平均值,并将数组中所有大于平均值的元素按原次序移至数组前部,所有小于等于平均值元素移至数组后部,M为定义好的符号常量。
若M为8,a原数组为[2,1,5,7,4,9,3,6]
调用函数后返回4.625000,a数组变为[5,7,9,6,2,1,4,3]
//只填写要求的函数
double  fun(int  a[M]) {
	int i = 0,average,b[M],c[M],bi=0,ci=0;
	double s = 0;
	for (i = 0; i < M; i++) {
		s += a[i];
	}
	average = s / M;
	for (i = 0; i < M; i++) {
		if (a[i] > average) {
			b[bi++] = a[i];
		}
		else {
			c[ci++] = a[i];
		}
	}
	i--,bi--,ci--;
	while (ci >= 0) {
		a[i--] = c[ci--];
	}
	while (bi >= 0) {
		a[i--] = b[bi--];
	}
	return s / M;
}

 编写fun函数,求两整数的最大公约和最小公倍数。

题干编写fun函数,求两整数的最大公约和最小公倍数。
void  main()
{
        int  a,b,gy,gb;
        scanf("%d%d",&a,&b);
        fun(a,b,&gy,&gb);
        printf("%d  %d\n",gy,gb);
}
//只填写要求的函数
void fun(int a, int b, int* gy, int* gb) {
	int i=a<b?a:b;
	for (i; i > 0; i--) {
		if (a % i == 0 && b % i == 0) {
			break;
		}
	}
	*gy = i;
	*gb = (a * b) / i;
}


http://www.kler.cn/a/152962.html

相关文章:

  • 【MATLAB源码-第91期】基于matlab的4QAM和4FSK在瑞利(rayleigh)信道下误码率对比仿真。
  • Kafka(一)在WSL单机搭建Kafka伪集群
  • 京东数据平台(数据运营)-2023年京东智能穿戴设备运营数据分析
  • QLabel实现点击事件
  • 实施全链路压测的步骤是怎样的?
  • 【LeetCode:2336. 无限集中的最小数字 | 数据结构设计】
  • XUbuntu22.04之安装OBS30.0强大录屏工具(一百九十五)
  • C++概念相关练习题
  • 2021年12月14日 Go生态洞察:Go 1.18 Beta 1 发布与泛型的引入
  • 【详细版】基于AWS EC2使用Docker安装部署Superset v2.0
  • 九章量子计算机:探索量子世界的革命性工具
  • uniapp视频倍速播放插件,uniapp视频试看插件——sunny-video使用文档
  • 【Python表白系列】这个情人节送她一个漂浮的爱心吧(完整代码)
  • Matlab 点云线性指数计算(加权)
  • 深入理解数据结构:链表
  • python高级练习题库实验1(B)部分
  • 软件架构的4+1视图
  • 如何使用.pth训练模型
  • C# WPF上位机开发(第一个应用)
  • 推荐几款python在线学习和电子书网站