- 博客(28)
- 收藏
- 关注
转载 3.29 蓝桥数字三角形
上图给出了一个数字三角形。从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,你的任务就是找到最大的和。路径上的每一步只能从一个数走到下一层和它最近的左边的那个数或者右 边的那个数。此外,向左下走的次数与向右下走的次数相差不能超过 1。输入描述输入的第一行包含一个整数N\ (1 \leq N \leq 100)N(1≤N≤100),表示三角形的行数。下面的NN行给出数字三角形。数字三角形上的数都是 0 至 100 之间的整数。输出描述输出...
2022-03-29 09:20:13
166
原创 3.19 蓝桥 单词分析
#include <stdio.h>int main(int argc, char *argv[]) { int count[26] = {0}, max = 0, i; char ch; while ((ch = getchar() != '\n')) { count[ch - 'a']++; } for (i = 1; i < 26; i++) { if (count[i] > count[max]) max = i; } printf("%.
2022-03-19 21:41:51
231
原创 3.19 回文数
#include <stdio.h>int main(void) { int n, s, a, b, f, h, j, k, l, q, w, e, r, t ; scanf("%d", &n); s = n / 10000; b = s % 100; if (b == 21) f = s + 80; else if (b == 1 || b == 11) f = s + 10; else if (b == 20) { f = s + 1; } h .
2022-03-19 16:37:04
364
原创 输出几个数的和
描述编程输入最少1个最多不超过4个整数,输出他们的和。输入输出示例 输入 输出 示例 1 5 6 7 8 26 输入时,可以计入输了多少个数字,用数组输入未输入的部分不能看做是0#include <stdio.h>in
2021-12-18 10:12:52
1116
原创 1139 单词译码
思路:1注意strlen(s)的用法,在上一篇有说明。2,使用后推,但注意后四位,重新从a开始;3最后输出#include <stdio.h>#include <string.h>int main () { char s[10]; gets(s); for (int i = 0; i < strlen(s); i++) { if ((s[i] >= 'A' && s[i] <= 'V') || (s[i] >=
2021-12-06 20:45:50
746
原创 字符与字符串的输入
1.C语言中库函数strlen的作用是获取传入的字符串s中字符的个数,它遇到第一个空字符’\0’返回2.输入单个字符输入单个字符当然可以使用 scanf() 这个通用的输入函数,对应的格式控制符为%c,我们重点讲解的是 getchar()、getche() 和 getch() 这三个专用的字符输入函数,它们具有某些 scanf() 没有的特性,是 scanf() 不能代替的#include <stdio.h>int main(){ char c; c = g
2021-12-06 20:26:39
1257
原创 1135求矩形个数
思路1什么叫做矩形,矩形包括长方形和正方形。2如何算出矩形数量,从行列方向考虑。矩形个数为长累加到1*宽累加到#include <stdio.h>int temt(int n, int m) { int t = 0, f = 0, i, j; if (n == 1 && m == 1) return 1; else for (i = n; i >= 1; i--) t += i; for (j = m; j >= 1; j--)
2021-11-28 19:52:37
346
原创 11-23时间复杂性
定义 在计算机科学中,时间复杂性,又称时间复杂度,算法的时间复杂度是一个函数,它定性描述该算法的运行时间。这是一个代表算法输入值的字符串的长度的函数。时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数。使用这种方式时,时间复杂度可被称为是渐近的,亦即考察输入值大小趋近无穷时的情况。一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为语句频度或时间频度什么是大O这里就要说一下这个大O,什么是大O呢,很多同学说时间复杂度的
2021-11-23 20:10:57
246
原创 11-23二分法
定义 对于区间[a,b]上连续不断且f(a)·f(b)<0的函数y=f(x),通过不断地把函数f(x)的零点所在的区间一分为二,使区间的两个端点逐步逼近零点,进而得到零点近似值的方法叫二分法算法:当数据量很大适宜采用该方法。采用二分法查找时,数据需是排好序的。基本思想:假设数据是按升序排序的,对于给定值key,从序列的中间位置k开始比较,如果当前位置arr[k]值等于key,则查找成功;若key小于当前位置值arr[k],则在数列的前半段中查找若key大于当前位置值arr[k]
2021-11-23 19:54:49
226
原创 【约瑟夫环问题
一个圈共有N个人(N为不确定的数字),第一个人的编号为0或者1(两个都可以,看你的程序如何编写),假设这边我将第一个人的编号设置为1号,那么第二个人的编号就为2号,第三个人的编号就为3号,第N个人的编号就为N号,现在提供一个数字M,第一个人开始从1报数,第二个人报的数就是2,依次类推,报到M这个数字的人出局,紧接着从出局的这个人的下一个人重新开始从1报数,和上面过程类似,报到M的人出局,直到N个人全部出局思路:1.n要循环,则设值为小于等于N,若大于在从一开始;2.要排序m为关键,输出一个再从新数,也可
2021-11-21 21:27:49
509
原创 11-18
1.多组输入实现多组输入代码while(n--){ scanf("");}代表规定数量whlie(scanf("%d",&n)!=EOF)1代表不等于空置的连续输入while(scanf("%d",n),n!=0)
2021-11-19 20:51:11
605
原创 11.19函数定义
#include <stdio.h>int factorsum(int number);void PrintPN(int m, int n);int main() { int m, n; scanf("%d%d", &m, &n); if ( factorsum(m) == m ) printf("%d is a perfect number\n", m); if ( factorsum(n) == n ) printf("%d is a perfect.
2021-11-19 20:45:27
1924
原创 奇数偶数排序
题目描述输入10个整数,彼此以空格分隔。重新排序以后输出(也按空格分隔),要求: 1.先输出其中的奇数,并按从大到小排列; 2.然后输出其中的偶数,并按从小到大排列。输入描述:任意排序的10个整数(0~100),彼此以空格分隔。思路,运用冒泡排序与选择排序共同思维,升华冒泡排序在于边奇数偶数判断,边大小排序#include<stdio.h>int main(){ int i,j,k,t,odd=-1, even=10,a[10]; for(i=0;i<=9;
2021-11-19 12:00:15
739
原创 11.17百元百鸡,搬砖问题
题目描述百钱买百鸡问题:公鸡五文钱一只,母鸡三文钱一只,小鸡三只一文钱,用100文钱买100只鸡,公鸡、母鸡、小鸡各买多少只?本程序要求解的问题是:输入输入一个正整数n(n<=100)。输出如果有解,种组合占一行,包含公鸡、母鸡、小鸡的个数,用正整数表示,每个数据占4列。公鸡母鸡小鸡个数均大于等于0,按公鸡数目从小到大输出,公鸡数目相同按母鸡数目从小到大输出,以此类推。如果无解,输出“No Answer”。样例输入给定一个正整数n,用n文钱买n只鸡,问公鸡、母鸡、小鸡各买多少只?
2021-11-17 21:00:29
219
原创 二进制换十进制
输入格式第一行一个正整数 n(1≤n≤30),第二行一个二进制数。输出格式输出一个整数,表示对应的十进制数。表示二进制数的长度。例如输入510101输出21思路:首先明确二进制与十进制之间如何转化,知道与单个数字有关后将数字分离。#include <stdio.h>#include <math.h>int main() { int n, a, c = 0, b, i; scanf("%d", &n); scanf("%d",.
2021-11-16 19:36:52
614
原创 计算多少天
给定一个日期,输出这个日期是该年的第几天。输入输入年月日输出表示该日期是该年的第几天。样例输入2016-03-01样例输出61思路 首先考虑闰年,求出月份有多少天最后再将天数加上。先用最易的思路,然后在进行提升。#include <stdio.h>int main() { int x, y, z, a = 0; scanf("%d%d%d", &x, &y, &z); switch (y) { case 1:
2021-11-15 19:46:21
405
转载 C语言memset函数的简单理解
1void *memset(void *s,int c,size_t n)总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c。且用include <string.h>2memset()的深刻内涵:用来对一段内存空间全部设置为某个字符,一般用在对定义的字符串进行初始化为‘ ’或‘/0’;例:char a[100];memset(a, '/0', sizeof(a));memcpy用来做内存拷贝,你可以拿它拷贝任何数据类型的对象,可以指定拷贝的数据长度;例:char a[100]
2021-11-15 17:16:26
243
原创 2021-11-14排序
#include <stdio.h>int main(void) { int a[100]; int n, i, j, t; scanf("%d", &n); //n为要排序的数的个数 //输入需要排序的数 for (i = 0; i < n; ++i) scanf("%d", a + i);//a+1就是指向了第二个元素,即a[1]。 //开始排序 for (i = 0; i < n - 1; ++i) { //每次为相邻的两个数进行比较,共比较n-1.
2021-11-14 20:32:32
590
原创 理解排序和比较
#include<stdio.h>int main(void){、、int n; //n为输入个数scanf("%d",&n);if(n==1){ printf("0\n0");//如果只有一个数,无法比较}else if(n>=2){//开始比较double a[n];int i;for(i=0;i<n;i++){ scanf("%lf",&a[i]); //给a[i]赋值}double max=a[0];do...
2021-10-23 13:41:28
88
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人