- 博客(21)
- 收藏
- 关注
原创 安装osgeo库
有conda的就用conda的安装方法就行了:conda install conda-forge::gdal -y。目前网上各种资料都太老了,这个库更新得又太快,附上官网详细链接。
2024-04-18 21:08:31 804
原创 【C语言】冒泡选择排序+二分查找
void Sort_select(int a[], int n){ int i, j, max_i, temp; for (i = 0; i < n - 1; i++) { max_i = i; for (j = i + 1; j < n; j++) { if (a[j] > a[max_i]) max_i = j; if (max_i != i) { temp = a[max_i]; a[max_i] = a[i]; .
2022-05-24 22:16:15 271
原创 【C语言素数查找】求500以内的10个最大素数及其和并分别输出
求500以内的10个最大素数及其和并分别输出。程序的运行示例如下: 499 491 487 479 467 463 461 457 449 443 sum=4696法一:循环搜索#include<stdio.h>int main(void){ int i, j; int count = 0;//保持已经找到的素数个数 int sum = 0; for (i = 500; i > 0; i--) { for (.
2022-05-18 21:08:09 4903
原创 【C语言函数递归】递归计算最大公约数
根据如下性质,设计函数MaxCommonFactor(),计算两个正整数的最大公约数。性质1:当a>b时,计算a与b的公约数等价于计算a-b与b的公约数。性质2:当a<b时,计算a与b的公约数等价于计算b-a与a的公约数。性质3:当a=b时,a与b的公约数等于a或b。#include <stdio.h>int MaxCommonFactor(int a, int b);main(){ int a, b, x; printf("Input a,b:.
2022-05-13 07:32:19 1885
原创 【C语言函数递归】编程将字符串s倒序输出,要求利用函数递归实现。
编程将字符串s倒序输出,要求利用函数递归实现。**输入格式要求:"%s" 提示信息:"input your string:\n"**输出格式要求:"%c"程序运行的输入输出样例:input your string:abcdefg gfedcba#include<stdio.h>void reverse(char s[]);int main(void){ char s[100]; printf("input your string:\n"); scanf(".
2022-05-10 07:17:18 3873
原创 【C语言函数】编写一个C函数,实现保留小数点后第N-1位,从第N位四舍五入。
编写一个C函数,实现保留小数点后第N-1位,从第N位四舍五入。用该函数对数组a[5]中的各元素从小数点后第2位开始四舍五入。a[5]={2.33,2.56,2.65,2.66,2.30}**输出格式要求:"Old array:\n" "a[%d]=%.3f\t" "\nnew array:\n" "a[%d]=%.2f\t"#include<stdio.h>#include<math.h>#define size 5float t(float n, in.
2022-05-07 15:53:53 1455
原创 【C语言函数递归】
输入一个正整数,要求以相反的顺序输出该数。用递归方法实现。**输入格式要求:"%d" 提示信息:"Enter number:"**输出格式要求:"%d"程序运行示例如下:Enter number:3556789999876553第一次的思路:直接引用函数reverse,目的是使用函数中的printf语句,尽管函数有返回值,但在主函数中并没有调用;#include<stdio.h>int reverse(int n);int main(void){ int n;.
2022-05-06 23:39:08 3109
原创 【C语言循环】计算本金和复利
程序:计算本金和复利之和。编写程序打印出一个表格,这个表格显示了在几年时间内100美金投资在不通利率上的价值。用户将输入利率和要投资的年数。假设整合利息一年一次,表格将显示出一年间在此输入利率下河后边四个更高利率下投资的价值。**输入格式要求:"%d" 提示信息:"Enter interest rate:" "Enter number of year:"**输出格式要求:"\nyears" "%6d%%" "%3d " "%7.2f"下面是程序运行时的情况: Enter intereset .
2022-05-04 10:01:19 3062
原创 【C语言循环】打印上三角99乘法表
难点:如何打印出空格,最后呈现出上三角形状#include<stdio.h>int main(void){ int i, j, m, k; for (i = 1; i <= 9; i++) { for (m = 1; m <= i - 1; m++) //根据i的变化,打印出相应数量的空格 printf(" "); for (j = i; j <= 9 ; j++) { k = i * j; printf("%4d", k)
2022-05-04 09:16:40 4398 1
原创 【C语言函数递归】用二进制表示十进制数
函数递归在处理倒序问题时比循环更加方便。在二进制中,奇数的末尾一定为1,偶数的末尾一定为0,通过5%2即可确定5的二进制位数的最后一位是1还是0.由此,计算机中的第一位十进制数实际上是带输出的二进制数的最后一位,由此我们说这是典型的倒序问题。那么,如何获得倒数第二位二进数数了?将原数除以2,这种方式相当于在十进制下除以10将小数点左移一位。上述方法可类比与十进制中:628%10得8,8为该书的最后一位;628/2得62,而62%2得2,所以为该数的下一位。递归思路:1. 键盘读取计算机上的十进制数,将其
2022-05-01 17:03:41 325
原创 【C语言】汉诺塔问题
C语言汉诺塔问题可以简单抽象为;现有A,B,C三根柱子,其中,A上有64个圆盘(由上到下,大小依次递增),借助B柱子,将A中的圆盘移动到C中。(每次只能移动一次,且顺序由上到下,大小依次递增)主要思路:函数递归;其中,x表示圆盘出发的柱子,y表示圆盘经过的柱子,z表示圆盘想要到达的柱子步骤:先将n-1个盘移动经过C移动到B, 再将B中n-1个圆盘通过C移动到A,依次递归,利用if判断条件跳出函数,可忽略中间过程。hanoi(int n, char x, char y, char z)#i
2022-04-29 13:51:50 906
原创 【C语言】二分法解方程
用二分法求方程2x^3-4x^2+3x-6=0在(-10, 10)之间的根。#include <stdio.h>#include <math.h>int main(){ float x0, x1, x2, fx0, fx1, fx2; do { printf("请输入x1,x2的值: "); scanf("%f,%f", &x1, &x2); fx1 = 2 * x1 * x1 .
2022-04-28 22:33:32 4316
原创 【C语言循环】分解质因数
将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。#include<stdio.h>int main(void){ int n, i; printf("\nplease input a number:\n"); scanf("%d", &n); printf("%d=", n); for (i = 2; i <= n; i++) //for循环寻找因数 { while (n != i) //若n与i相等,则分解结束,最后一个因.
2022-04-27 22:56:07 1581
原创 C语言循环题目
编写程序,打印1~999之间的全部同构数。所谓同构数,是指该数出现在它的平方数的右侧。如25^2=625,25出现在625的右端,25就是同构数该问题的难点在于如何判断i是否与i平方后的数的右侧相等: 可以通过去余的方法,十位数字与10相除取余得到它的各位数字,百位数字与100相除的到管它的10位与个位数字。#include<stdio.h>int main(void){ int a, b, i; printf("Print all the isomorphism ..
2022-04-22 20:49:56 1007
原创 c语言循环
寻找n之后最小的素数思路:利用n++与continue,减少了一次for循环的使用。#include<stdio.h>int main(void){ int n, i; printf("inupt n:"); scanf("%d", &n); n++; for (i = 2; i <= n-1; i++) { if (n % i != 0) continue; else { n++;c continue; } } p
2022-04-21 21:35:39 479
原创 C语言循环题目
在海军节开幕式上,有A、B、C三艘军舰要同时开始鸣放礼炮各21响。已知A舰每隔5秒放1次,B舰每隔6秒放1次,C舰每隔7秒放1次。假设各炮手对时间的掌握非常准确,请编程计算观众总共可以听到几次礼炮声。**输出格式要求:"n = %d\n"思路:利用while循环进行时间上的仿真模拟:随着时间的增加,在符合条件的时间点上(if判断)增加一次礼炮次数。注意:在某一时间点可能出现两艘军舰同时响,在if判断时用或连接条件即可。#include<stdio.h>int main(){.
2022-04-20 20:48:26 839
原创 C语言循环题目
穷举,抓交通肇事犯。一辆卡车违犯交通规则,撞人后逃跑。现场有三人目击事件,但都没记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但与前两位不同;丙是位数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索求出车号。**输出格式要求:"Lorry_No. is %d .\n"本题的难点在于:1.利用穷举法遍历前后两位数,与搬砖问题相似2.利用for循环平方寻找车号, 利用if条件判断输出正确结果#include<stdio.h&.
2022-04-18 22:14:26 591
原创 C语言循环题目
某工地需要搬运砖块,已知男人一人搬3块,女人一人搬2块,小孩两人搬一块。问用45人正好搬45块砖,男人、女人、小孩各多少人?本题的思路是通过for循环穷举出男人、女人的人数,再利用if条件判断是否符合题目要求,符合要求则输出数据。#include<stdio.h>#define work 45#define power_m 3#define power_w 2#define power_c 1.0/2int main(void){ int men; int women.
2022-04-18 21:53:16 1099
原创 C语言循环题目
编程计算下列算式的值sum=1/(1*2*3) + 1/(3*4*5)+… +1/(99*100*101)要求: (1)sum定义为float类型。(2)**输入提示信息为:无输入提示信息和输入数据**输出格式为:"sum=%f\n"The mistakes I meet:1.通过for循环嵌套,解决从1加到101和每三个数就与1相除的问题。Some methods I learn:1.灵活地运用自加变量i和temp变量,通过i每次增加2来控制每三个数就与1相除的问题。2..
2022-04-15 21:13:30 1159
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人