如何解决C语言编程挑战中的问题?

这篇具有很好参考价值的文章主要介绍了如何解决C语言编程挑战中的问题?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

关键词:C语言, 刷题, 编程挑战, 平均身高, HTTP状态码, 数字三角形, 公务员面试, 序列插入, 筛选法, 图像相似度, 登录验证, 包含数字9, 奇偶统计, 统计成绩, 密码验证, 矩阵计算, 逆序输出


题目来源于牛客网

编程语言初学训练营_在线编程+题解_牛客题霸_牛客网


BC72 平均身高

BC74 HTTP状态码

BC75 数字三角形

BC76 公务员面试

BC77 有序序列插入一个数

BC78 筛选法求素数

BC79 图像相似度

BC80 登录验证

BC85 包含数字9的数

BC86 奇偶统计

BC87 统计成绩

BC89 密码验证

BC90 矩阵计算

BC92 逆序输出


C语言,C语面试刷题,HTTP状态码,数字三角形

#include <stdio.h>
int main()
{
	int i = 0;
	double score = 0.0;
	double sum = 0.0;
	for (i = 0; i < 5; i++)
	{

		scanf("%lf", &score);
		sum += score;
	}
	printf("%.2lf\n", sum / 5);
	return 0;
}


 C语言,C语面试刷题,HTTP状态码,数字三角形

#include <stdio.h>
int main()
{
	int s = 0;
	while (scanf("%d", &s) != EOF)
	{
		switch (s)
		{
		case 200:
			printf("OK\n");
			break;
		case 202:
			printf("Accepted\n");
			break;
		case 400:
			printf("Bad Request\n");
			break;
		case 403:
			printf("Forbidden\n");
			break;
		case 404:
			printf("Not Found\n");
			break;
		case 500:
			printf("Internal Server Error\n");
			break;
		case 502:
			printf("Bad Gateway\n");
			break;
		}
	}
	return 0;
}


1. 多组输入

2. 状态码比较多,且为整数,所以可以考虑用switch语句。

C语言,C语面试刷题,HTTP状态码,数字三角形

#include <stdio.h>
int main()
{
	int n = 0;
	while (scanf("%d", &n) != EOF)
	{
		int i = 0;
		//打印的行数
		for (i = 1; i <= n; i++)
		{
			//打印一行的内容
			int j = 0;
			for (j = 1; j <= i; j++)
			{
				printf("%d ", j);
			}
			printf("\n");
		}
	}
	return 0;
}


1. 多组输入

2. 分析清楚每行打印的内容就行了

C语言,C语面试刷题,HTTP状态码,数字三角形

#include <stdio.h>
int main()
{
	int i = 0;
	int sum = 0;
	int min = 100;//假设最小值是100
	int max = 0;//假设最大值是0
	int score = 0;
	for (i = 0; i < 7; i++)
	{
		scanf("%d ", &score);//输入
		sum += score;//求和
		if (score > max)
			max = score;//求最大值
		if (score < min)
			min = score;//求最小值
	}
	printf("%.2f\n", (sum - min - max) / 5.0);
	return 0;
}


1. 多组输入

2. 一边输入,一边求和,一边求最大值最小值

3. 再算平均值

C语言,C语面试刷题,HTTP状态码,数字三角形

C语言,C语面试刷题,HTTP状态码,数字三角形

#include <stdio.h>
int main()
{
	int n = 0;
	int arr[50] = { 0 };
	int m = 0;//要插入的数据
	//输入数据
	scanf("%d", &n);
	int i = 0;
	for (i = 0; i < n; i++)
	{
		scanf("%d", &arr[i]);
	}
	scanf("%d", &m);
	//处理
	for (i = n; i > 0; i--)
	{
		if (arr[i - 1 ] > m)
		{
			arr[i] = arr[i - 1];
		}
		else
		{
			arr[i] = m;
			break;
		}
	}
	//如果插入数字小于所有的数字
	if (i == 0)
	{
		arr[i] = m;
	}
	//打印
	for (i = 0; i < n + 1; i++)
	{
		printf("%d ", arr[i]);
	}
	return 0;
}


1. 多组输入

2. 从往前比较并一定数字找到合适的位置,就可以插入数字了,但是如果插入的数字比所有的元素都小,那就插入到第一个位置上。

C语言,C语面试刷题,HTTP状态码,数字三角形

#include <stdio.h>
//方法1:筛选法
int main()
{
	int n = 0;
	while (scanf("%d", &n)!=EOF)
	{
		int arr[n + 1];//变长数组
		int i = 0;
		//初始化数组的内容为0-n
		for (i = 0; i <= n; i++)
		{
			arr[i] = i;
		}
		for (i = 2; i <= n; i++)
		{
			int j = 0;
			for (j = i + 1; j <= n; j++)
			{
				if (arr[j] % i == 0)
				{
					arr[j] = 0;
				}
				
			}
		}
		int count = 0;
		for (i = 2; i <= n; i++)
		{
			if (arr[i] != 0)
				printf("%d ", arr[i]);
			else
				count++;
		}
		printf("\n%d\n", count);
	}
	return 0;
}


 另一种方法:

#include <stdio.h>
//方法2:试除法
int main()
{
	int n = 0;
	while (scanf("%d", &n) != EOF)
	{
		int i = 0;
		int count = 0;
		for (i = 2; i <= n; i++)
		{
			//判断i是否为素数
			//i——i-1之间的数字
			int j = 0;
			for (j = 2; j < i; j++)
			{
				if (i % j == 0)
				{
					count++;
					break;
				}
			}
			if (j == i)
			{
				printf("%d ", j);
			}
		}
		printf("\n%d\n", count);
	}
	return 0;
}


封装函数:

#include <stdio.h>
//方法2:试除法
int is_prime(int n)
{
	int i = 0;
	for (i = 2; i < n; i++)
	{
		if (n % i == 0)
			return 0;
	}
	return 1;
}
int main()
{
	int n = 0;
	//题目相当于打印n以内的素数
	while (scanf("%d", &n) != EOF)
	{
		int i = 0;
		int count = 0;
		for (i = 2; i <= n; i++)
		{
			if (is_prime(i) == 1)
			{
				printf("%d ", i);
			}
			else

			{
				count++;
			}
		}
		printf("\n%d\n", count);
	}
	return 0;
}


C语言,C语面试刷题,HTTP状态码,数字三角形

#include <stdio.h>
int main()
{
	int m = 0;
	int n = 0;
	int a[100][100] = { 0 };
	int	b[100][100] = { 0 };
	scanf("%d %d", &m, &n);
	int i = 0;
	int j = 0;
	int count = 0.0;
	//输入数据
	for (i = 0; i < m; i++)
	{
		for (j = 0; j < n; j++)
		{
			scanf("%d", &a[i][j]);
		}
	}
	for (i = 0; i < m; i++)
	{
		for (j = 0; j < n; j++)
		{
			scanf("%d", &b[i][j]);
		}
	}
	//求相同元素的个数
	for (i = 0; i < m; i++)
	{
		for (j = 0; j < n; j++)
		{
			if (a[i][j] == b[i][j])
			{
				count++;
			}
		}
	}
	//求相速度注意乘以100
	printf("%.2f\n", 100.0 * count / (m * n));
	return 0;
}


1. 输入二维数组

2. 求两个二维数组的相同元素个数

3. 求百分比要注意*100.0,小数点后保留2位

C语言,C语面试刷题,HTTP状态码,数字三角形

此题目要用到字符串函数,刚好,小雅兰最近才写完这些知识点

字符函数和字符串函数(上)——“C”_认真学习的小雅兰.的博客-CSDN博客

字符函数和字符串函数(下)——“C”_认真学习的小雅兰.的博客-CSDN博客

#include <stdio.h>
#include<string.h>
int main()
{
	char name[20] = { 0 };
	char password[20] = { 0 };
	while (scanf("%s %s", name, password) != EOF)
	{
		if (strcmp(name, "admin") == 0 && strcmp(password, "admin") == 0)
		{
			printf("Login Success!\n");
		}
		else

		{
			printf("Login Fail!\n");
		}
	}
	return 0;
}


1. 多组输入

2. 两个字符串比较大小不能使用==,得使用strcmp函数,比较的是两个字符串中对应字符的ASCII码值。

C语言,C语面试刷题,HTTP状态码,数字三角形

#include <stdio.h>
int main()
{
	int i = 0;
	int count = 0;
	for (i = 1; i <= 2019; i++)
	{
		//判断i是否包含9
		int t = i;
		while (t)
		{
			if (t % 10 == 9)
			{
				count++;
				break;
			}
			t = t / 10;
		}
	}
	printf("%d\n", count);
	return 0;
}


 1. 要判断一个数字是否包含9就看一下这个数字的某一位是否为9即可,只要某一位为9就停下里来。

C语言,C语面试刷题,HTTP状态码,数字三角形

#include <stdio.h>
int main()
{
	int n = 0;
	scanf("%d", &n);
	int i = 0;
	int odd = 0;//奇数的个数
	int even = 0;//偶数的个数
	for (i = 1; i <= n; i++)
	{
		if (i % 2 == 1)
		{
			odd++;
		}
		if (i % 2 == 0)
		{
			even++;
		}
	}
	printf("%d %d\n", odd, even);
	return 0;
}


另一种写法:

#include <stdio.h>
int main()
{
	int n = 0;
	scanf("%d", &n);
	int i = 0;
	int odd = 0;//奇数的个数
	if (n % 2 == 0)
		odd = n / 2;//如果n是偶数,则奇数和偶数一样多
	else
		odd = n / 2 + 1;//如果n是奇数,则奇数比偶数多1
	printf("%d %d\n", odd, n - odd);
	return 0;
}


C语言,C语面试刷题,HTTP状态码,数字三角形

#include <stdio.h>
int main()
{
	int n = 0;
	double sum = 0.0;
	double avg = 0.0;
	double min = 100.0;//假设的最小值
	double max = 0.0;//假设的最大值
	double score = 0.0;
	int i = 0;
	scanf("%d", &n);
	for (i = 0; i < n; i++)
	{
		scanf("%lf", &score);
		sum += score;
		if (score > max)
			max = score;
		if (score < min)
			min = score;
	}
	avg = sum / n;
	printf("%.2lf %.2lf %.2lf\n", max, min, avg);
	return 0;
}


 1. 输入的同时就最大值最小值和求和,然后计算想要的结果。

C语言,C语面试刷题,HTTP状态码,数字三角形

#include <stdio.h>
#include <string.h>
int main()
{
	char password1[100] = { 0 };
	char password2[100] = { 0 };
	scanf("%s %s", password1, password2);
	if (strcmp(password1, password2) == 0)
		printf("same\n");
	else

		printf("different\n");
	return 0;
}


1. 密码是字符串,字符串的比较函数使用strcmp函数。  

C语言,C语面试刷题,HTTP状态码,数字三角形

#include <stdio.h>
int main()
{
	int m = 0;
	int n = 0;
	scanf("%d %d", &m, &n);
	int i = 0;
	int j = 0;
	int tmp = 0;
	int sum = 0;
	for (i = 0; i < n; i++)
	{
		for (j = 0; j < m; j++)
		{
			scanf("%d", &tmp);
			if (tmp > 0)
				sum += tmp;
		}
	}
	printf("%d", sum);
	return 0;
}


1. 在输入的同时,将大于0的数求和。

C语言,C语面试刷题,HTTP状态码,数字三角形

#include <stdio.h>
int main()
{
	int arr[10] = { 0 };
	int i = 0;
	for (i = 0; i < 10; i++)
	{
		scanf("%d", &arr[i]);
	}
	for (i = 9; i >= 0; i--)
	{
		printf("%d ", arr[i]);
	}
	return 0;
}


 如果这个题不仅仅是逆序输出,而是要把数组中的数据逆序存放,又如何处理呢?


好啦,小雅兰今天的内容就到这里啦,继续加油呀,最近收到了许多uu们的私信,都是在鼓励我,支持我,我不会辜负你们的期望的,坚持写博客!!!

C语言,C语面试刷题,HTTP状态码,数字三角形文章来源地址https://www.toymoban.com/news/detail-400800.html

到了这里,关于如何解决C语言编程挑战中的问题?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C语言编程题|百钱百鸡问题

    公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱, 用100文钱买一百只鸡,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱。 我们都知道,我们一般用穷值法,在for循环求多个符合条件的解。 公鸡最多: 100/5=20只 母鸡最多: 100/3=33只 小鸡最多 100-公鸡-母鸡 而且小鸡的只数必须

    2024年02月06日
    浏览(27)
  • 什么是硬件编程,C 语言如何进行硬件编程?C 语言常用的操作系统有哪些?

    硬件编程是指使用编程语言与硬件交互,控制硬件设备的行为和功能。其中,C语言是一种广泛用于硬件编程的高级编程语言。 C语言通过直接操作内存来进行硬件编程。它提供了一些特殊的和库函数,使得开发者可以直接访问和操作硬件设备的寄存器、端口和外设等。

    2024年02月15日
    浏览(40)
  • 编程语言如何推动DeFi成为主流?

    随着DeFi的快速增长,提供DeFi服务的平台和产品也如雨后春笋般纷纷冒头。作为衡量DeFi协议管理资金规模的标准之一,DeFi“总锁仓量”在过去两年一路从100亿美元增长到超400亿美元,期间更是一度冲上1800亿美元的巅峰。但直到今天,智能合约编程语言功能并没有足够完善到

    2024年02月01日
    浏览(39)
  • 快来看看Java在编程语言中的优势与特性吧

      作者主页: paper jie的博客_CSDN博客-C语言,算法详解领域博主 本文作者: 大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 其他专栏: 《系统解析C语言》《C语言》《C语言-语法篇》 内容分享: 本期将对Java的优势和特性进行详细的讲解,各位看官姥爷快搬好小板

    2024年02月11日
    浏览(27)
  • 如何在 macOS 上安装 Rust 编程语言

    安装Rust编程语言在Mac上是一个相对简单的过程,但它可能会涉及多个步骤。在本文中,我将详细说明如何在Mac上安装Rust,并提供一些常见问题的解决方法。请注意,由于软件和工具可能会发生变化,因此建议首先查看Rust官方网站以获取最新的安装说明。 目录 1.打开终端 2

    2024年02月01日
    浏览(43)
  • C语言实例:输出字符的几种方式和实际编程中的应用

    在C语言中,要输出单个字符可以使用多种方式。以下是一些常见的方法: 使用putchar函数 putchar函数可以输出单个字符到标准输出设备(通常是屏幕)。例如,下面的代码将字符’A’输出到屏幕上: 使用printf函数 printf函数可以用于格式化输出。如果只想输出单个字符,则需

    2024年02月08日
    浏览(32)
  • MindOpt APL:一款适合优化问题数学建模的编程语言

    建模语言是一种描述信息或模型的编程语言,在运筹优化领域,一般是指代数建模语言。 比如要写一个线性规划问题的建模和求解,可以采用C、Python、Java等通用编程语言来实现计算机编程(码代码),也可以换采用建模语言。 本文将以阿里达摩院研发的MindOpt建模语言(Min

    2024年01月16日
    浏览(37)
  • 想学计算机编程从什么学起?零基础如何自学计算机编程?中文编程开发语言工具箱之渐变标签组构件

    想学计算机编程从什么学起?零基础如何自学计算机编程? 给大家分享一款中文编程工具,零基础轻松学编程,不需英语基础,编程工具可下载。 这款工具不但可以连接部分硬件,而且可以开发大型的软件,向如图这个实例就是用这个工具开发的。 它的编程工具箱非常的丰

    2024年02月05日
    浏览(51)
  • Rust 是一种面向系统编程语言 主要被设计用来解决执行速度、安全性、并发性和可靠性等方面的问题 Rust From First Principles: Building a Minimal Rust

    作者:禅与计算机程序设计艺术 Rust 是一种面向系统编程语言,主要被设计用来解决执行速度、安全性、并发性和可靠性等方面的问题。相比于其他语言来说,它拥有以下优点: 高性能: Rust 的运行时是单线程的,但是拥有基于垃圾收集(GC)的自动内存管理机制,使得在开

    2024年02月07日
    浏览(45)
  • 【Golang星辰图】数据管理利器:Go编程语言中的数据库和搜索引擎综合指南

    Go编程语言是一种强大、类型安全且高效的编程语言,它在处理数据库和搜索引擎方面有着广泛的应用。本篇文章将详细介绍几个Go编程语言中常用的数据库和全文搜索引擎,包括Go-bleve、Go-pgx、Go-leveldb/leveldb、Go-xorm、Go-mysql-driver和Go-bbolt/bbolt。对于每个工具,我们将介绍其功

    2024年03月26日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包