高级语言讲义2008软专(仅高级语言部分)

news/2024/7/24 5:59:13 标签: 数据结构, 算法, 考研, c语言

1.我们可以用两个整型变量表示分数,其中一个表示分子,另一个表示 分母,例如: m=3, n=5,表示3/5 .编一程序,输入两个变量m (表示分子), n (表示分母), 求其最简分数。例如:输入m=3, n=9,输出1/3 

#include <stdio.h>

int gcd(int a,int b) {
	if(b==0)
		return a;
	else
		return gcd(b,a%b);
}

int main() {
	int up,down;
	scanf("%d %d",&up,&down);
	printf("%d/%d",up/gcd(up,down),down/gcd(up,down));
}

2.写一个函数,判断给定的整数是否只由1,3, 5, 7, 9组成。

#include <stdio.h>

int judge(char *str) {
	int i=0;
	while(str[i]!='\0')
		if(str[i]=='1'||str[i]=='3'||str[i]=='5'||str[i]=='7'||str[i]=='9')
			i++;
		else
			return 0;
	return 1;
}

int main() {
	char *str[10];
	scanf("%s",&str);
	printf("%d",judge(str));
}

3.有100个正整数存放在数组中,试编一函数,要求:

(1)把所有的偶数按从小到大的顺序放在数组的前半部

(2)把所有的奇数按从小到大的顺序放在数组的后半部

#include <stdio.h>

void sort(int *a,int n) {
	int temp;
	for(int i=0; i<n-1; i++)
		for(int j=0; j<n-i-1; j++)
			if(a[j]>a[j+1]) {
				temp=a[j];
				a[j]=a[j+1];
				a[j+1]=temp;
			}
}

void sort1(int *a,int n) {
	int temp;
	for(int i=0; i<n-1; i++)
		for(int j=0; j<n-i-1; j++)
			if(a[j]%2==1) {
				temp=a[j];
				a[j]=a[j+1];
				a[j+1]=temp;
			}
}

int change(int *a, int n) {
	sort1(a,n);
	int i;
	for(i=0; i<n; i++)
		if(a[i]%2!=0)
			break;
	sort(a,i);
	sort(a+i,10-i);
}

int main() {
	int flag=0;
	int arr[10]= {1,4,3,2,5,9,7,6,2,8};
	change(arr,10);
	for(int i=0; i<10; i++)
		printf("%d ",arr[i]);
}

4.写一个递归函数,实现对有序整型数组(有100个元素)进行两分法检索。

#include <stdio.h>

int binarySearch(int arr[], int low, int high, int target) {
	if (low > high)
		return -1;
	int mid = (low + high) / 2;
	if (arr[mid] == target)
		return mid;
	else if (arr[mid] > target)
		return binarySearch(arr, low, mid - 1, target); 
	else
		return binarySearch(arr, mid + 1, high, target);  
}

http://www.niftyadmin.cn/n/5419172.html

相关文章

按图搜索淘宝商品(拍立淘)

使用淘宝拍立淘接口的步骤通常包括&#xff1a; 注册成为淘宝开放平台的开发者&#xff1a;在淘宝开放平台网站上注册账号并完成认证。 创建应用以获取API密钥&#xff1a;在您的开发者控制台中创建一个应用&#xff0c;并获取用于API调用的密钥&#xff0c;如Client ID和Clie…

2024年【化工自动化控制仪表】新版试题及化工自动化控制仪表考试试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 化工自动化控制仪表新版试题是安全生产模拟考试一点通总题库中生成的一套化工自动化控制仪表考试试题&#xff0c;安全生产模拟考试一点通上化工自动化控制仪表作业手机同步练习。2024年【化工自动化控制仪表】新版试…

蓝桥杯2023年-岛屿个数(dfs,染色法)

题目描述 小蓝得到了一副大小为 M N 的格子地图&#xff0c;可以将其视作一个只包含字符‘0’&#xff08;代表海水&#xff09;和 ‘1’&#xff08;代表陆地&#xff09;的二维数组&#xff0c;地图之外可以视作全部是海水&#xff0c;每个岛屿由在上/下/左/右四个方向上相…

python编程从入门到实践答案二

python编程从入门到实践 第五章 if语句1.条件测试&#xff1a;2.更多的条件测试&#xff1a;3.外星人颜色#1&#xff1a;4. 外星人颜色#2&#xff1a;5. 外星人颜色#3&#xff1a;6. 人生的不同阶段&#xff1a;7. 喜欢的水果&#xff1a;8. 以特殊方式跟管理员打招呼&#xff…

UE5.1_TimeLine

UE5.1_TimeLine 问题引入&#xff1a;UE的Timeline可以在一个场景下无限制的使用多少次&#xff1f;一个动画流程的Timeline的时间持续怎么算?TimeLine中嵌套Timeline的做法是否是合理的&#xff1f;

刷题DAY17 | LeetCode 110-平衡二叉树 257-二叉树的所有路径 404-左叶子之和

110 平衡二叉树&#xff08;easy&#xff09; 给定一个二叉树&#xff0c;判断它是否是平衡二叉树。 &#xff08;平衡二叉树 是指该树所有节点的左右子树的深度相差不超过 1。&#xff09; 思路&#xff1a;递归法&#xff0c;用返回值为-1来表示非平衡二叉树 递归三步曲分…

git搜索历史上曾经的文本内容

文章目录 问题在命令行搜索历史内容参考 问题 我们知道&#xff0c;github有文本搜索功能&#xff1a; 比如想搜哪些文件内容包括 aaa &#xff0c;在搜索框中输入 aaa &#xff1a; 但是&#xff0c;如果是历史上曾经有过的文本&#xff0c;这个办法貌似不行。 比如文件 tes…

第十五单元日考技能

文章目录 第十五单元1.编写一个基于对象的程序&#xff0c;求长方体的体积&#xff0c;要求&#xff1a;2.编写strcpy函数&#xff08;10分&#xff09;3.建立一个类String,连接两个字符串后。具体要求&#xff1a; 第十五单元 1.编写一个基于对象的程序&#xff0c;求长方体的…