当前位置: 首页 > news >正文

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;
}
http://www.lryc.cn/news/321548.html

相关文章:

  • macOS上基于httpd-dav搭建WebDav服务
  • Java-设计模式-单例模式
  • 图片html5提供的懒加载与vue-lazyload的区别
  • golang 根据某个特定字段对结构体的顺序进行排序
  • React Router 参数使用详解
  • Vue中$set用法解析
  • 进制,码制及其表示范围
  • 钡铼技术R40工业4G路由器加速推进农田水利设施智能化
  • 基于龙芯2k1000 mips架构ddr调试心得(一)
  • 智能合约语言(eDSL)—— 使用rust实现eDSL的原理
  • 敏捷开发——elementUI/Vue使用/服务器部署
  • uniapp 使用sqlite时无法读取到db文件中的数据
  • Linux 网络接口管理
  • 【设计模式】Java 设计模式之模板策略模式(Strategy)
  • SpringBoot项目前端Vue访问后端(图片静态资源) 配置
  • colab中数据集保存到drive与取出的方法
  • React 应该如何学习?
  • 跨平台无缝操作:ShareMouse让多电脑协同更高效
  • Vue使用pandoc-wasm进行各格式转换
  • springboot284基于HTML5的问卷调查系统的设计与实现
  • AI短视频制作一本通:文本生成视频、图片生成视频、视频生成视频
  • 详谈分布式事务
  • Java基础知识八股
  • 【Linux】网络基础一
  • Redis-2 Redis基础数据类型与基本使用
  • python提取身份证中的生日和性别
  • opencv 傅里叶变换(低通滤波 + 高通滤波)
  • Educational Codeforces Round 163 (Rated for Div. 2)(A,B,C,D,E)
  • 索引常见面试题
  • 【Unity】旋转的尽头是使用四元数让物体旋转