【编程基础】025.C语言中函数在解题中的应用(一)
创始人
2025-05-29 03:25:44
0

文章目录

  • C语言中函数的应用
    • 1、自定义函数处理最大公约数与最小公倍数
    • 2、自定义函数求一元二次方程
    • 3、自定义函数处理素数
    • 4、自定义函数之字符串反转

C语言中函数的应用

1、自定义函数处理最大公约数与最小公倍数


题目描述

写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果两个整数由键盘输入。

输入格式

两个数

输出格式

最大公约数 最小公倍数

样例输入

6 15

样例输出

3 30

解题思路

该题与本专栏内第九题思路一模一样,因此不做赘述,有兴趣可以点击下面链接查看求最大公约数和最小公倍数的方法。
【编程基础】009.输入两个正整数m和n,求其最大公约数和最小公倍数。

AC代码(C语言)

#include
int gcd(int a,int b){//求最大公约数if(a%b==0) return b;else return gcd(b,a%b);
} 
int lowestcomMulti(int a,int b){//最小公倍数return a/gcd(a,b)*b;
}
int main(){
//	freopen("data.in.txt","r",stdin);int a,b;scanf("%d%d",&a,&b);printf("%d %d\n",gcd(a,b),lowestcomMulti(a,b));return 0;
} 

2、自定义函数求一元二次方程


题目描述

求方程 的根,用一个函数分别求当b^2-4ac大于0、等于0、和小于0时的根,并输出结果。从主函数输入a、b、c的值。

输入格式

a b c

输出格式

x1=? x2=?

样例输入

4 1 1

样例输出

x1=-0.125+0.484i x2=-0.125-0.484i

解题思路

一元二次方程均可转化为下列通用形式:ax²+bx+c=0 (a≠0)判别式Δ=b²-4ac求根公式:x1=(-b+√Δ)/2a,x2=(-b-√Δ)/2a韦达定理:x1+x2=-b/a,x1*x2=c/a
根据求根公式,我们可以求出方程的两个根。这里要注意当Δ小于0的情况,需要用复数来表示根。

AC代码(C语言)

#include
#include
void solveEquations(double a,double b,double c){double tmp=b*b-4*a*c;//判别式Δ=b²-4acdouble x1,x2;//表示两个根 if(tmp==0) {x1=(-b)/(2*a);x2=x1;}else {x1=((-b)+sqrt(fabs(tmp)))/(2*a);//求根公式:x1=(-b+√Δ)/2a,x2=((-b)-sqrt(fabs(tmp)))/(2*a);//x2=(-b-√Δ)/2a}if(tmp<0){printf("x1=%.3lf+%.3lfi ",-b/2/a,sqrt(fabs(tmp))/2/a);printf("x2=%.3lf-%.3lfi\n",-b/2/a,sqrt(fabs(tmp))/2/a);}elseprintf("x1=%.3lf x2=%.3lf\n",x1,x2);
}	int main(){double a,b,c;scanf("%lf%lf%lf",&a,&b,&c);solveEquations(a,b,c);return 0; 
}

3、自定义函数处理素数


题目描述

写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息。

输入格式

一个数

输出格式

如果是素数输出prime 如果不是输出not prime

样例输入

97

样例输出

prime

AC代码(C语言)

#include
#include
//素数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
int isPrime(int n){//判断是不是素数if(n<2) return 0;for(int i=2;i*i<=n;i++){if(n%i==0) return 0;}return 1;
}int main(){int n;scanf("%d",&n);if(isPrime(n)){printf("prime\n");}else{printf("not prime\n");}return 0; 
}

4、自定义函数之字符串反转


题目描述

写一函数,使输入的一个字符串按反序存放,在主函数中输入并输出反序后的字符串(不包含空格)。

输入格式

一行字符

输出格式

逆序后的字符串

样例输入

123456abcdef

样例输出

fedcba654321

AC代码(C语言)

#include
#include
void reverse(char str[105]){int n=0,j=0;char tmp;//字符串的最后一位是'\0',从而得到字符串的长度nwhile(str[n]!='\0'){n++;}//将字符串前半部分和后半部分交换位置for(int i=0;itmp=str[i];str[i]=str[n-1-i];str[n-1-i]=tmp;}}int main(){char str[105];scanf("%s",str);reverse(str);puts(str);return 0; 
}

相关内容

热门资讯

使用YOLO部署哨岗相机 流程 一.模型选取 将YOLO和Faster RCNN进行搭配,通过多次实验ÿ...
大蒜观察日记 大蒜观察日记3篇  【导语】大蒜虽然是一种很不起眼的植物,但是它的生命力很强,无论在任何的环境下都可...
四年级观察植物的日记 四年级观察植物的日记范文  观察植物的日记需要怎么写呢?同学们是否有观察过植物的生长过程呢?不妨写下...
同一片天空共眠,同一个梦想奋斗... 同一片天空共眠,同一个梦想奋斗《大抠车始歌》(1) Eng...
Vue 3.0 Data选项 #概览 非兼容:data 组件选项声明不再接收纯 JavaScript object...
Java中原子操作的实现原理 Java中原子操作的实现原理1. 什么是原子操作2. 处理器如何是实现操作的原子性2.1 使用总线锁...
春节的街头小学日记 春节的街头小学日记  今天是大年初一,天气晴朗,妈妈带着我一早来到了兴宁路。  街上可热闹了,车水马...
通用实习日记 通用实习日记集合10篇通用实习日记 篇1  4 月18 日  今天是为期三周实习的第一天,心情有点紧...
【JUC进阶】如何合理设置线程... 文章目录1. 前言2. CPU 密集型3. IO密集型4. 实际情况 1. 前言 线程池ÿ...
JavaScript 学习笔记 0、前端三要素 HTML(结构):超文本标记语言ÿ...
《老山界》老师笔记 《老山界》老师笔记  当阅读完一本名著后,大家心中一定有不少感悟,记录下来很重要哦,一起来写一篇读书...
七年级日记 【精选】七年级日记三篇七年级日记 篇1  一次购物时,爸爸买了一瓶辣酱,到家里的时候,瓶子烈(裂)开...
去公园玩的日记400字 去公园玩的日记400字7篇  一天即将完结,这一天里,大家身边一定有一些有趣的见闻吧,这时候,最关键...
昆虫记读书笔记感悟300字 大学网欢迎大家的到来,本文是小编收集整理的《昆虫记》读书笔记感悟,以供参考。更多精彩内容尽在大学网,...
ESP32设备驱动-LM35温... LM35温度传感器驱动 文章目录 LM35温度传感器驱动1、LM35介绍2、硬件准备3、软件准备...
LeetCode分类刷题---... 动态规划509.斐波那契数列70.爬楼梯746.使用最小花费怕楼梯62.不同路径63.不同路径||3...
观察蚂蚁小学三年级日记 【精选】观察蚂蚁小学三年级日记四篇观察蚂蚁小学三年级日记 篇1  今天我准备出去玩,关门的时候发现门...
绿豆观察日记结尾 绿豆观察日记结尾  善于观察,走进生活,才能悟出生活的真理。下面就是小编整理的绿豆观察日记结尾,一起...
顶岗实习日记 顶岗实习日记  不知不觉中一天又要结束了,这一天里,有没有哪件事或某个人触动到我们呢?因此我们要写好...
蚕宝宝观察日记 蚕宝宝观察日记【热门】  一天的时间眼看就要结束了,一定有不少感想,是时候认真地写好日记了。那么日记...