C语言课后作业 20 题+考研上机应用题
题目 1: 计算圆的面积
描述: 输入圆的半径,计算并输出圆的面积。
题目 2: 判断一个年份是否为闰年
描述: 输入一个年份,判断并输出该年份是否为闰年。
题目 3: 计算并输出斐波那契数列的前10个数
描述: 输出斐波那契数列的前10个数。
题目 4: 字符串长度计算
描述: 输入一个字符串,输出该字符串的长度。
题目 5: 实现冒泡排序算法
描述: 输入一个整数数组,使用冒泡排序算法对其进行排序,并输出排序后的结果。
题目 6: 计算一个整数的阶乘
描述: 输入一个正整数,输出其阶乘。
题目 7: 实现线性查找算法
描述: 在一个已排序的数组中实现线性查找算法,查找特定元素的位置。
题目 8: 计算一个数的平方根
描述: 输入一个非负实数,计算并输出其平方根。
题目 9: 实现选择排序算法
描述: 输入一个整数数组,使用选择排序算法对其进行排序,并输出排序后的结果。
题目 10: 计算一个整数的倒数
描述: 输入一个非零整数,输出其倒数。
题目 11: 实现二分查找算法
描述: 在一个已排序的数组中实现二分查找算法,查找特定元素的位置。
题目 12: 输出一个整数数组的所有元素
描述: 输入一个整数数组及其大小,输出数组的所有元素。
题目 13: 计算并输出一个整数数组的平均值
描述: 输入一个整数数组,计算并输出其平均值。
题目 14: 字符串内容替换
描述: 输入一个字符串和一个要替换的字符,将字符串中所有该字符替换为另一个字符,并输出替换后的字符串。
题目 15: 实现插入排序算法
描述: 输入一个整数数组,使用插入排序算法对其进行排序,并输出排序后的结果。
题目 16: 计算并输出一个整数的立方
描述: 输入一个整数,计算并输出其立方。
题目 17: 实现长整数相加的函数
描述: 设计一个函数,实现两个长整数的相加,并输出结果。
题目 18: 字符串翻转
描述: 输入一个字符串,输出其翻转后的字符串。
题目 19: 计算并输出一个整数的最大因子
描述: 输入一个正整数,计算并输出其最大因子。
题目 20: 实现质数生成器
描述: 输出一个范围内的所有质数。
题目 1: 计算圆的面积
#include <stdio.h>
#define PI 3.14159int main() {float radius, area;printf("Enter the radius of the circle: ");scanf("%f", &radius);area = PI * radius * radius;printf("The area of the circle is: %f\n", area);return 0;
}
题目 2: 判断一个年份是否为闰年
#include <stdio.h>int isLeapYear(int year) {if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)return 1;return 0;
}int main() {int year;printf("Enter a year: ");scanf("%d", &year);if (isLeapYear(year)) {printf("%d is a leap year.\n", year);} else {printf("%d is not a leap year.\n", year);}return 0;
}
题目 3: 计算并输出斐波那契数列的前10个数
#include <stdio.h>int main() {int n = 10, t1 = 0, t2 = 1, nextTerm = t1 + t2;printf("Fibonacci Series: ");for (int i = 1; i <= n; ++i) {printf("%d, ", t1);nextTerm = t1 + t2;t1 = t2;t2 = nextTerm;}return 0;
}
题目 4: 字符串长度计算
#include <stdio.h>
#include <string.h>int main() {char str[100];printf("Enter a string: ");scanf("%s", str);printf("The length of the string is: %lu\n", strlen(str));return 0;
}
题目 5: 实现冒泡排序算法
#include <stdio.h>void bubbleSort(int arr[], int n) {for (int i = 0; i < n-1; i++) {for (int j = 0; j < n-i-1; j++) {if (arr[j] > arr[j+1]) {int temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;}}}
}int main() {int n;printf("Enter the number of elements: ");scanf("%d", &n);int arr[n];printf("Enter %d elements:\n", n);for (int i = 0; i < n; i++) {scanf("%d", &arr[i]);}bubbleSort(arr, n);printf("Sorted array:\n");for (int i = 0; i < n; i++) {printf("%d\n", arr[i]);}return 0;
}
题目 6: 计算一个整数的阶乘
#include <stdio.h>long long factorial(int n) {if (n == 0)return 1;return n * factorial(n - 1);
}int main() {int num;printf("Enter a positive integer: ");scanf("%d", &num);printf("Factorial of %d is %lld.\n", num, factorial(num));return 0;
}
题目 7: 实现线性查找算法
#include <stdio.h>int linearSearch(int arr[], int n, int x) {for (int i = 0; i < n; i++) {if (arr[i] == x)return i;}return -1;
}int main() {int n;printf("Enter the number of elements: ");scanf("%d", &n);int arr[n];printf("Enter the elements: ");for (int i = 0; i < n; i++) {scanf("%d", &arr[i]);}int x;printf("Enter the element to be searched: ");scanf("%d", &x);int result = linearSearch(arr, n, x);if (result == -1)printf("Element not found.\n");elseprintf("Element found at index %d.\n", result);return 0;
}
题目 8: 计算一个数的平方根
#include <stdio.h>
#include <math.h>int main() {double num, sqrtNum;printf("Enter a number: ");scanf("%lf", &num);sqrtNum = sqrt(num);printf("Square root of %lf is %lf.\n", num, sqrtNum);return 0;
}
题目 9: 实现选择排序算法
#include <stdio.h>void selectionSort(int arr[], int n) {int i, j, min_idx, temp;for (i = 0; i < n-1; i++) {min_idx = i;for (j = i+1; j < n; j++) {if (arr[j] < arr[min_idx]) {min_idx = j;}}temp = arr[min_idx];arr[min_idx] = arr[i];arr[i] = temp;}
}int main() {int n;printf("Enter the number of elements: ");scanf("%d", &n);int arr[n];printf("Enter %d elements:\n", n);for (int i = 0; i < n; i++) {scanf("%d", &arr[i]);}selectionSort(arr, n);printf("Sorted array:\n");for (int i = 0; i < n; i++) {printf("%d\n", arr[i]);}return 0;
}
题目 10: 计算一个整数的倒数
#include <stdio.h>int main() {int num;double reciprocal;printf("Enter an integer (except 0): ");scanf("%d", &num);if (num == 0) {printf("Cannot calculate reciprocal of 0.\n");} else {reciprocal = 1.0 / num;printf("Reciprocal of %d is %f.\n", num, reciprocal);}return 0;
}
题目 11: 实现二分查找算法
#include <stdio.h>int binarySearch(int arr[], int l, int r, int x) {while (l <= r) {int m = l + (r - l) / 2;if (arr[m] == x)return m;if (arr[m] < x)l = m + 1;elser = m - 1;}return -1;
}int main() {int n, i, x, result;printf("Enter the number of elements: ");scanf("%d", &n);int arr[n];printf("Enter the elements: ");for (i = 0; i < n; i++) {scanf("%d", &arr[i]);}printf("Enter the element to be searched: ");scanf("%d", &x);result = binarySearch(arr, 0, n - 1, x);if (result == -1)printf("Element not found.\n");elseprintf("Element found at index %d.\n", result);return 0;
}
题目 12: 输出一个整数数组的所有元素
#include <stdio.h>int main() {int n, i;printf("Enter the number of elements: ");scanf("%d", &n);int arr[n];printf("Enter %d elements:\n", n);for (i = 0; i < n; i++) {scanf("%d", &arr[i]);}printf("Array elements are:\n");for (i = 0; i < n; i++) {printf("%d\n", arr[i]);}return 0;
}
题目 13: 计算并输出一个整数数组的平均值
#include <stdio.h>int main() {int n, i;long long sum = 0;printf("Enter the number of elements: ");scanf("%d", &n);int arr[n];printf("Enter %d elements:\n", n);for (i = 0; i < n; i++) {scanf("%d", &arr[i]);sum += arr[i];}double average = (double)sum / n;printf("Average is: %f\n", average);return 0;
}
题目 14: 字符串内容替换
#include <stdio.h>
#include <string.h>int main() {char str[100], ch1, ch2;printf("Enter the string: ");scanf("%s", str);printf("Enter the character to be replaced: ");scanf(" %c", &ch1);printf("Enter the replacement character: ");scanf(" %c", &ch2);for (int i = 0; i < strlen(str); i++) {if (str[i] == ch1) {str[i] = ch2;}}printf("Modified string is: %s\n", str);return 0;
}
题目 15: 实现插入排序算法
#include <stdio.h>void insertionSort(int arr[], int n) {int i, key, j;for (i = 1; i < n; i++) {key = arr[i];j = i - 1;while (j >= 0 && arr[j] > key) {arr[j + 1] = arr[j];j = j - 1;}arr[j + 1] = key;}
}int main() {int n;printf("Enter the number of elements: ");scanf("%d", &n);int arr[n];printf("Enter %d elements:\n", n);for (int i = 0; i < n; i++) {scanf("%d", &arr[i]);}insertionSort(arr, n);printf("Sorted array:\n");for (int i = 0; i < n; i++) {printf("%d\n", arr[i]);}return 0;
}
题目 16: 计算并输出一个整数的立方
#include <stdio.h>int main() {int num;printf("Enter an integer: ");scanf("%d", &num);int cube = num * num * num;printf("Cube of %d is %d.\n", num, cube);return 0;
}
题目 17: 实现长整数相加的函数
#include <stdio.h>
#include <string.h>void add(long long int a[], long long int b[], int size) {int carry = 0, sum, i;long long int c[size];for (i = 0; i < size; i++) {sum = a[i] + b[i] + carry;carry = sum / 10;c[i] = sum % 10;}for (i = size - 1; i >= 0; i--) {printf("%lld", c[i]);}printf("\n");
}int main() {long long int a[] = {0, 0, 0}; // Initialize to the length requiredlong long int b[] = {0, 0, 0};int size;printf("Enter the size of the integers: ");scanf("%d", &size);printf("Enter the first integer: ");for (int i = 0; i < size; i++) {scanf("%lld", &a[i]);}printf("Enter the second integer: ");for (int i = 0; i < size; i++) {scanf("%lld", &b[i]);}add(a, b, size);return 0;
}
题目 18: 字符串翻转
#include <stdio.h>
#include <string.h>int main() {char str[100];printf("Enter a string: ");scanf("%s", str);int len = strlen(str);for (int i = 0; i < len / 2; i++) {char temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}printf("Reversed string is: %s\n", str);return 0;
}
题目 19: 计算并输出一个整数的最大因子
#include <stdio.h>int maxFactor(int num) {for (int i = num / 2; i >= 1; i--) {if (num % i == 0)return i;}return 1; // Since 1 is the minimum factor other than the number itself
}int main() {int num;printf("Enter an integer: ");scanf("%d", &num);int maxFactorValue = maxFactor(num);printf("The largest factor of %d is %d.\n", num, maxFactorValue);return 0;
}
题目 20: 实现质数生成器
#include <stdio.h>int isPrime(int num) {if (num <= 1)return 0;for (int i = 2; i * i <= num; i++) {if (num % i == 0)return 0;}return 1;
}void printPrimes(int start, int end) {printf("Prime numbers between %d and %d are:\n", start, end);for (int i = start; i <= end; i++) {if (isPrime(i))printf("%d ", i);}printf("\n");
}int main() {int start, end;printf("Enter the range (start end): ");scanf("%d %d", &start, &end);printPrimes(start, end);return 0;
}
相关文章:
C语言课后作业 20 题+考研上机应用题
题目 1: 计算圆的面积 描述: 输入圆的半径,计算并输出圆的面积。 题目 2: 判断一个年份是否为闰年 描述: 输入一个年份,判断并输出该年份是否为闰年。 题目 3: 计算并输出斐波那契数列的前10个数 描述: 输出斐波那…...
macOS上基于httpd-dav搭建WebDav服务
文章目录 配置 Apache httpd修改 ServerName启动验证 httpd 服务启用 Dav 扩展服务配置 配置 httpd 扩展 Dav 服务设置共享目录文件夹配置 DavLockDB 目录创建 WebDAV 访客用户 httpd-dav.conf 主要改动部分BasicDigest共享多个目录 授予 httpd 完全磁盘访问权限验证更新配置重…...
Java-设计模式-单例模式
单例模式 从单例加载的时机区分,有懒汉模式/饥饿模式。 从实现方式区分有双重检查模式,内部类模式/Enum模式/Map模式等。在《Effective Java》中,作者提出利用Enum时实现单例模式的最佳实践。 内容概要 实现单例模式的几个关键点 利用Enu…...
图片html5提供的懒加载与vue-lazyload的区别
原生HTML lazy loading特性 <img src"/images/ocean.jpeg" alt"Ocean" loading"lazy"> loading"lazy" 是HTML5的一个原生特性,它允许浏览器延迟加载图片直至图片距离视口很近或者即将进入视口时。这是一种由浏览器…...
golang 根据某个特定字段对结构体的顺序进行排序
文章目录 方法一方法二方法三 在Go语言中,我们可以使用 sort.Slice() 函数对结构体进行排序。假设你有一个结构体,并且希望根据其中的某个字段进行排序,你可以使用自定义的排序函数。 方法一 下面是一个示例代码,假设有一个包含…...
React Router 参数使用详解
React Router 参数使用详解 React Router 是 React 中用于处理路由的常用库,它提供了丰富的功能来管理应用程序的导航和路由状态。在 React Router 中,我们经常需要使用不同类型的参数来处理路由信息,包括 params 参数、search 参数和 state…...
Vue中$set用法解析
当一个 Vue 实例被创建时,它向 Vue 的响应式系统中加入了其 data 对象中能找到的所有的属性。当这些属性的值发生改变时,视图将会产生“响应”,即匹配更新为新的值,但是遇到以下情况不会进行数据的双向绑定。 当你利用索引直接改…...
进制,码制及其表示范围
一 进制 1 常见的进制及其简写 十进制(Dec)二进制(Binary)十六进制(Hex)八进制(Octal) 2 进制之间的相互转换 二 码制 1 常用的码制 三 各码制在定点整数时表示的范围 个人推导…...
钡铼技术R40工业4G路由器加速推进农田水利设施智能化
钡铼技术R40工业4G路由器作为一种先进的通信设备,正在被广泛应用于各行各业,其中包括农田水利设施的智能化改造。通过结合钡铼技术R40工业4G路由器,农田水利设施可以实现更高效的管理和运营,提升农田灌溉、排水等工作效率…...
基于龙芯2k1000 mips架构ddr调试心得(一)
1、基础知识 DDR2的I/O频率是DDR的2倍,也就是266、333、400MHz。 DDR3传输速率介于 800~1600 MT/s之间 DDR4的传输速率目前可达2133~3200 MT/s 2k1000内存:板载2GB DDR3 ,可选4GB 使用龙芯芯片最好用他们自己的Bo…...
智能合约语言(eDSL)—— 使用rust实现eDSL的原理
为理解rust变成eDSL的实现原理,我们需要简单了解元编程与宏的概念,元编程被描述成一种计算机程序可以将代码看待成数据的能力,使用元编程技术编写的程序能够像普通程序在运行时更新、替换变量那样操作更新、替换代码。宏在 Rust 语言中是一种功能&#x…...
敏捷开发——elementUI/Vue使用/服务器部署
1. 创建vue项目 2. 安装element-ui组件库 npm i -S element-ui或 npm install element-ui3. 在main.js中导入element-ui组件 import ElementUI from element-ui import element-ui/lib/theme-chalk/index.css Vue.use(ElementUI)element-ui 组件库地址:Element …...
uniapp 使用sqlite时无法读取到db文件中的数据
问题 {“code”:-1404,“message”:“android.database.sqlite.SQLiteException: no such table: user (Sqlite code 1): , while compiling: select * from user, (OS error - 2:No such file or directory),http://ask.dcloud.net.cn/article/282”} at pages/index/index.vu…...
Linux 网络接口管理
为了更深入的了解linux系统,为此做出网络接口管理的知识总结。看起来麻烦,其实一点都不难,相信多看多了解总会是没错的!❤️❤️ 一起加油吧!✨✨🎉🎉 文章目录 前言一、网络配置的文件介绍二、…...
【设计模式】Java 设计模式之模板策略模式(Strategy)
策略模式详解:模式结构、实现与应用场景 一、策略模式概述 策略模式是一种行为设计模式,它使得算法可以独立于使用它的客户端变化。策略模式使得算法可以在运行时切换,从而增强了系统的灵活性和可维护性。在策略模式中,我们定义…...
SpringBoot项目前端Vue访问后端(图片静态资源) 配置
静态资源配置 Configuration public class WebMvcConfig extends WebMvcConfigurationSupport {Value("${file.save-path}")private String fileSavePath;Overrideprotected void addResourceHandlers(ResourceHandlerRegistry registry) {//映射本地文件夹registry…...
colab中数据集保存到drive与取出的方法
from google.colab import drive drive.mount(/content/drive) 一、下载数据集 from datasets import load_dataset max_length 32 # Maximum length of the captions in tokens coco_dataset_ratio 50 # 50% of the COCO2014 dataset# Load the COCO2014 dataset for tr…...
React 应该如何学习?
学习 React 是现代 Web 前端开发中的重要一步,因为它是一个流行且强大的 JavaScript 库,用于构建用户界面。React 的学习过程需要掌握一系列的概念、技术和最佳实践。 1. 基础知识 1.1 HTML、CSS 和 JavaScript React 本质上是一个 JavaScript 库&…...
跨平台无缝操作:ShareMouse让多电脑协同更高效
ShareMouse是一款功能强大的鼠标和键盘共享软件,它支持多台计算机之间的无缝连接,让用户能够通过一套键鼠设备轻松控制多台电脑,提高工作效率。此外,ShareMouse还具备剪贴板共享、文件拖放等功能,实现不同计算机间的便…...
Vue使用pandoc-wasm进行各格式转换
前端使用pandoc-wasm的问题和建议 docx转md npm install --save pandoc-wasmimport { Pandoc } from "pandoc-wasm";const pandoc new Pandoc()pandoc.init().then(async (pandoc) > {const result await pandoc.run({text: "Some input text",opti…...
全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...
多种风格导航菜单 HTML 实现(附源码)
下面我将为您展示 6 种不同风格的导航菜单实现,每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...
自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...
浪潮交换机配置track检测实现高速公路收费网络主备切换NQA
浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求,本次涉及的主要是收费汇聚交换机的配置,浪潮网络设备在高速项目很少,通…...
现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?
现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)ÿ…...
Java数值运算常见陷阱与规避方法
整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能
1. 开发环境准备 安装DevEco Studio 3.1: 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK 项目配置: // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...
Golang——7、包与接口详解
包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...
wpf在image控件上快速显示内存图像
wpf在image控件上快速显示内存图像https://www.cnblogs.com/haodafeng/p/10431387.html 如果你在寻找能够快速在image控件刷新大图像(比如分辨率3000*3000的图像)的办法,尤其是想把内存中的裸数据(只有图像的数据,不包…...
深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏
一、引言 在深度学习中,我们训练出的神经网络往往非常庞大(比如像 ResNet、YOLOv8、Vision Transformer),虽然精度很高,但“太重”了,运行起来很慢,占用内存大,不适合部署到手机、摄…...
