c语言习题1124

  1. 分别定义函数求圆的面积和周长。

  2. 写一个函数,分别求三个数当中的最大数。

  3. 写一个函数,计算输入n个数的乘积

  4. 一个判断素数的函数,在主函数输入一个整数,输出是否为素数的信息

  5. 写一个函数求n! ,利用该函数求1!+2!+3!+4!+。。。+10!的和。

  6. Sn=1+1/1!+1/2!+1/3!+1/4!+…+1/n!,主函数中输入n值,求sn的结果。

  7. 写一个函数输出斐波那契数列前10项,并求和

  8. 8、定义一个求平均成绩的函数,实现在一个一维数组score内放5个学生成绩,调用函数求得平均成绩

  9. 有两个班级,分别有5和8名学生,定义average(int b[],int n)函数,调用average函数,分别求这两个班的学生的平均成绩。

  10. 定义一个函数,实现对字符串的逆序打印。

  11. 从键盘为a[5][2]整型数组输入10个整数,调用函数找出该二维数组当中的最小值、最大值、平均值,并输出

  12. 写一个函数,使给定的3*3的二维数组转置,即行列互换。

  13. 编写函数求区间[100,500]中所有的回文数。

  14. (附加题)输入4个学生3门课的成绩,分别用函数实现下列功能:

 

//1、分别定义函数求圆的面积和周长。
#include<stdio.h>
#define pi 3.14
double mj(double r){
	return pi*r*r;
}
double zc(double r){
	return 2 * pi * r;
}
int main(){
	double r;
	printf("输入圆的半径:");
	scanf("%lf", &r);
	printf("圆的面积为:%.2f\n", mj(r));
	printf("圆的周长为:%.2f\n", zc(r));
	return 0;
	
}




//2、写一个函数,分别求三个数当中的最大数。
#include <stdio.h>
int findmax(int a, int b, int c){
	int max = a;
	if (b > max){
		max = b;
	}
	if (c > max){
		max = c;
	}
	return max;
}

int main(){
	int x, y, z;
	printf("请输入三个数字:");
	scanf("%d %d %d", &x, &y, &z);
	printf("最大的数为:%d\n", findmax(x, y, z));
	return 0;
}



//3、写一个函数,计算输入n个数的乘积
#include <stdio.h>
int cj(int n){
	int result = 1;
	int num;
	for(int i = 0; i < n; i++){
		printf("请输入第%d个数:", i + 1);
		scanf("%d", &num);
		result *= num;
	}
	return result;
}
int main(){
	int num;
	printf("请输入n的值:");
	scanf("%d", &num);
	printf("结果为:%d\n", cj(num));
}



//4.一个判断素数的函数,在主函数输入一个整数,输出是否为素数的信息
#include <stdio.h>
#include <stdbool.h>
bool sushu(int num){
	if (num <= 1){
		return false;
	}
	for (int i = 2; i*i <= num; i++){
		if (num%i == 0){
			return false;
		}
	}
	return true;
}
int main(){
	int num;
	printf("请输入一个整数:");
	scanf("%d", &num);
	if (sushu(num)){
		printf("%d是素数\n", num);
	}
	else{
		printf("%d不是素数\n", num);
	}
	return 0;
}



//5.写一个函数求n!, 利用该函数求1! + 2! + 3! + 4! + 。。。 + 10!的和
#include<stdio.h>
int jc(int n){
	if (n == 0 || n == 1){
		return 1;
	}
	else
	{
		return n*jc(n - 1);
	}
}
int main(){
	int sum = 0;
	for (int i = 1; i <= 10; i++){
		sum += jc(i);
	}
	printf("sum=%d\n", sum);
	return 0;
}


//6.Sn = 1 + 1 / 1! + 1 / 2! + 1 / 3! + 1 / 4! + … + 1 / n!,
//主函数中输入n值,求sn的结果。
#include <stdio.h>

double hanshu(int n) {
	double sum = 0;
	double fenzi = 1;
	for (int i = 1; i <= n; i++) {
		fenzi *= i;
		sum += 1 / fenzi;
	}
	return sum + 1;
}

int main() {
	int n;
	printf("enter n: ");
	scanf("%d", &n);
	printf("sum= %6lf\n",hanshu(n));
	return 0;
}




//7、写一个函数输出斐波那契数列前10项,并求和
#include<stdio.h>
int fib(int n){
	if (n == 1 || n == 2)
		return 1;
	else
		return fib(n - 1) + fib(n - 2);
}
int main(){
	int n = 10, i, j, sum = 0;
	for (i = 1, j = 0; i <= n; i++, j++){
		if (j % 2 == 0 && j != 0)printf("\n");
		printf("%d\t", fib(i));
		sum += fib(i);
	}
	printf("\nsum=%d\n", sum);
}


//8、定义一个求平均成绩的函数,实现在一个一维数组score内放5个学生成绩,
//调用函数求得平均成绩
#include <stdio.h>

double averageScore(int score[], int n) {
	int sum = 0;
	for (int i = 0; i < n; i++) {
		sum += score[i];
	}
	return (double)sum / n;
}

int main() {
	int score[5];
	printf("请输入5个学生成绩:\n");
	for (int i = 0; i < 5; i++) {
		scanf("%d", &score[i]);
	}
	double avg = averageScore(score, 5);
	printf("平均成绩为:%.2lf\n", avg);
	return 0;
}


//9、有两个班级,分别有5和8名学生,定义average(int b[], int n)函数,
//调用average函数,分别求这两个班的学生的平均成绩。
#include <stdio.h>

double average(int b[], int n) {
	int sum = 0;
	for (int i = 0; i < n; i++) {
		sum += b[i];
	}
	return (double)sum / n;
}

int main() {
	int class1[5] = { 85, 90, 88, 92, 87 };
	int class2[8] = { 78, 85, 90, 92, 88, 75, 80, 86 };

	double avg1 = average(class1, 5);
	double avg2 = average(class2, 8);

	printf("第一个班的平均成绩为:%.2lf\n", avg1);
	printf("第二个班的平均成绩为:%.2lf\n", avg2);

	return 0;
}


//10、定义一个函数,实现对字符串的逆序打印。
#include <stdio.h>
#include <string.h>

void reversePrint(char *str) {
	int length = strlen(str);
	for (int i = length - 1; i >= 0; i--) {
		printf("%c", str[i]);
	}
	printf("\n");
}

int main() {
	char str[100];
	printf("输入一个字符串:");
	scanf("%s", str);
	printf("原有字符串:%s\n", str);
	printf("逆序后的字符串:");
	reversePrint(str);
	return 0;
}


//11、从键盘为a[5][2]整型数组输入10个整数,
//调用函数找出该二维数组当中的最小值、最大值、平均值,并输出
#include <stdio.h>

void findMinMaxAvg(int a[5][2]) {
	int min = a[0][0];
	int max = a[0][0];
	int sum = 0;

	for (int i = 0; i < 5; i++) {
		for (int j = 0; j < 2; j++) {
			if (a[i][j] < min) {
				min = a[i][j];
			}
			if (a[i][j] > max) {
				max = a[i][j];
			}
			sum += a[i][j];
		}
	}

	double avg = (double)sum / 10;

	printf("二维数组:\n");
	for (int i = 0; i < 5; i++) {
		for (int j = 0; j < 2; j++) {
			printf("%d ", a[i][j]);
		}
		printf("\n");
	}

	printf("最小值:%d\n", min);
	printf("最大值:%d\n", max);
	printf("平均值:%.2lf\n", avg);
}

int main() {
	int a[5][2];
	printf("请输入10个整数:\n");
	for (int i = 0; i < 5; i++) {
		for (int j = 0; j < 2; j++) {
			scanf("%d", &a[i][j]);
		}
	}

	findMinMaxAvg(a);

	return 0;
}



//12、写一个函数,使给定的3 * 3的二维数组转置,即行列互换。
#include <stdio.h>

void transpose(int arr[3][3]) {
	int temp;
	for (int i = 0; i < 3; i++) {
		for (int j = i + 1; j < 3; j++) {
			temp = arr[i][j];
			arr[i][j] = arr[j][i];
			arr[j][i] = temp;
		}
	}
}

int main() {
	int arr[3][3] = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };

	printf("转置前的数组:\n");
	for (int i = 0; i < 3; i++) {
		for (int j = 0; j < 3; j++) {
			printf("%d ", arr[i][j]);
		}
		printf("\n");
	}

	transpose(arr);

	printf("转置后的数组:\n");
	for (int i = 0; i < 3; i++) {
		for (int j = 0; j < 3; j++) {
			printf("%d ", arr[i][j]);
		}
		printf("\n");
	}

	return 0;
}

//13、编写函数求区间[100, 500]中所有的回文数。
#include <stdio.h>
int huiwen(int n){
	int flag = 1;
	int g, b;
	g = n % 10;
	b = n / 100;
	if (g == b)
		flag = 1;
	else
	{
		flag = 0;
		return flag;
	}
}
int  main(){
	int i;
	for (i = 100; i <= 500; i++){
		if (huiwen(i))
			printf(" %d", i);
	}
}




//14.输入4个学生3门课的成绩,分别用函数实现下列功能:
#include <stdio.h>

// 计算所有分数的平均值
float calculateTotalAverage(int scores[][3], int numStudents) {
	float total = 0;
	for (int i = 0; i < numStudents; i++) {
		for (int j = 0; j < 3; j++) {
			total += scores[i][j];
		}
	}
	return total / (numStudents * 3);
}

// 计算每个学生的平均分
void calculateStudentAverages(int scores[][3], int numStudents) {
	printf("每个学生的平均分:\n");
	for (int i = 0; i < numStudents; i++) {
		float average = 0;
		for (int j = 0; j < 3; j++) {
			average += scores[i][j];
		}
		average /= 3;
		printf("学生 %c 的平均分为 %.2f\n", 'A' + i, average);
	}
}

// 计算每门课程的平均分
void calculateSubjectAverages(int scores[][3], int numStudents) {
	printf("每门课程的平均分:\n");
	for (int j = 0; j < 3; j++) {
		float average = 0;
		for (int i = 0; i < numStudents; i++) {
			average += scores[i][j];
		}
		average /= numStudents;
		printf("第 %d 门课程的平均分为 %.2f\n", j + 1, average);
	}
}

int main() {
	int scores[4][3] = {
		{ 80, 90, 70 },
		{ 88, 76, 100 },
		{ 90, 90, 70 },
		{ 100, 70, 90 }
	};

	float totalAverage = calculateTotalAverage(scores, 4);
	printf("所有分数的平均值为 %.2f\n", totalAverage);

	calculateStudentAverages(scores, 4);

	calculateSubjectAverages(scores, 4);

	return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/184677.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

电脑如何禁止截屏

禁止电脑截屏是一项重要的安全措施&#xff0c;可以保护用户隐私和防止恶意软件的使用。以下是几种禁止电脑截屏的方法&#xff1a; 形式一&#xff1a; 一刀切&#xff0c;全部禁止截屏 可以在域之盾软件后&#xff0c;点击桌面管理&#xff0c;然后选择禁止截屏。就能禁止所…

zerotier 入门及初始使用

官网终端下载地址 https://www.zerotier.com/download/ 配置 创建网络 到默认的控制中心创建网络 https://my.zerotier.com/ 点击进入,将网络ID复制 加入网络 MacOS 将上面的网络ID复制到下方进行输入 Windows Linux # xxxxxxxxxxxxxx 网络节点ID sudo zerotier-cli join xx…

绽放独特魅力,点亮美好生活

2023年10月至11月&#xff0c;由益田社区党委主办、深圳市罗湖区懿米阳光公益发展中心承办&#xff0c;深圳市温馨社工服务中心协办的“2023年益田社区益田佳人--女性成长课堂”项目顺利完成&#xff0c;此项目分为四个主题&#xff0c;分别是瑜伽、健身操、收纳、花艺技能&…

大语言模型概述(一):基于亚马逊云科技的研究分析与实践

大型语言模型指的是具有数十亿参数&#xff08;B&#xff09;的预训练语言模型&#xff08;例如&#xff1a;GPT-3, Bloom, LLaMA)。这种模型可以用于各种自然语言处理任务&#xff0c;如文本生成、机器翻译和自然语言理解等。 大语言模型的这些参数是在大量文本数据上训练的。…

【漏洞复现】好视通视频会议系统(fastmeeting) toDownload.do接口存在任意文件读取漏洞 附POC

漏洞描述 “好视通”是国内云视频会议知名品牌,拥有多项创新核心技术优势、多方通信服务牌照及行业全面资质 [5] ,专注为政府、公检法司、教育、集团企业等用户提供“云+端+业务全场景”解决方案。用全国产、高清流畅、安全稳定的云视频服务助力各行各业数字化转型。 其视频…

2016年10月3日 Go生态洞察:Go 1.7中的子测试和子基准测试

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

Sectigo

随着互联网的普及和技术的飞速发展&#xff0c;网络安全问题引起重视。这时&#xff0c;有一家名为Sectigo(原Comodo CA)的公司应运而生&#xff0c;致力于为企业和个人提供最先进、最可靠的网络安全解决方案。 Sectigo(原Comodo CA) 成立于2008年&#xff0c;总部位于美国加利…

深度学习图像风格迁移 - opencv python 计算机竞赛

文章目录 0 前言1 VGG网络2 风格迁移3 内容损失4 风格损失5 主代码实现6 迁移模型实现7 效果展示8 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 深度学习图像风格迁移 - opencv python 该项目较为新颖&#xff0c;适合作为竞赛课题…

css引入的三种方式

css引入的三种方式 一、内联样式二、外部样式表三、 内部样式表总结trouble 一、内联样式 内联样式也被称为行内样式。它是将 CSS 样式直接应用于 HTML 元素的 style 属性中的一种方式 <p style"color: blue; font-size: 16px;">这是一个带有内联样式的段落。&…

安卓手机SD卡不小心删除了怎么办?几步轻松恢复数据!

随着科技的不断发展&#xff0c;安卓手机已经成为了我们生活中不可或缺的一部分。然而&#xff0c;在使用安卓手机的过程中&#xff0c;我们有时会不小心将重要的文件或者照片删除掉&#xff0c;这无疑会给我们的生活带来不便。那么&#xff0c;当安卓手机的SD卡不小心被删除了…

数字化转型没钱?没人?没IT?低代码平台轻松帮你搞定

随着数字技术的不断渗透&#xff0c;数字化已经不仅仅是一个趋势&#xff0c;而是深入人心的日常生活部分。在这样的时代背景下&#xff0c;企业面临的挑战也愈发严峻&#xff1a;如何不断创新&#xff0c;满足用户日益增长的业务需求&#xff1f; 传统的开发方式&#xff0c;随…

基于51单片机超声波测距汽车避障系统

**单片机设计介绍&#xff0c; 基于51单片机超声波测距汽车避障系统 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于51单片机的超声波测距汽车避障系统是一种用于帮助汽车避免碰撞和发生事故的设备&#xff0c;以下是一个基本…

操作系统的基本特性--并发、共享、虚拟、异步

批处理系统具有高资源利用率和系统吞吐量&#xff1b;分时系统能够获得及时响应&#xff1b;实时系统具有实时特征。而这三种系统都具有并发、共享、虚拟和异步四个基本特征 一、并发 OS通过并发提高系统中的资源利用率&#xff0c;增加系统的吞吐量 1.并行和并发 并行&…

11.7统一功能处理

一.登录拦截器 1.实现一个普通的类,实现HeadlerInterceptor接口,重写preHeadler方法. 2.将拦截器添加到配置中,并设定拦截规则. 二.访问前缀添加 方法1: 方法2:properties 三.统一异常处理 以上返回的是空指针异常,如果是别的异常就不会识别,建议加上最终异常 . 四.统一数据格…

Dockerfile-CentOS7.9+Python3.11.2

本文为CentOS7.9下安装Python3.11.2环境的Dockerfile # CentOS with Python3.11.2 # Author xxmail.com# build a new image with basic centos FROM centos:centos7.9.2009 # who is the author MAINTAINER xxmail.comRUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/…

2022年MathorCup高校数学建模挑战赛—大数据竞赛A题58到家家政服务订单分配问题求解全过程文档及程序

2022年MathorCup高校数学建模挑战赛—大数据竞赛 A题 58到家家政服务订单分配问题 原题再现&#xff1a; “58 到家”是“58 同城”旗下高品质、高效率的上门家政服务平台&#xff0c;平台向用户提供家政保洁、保姆、月嫂、搬家、维修等众多生活领域的服务。在家政保洁场景中…

App Inventor 2 文本转数字

App Inventor 2 是弱语言类型&#xff0c;文本和数字之间不用刻意去转换&#xff0c;之间赋值就可以了。文本赋值给数字变量如下&#xff1a; 运行结果&#xff1a;124 注意&#xff1a;数字变量初始化的时候要给一个数字的初始值&#xff0c;表明它是数字。 如果文本中含有非…

项目需求,我们加入了这个样式 float: left; 那么就会看到全部div处于同一行。但是实际应用中我们又有特殊div 需要单独 放置在一行

项目场景&#xff1a; 背景&#xff1a; 项目需求&#xff0c;我们加入了这个样式 float: left&#xff1b; 那么就会看到全部div处于同一行。但是实际应用中我们又有特殊div 需要单独 放置在一行 问题描述 提问题&#xff1a; 项目需求&#xff0c;我们加入了这个样式。 …

欲更新浏览器的Mac用户请注意,AMOS又出一招新“骗术”

近日&#xff0c;Malwarebytes发现有一种专门针对Mac操作系统&#xff08;OS&#xff09;的数据窃取程序正通过伪造的网页浏览器更新程序进行分发。Malwarebytes称这与其通常的技术、战术和程序大不相同&#xff0c;该恶意软件可以模仿 Safari 和谷歌 Chrome 浏览器。 网络安全…

【Hello Go】Go语言并发编程

并发编程 概述基本概念go语言的并发优势 goroutinegoroutine是什么创建goroutine如果主goroutine退出runtime包GoschedGoexitGOMAXPROCS channel无缓冲的channel有缓冲的channelrange和close单向channel 定时器TimerTicker Select超时 概述 基本概念 并行和并发概念 并行 &…