题目: 有 1、2、3、4 四个数字,能组成多少个互不相同且无重复数字的三位数?
问题分析: 先在百位数选择一个数字,接着在十位上选择一个数字,最后在个位上选择一个数字,但要保证每次选择的三个数字都互不相同,使用三个for循环即可找出这样的数字。
优化:上面代码中也可以在for循环的时候判断是否有重复的数字,如果有,则直接跳过。
运行结果:
从键盘输入当月利润 i ,求应发放奖金总数?
问题分析: 根据利润的区间,让数字在不同的区间分别单独计算。
运行结果:
题目: 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
问题分析:
假设该数为 x。
1、则 x + 100 = m,x + 100 + 168 = n,其中 m 和 n 都是完全平方数。
2、设 n = a2,m = b2,则 n - m = (a + b)(a - b) = 168,因为a+b和a-b具有相同的奇偶性,又因为168是偶数,所以a+b和a-b都是偶数。
3、设 a+b=2*i,a-b=2*j;可得 i * j = 168/4=42。
4、接下来只需要枚举 i 从 1 到 42 即可,根据上面的公式我们也可以得出 a = i + j,b = i - j,进一步又可以得出 m ,n 以及 x 的值。
运行结果:
题目: 输入某年某月某日,判断这一天是这一年的第几天?
问题分析: 先计算当月之前的总天数,然后再加上当月的天数。比如10月16号,先计算9月(包含9月)之前的总天数,然后加上10月的16天,最后在判断是否是闰年,如果是闰年并且输入的月份大于 2 ,要多加一天。
运行结果:
题目: 输入三个整数 x、y、z,请把这三个数由小到大输出。
问题分析: 先用 x 和 y ,z 比较,只要比它俩小就交换,这样就可以保证 x 是这三个数中最小的。然后用 y 和 z 比较,把最大值保存在 z 中,这样 x、y、z 就是从小到大的了。
运行结果:
题目: 用 * 号输出字母C的图案。
问题分析: 按照字母C的形状直接输出即可。
运行结果:
题目: 输出特殊图案。
问题分析: 不同字符,图形不一样。需要把编码格式改成437 OEM-美国,否则会出现乱码。
运行结果:
题目: 输出 9*9 口诀。
问题分析: 使用两个for循环即可完成。
运行结果:
题目: 要求输出国际象棋棋盘。
问题分析: 国际象棋棋盘由64个黑白相间的格子组成,分为8行*8列。用 i 控制行, j 来控制列,根据 i+j 的和来控制输出黑方格,还是白方格。
运行结果:
题目: 打印楼梯,同时在楼梯上方打印两个笑脸。
问题分析: 用 ASCII 1 输出笑脸;用 i 和 j 来控制行和列,然后输出白色当做楼梯,要注意需要修改编码格式。
运行结果:
题目: 古典问题(兔子生崽):有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(输出前40个月即可)
问题分析: 兔子的规律为1,1,2,3,5,8,13,21…,即下个月是上两个月之和,这是一个典型的斐波那契数列。
运行结果:
题目: 判断 101 到 200 之间的素数。
问题分析: 101 到 200之间的偶数不可能是素数,所以我们只需要判断奇数即可。对于每一个奇数,判断能不能被 2 到 sqrt(包含这个数)之间的数整除,如果能被整除,则表明此数不是素数,否则是素数。
运行结果:
题目: 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1^3+5^3+3^3=1+125+27。
问题分析: 对于100-999之间的每一个数,分别求出个位,十位,百位,然后计算它们的立方之和是否等于该数本身,如果等于,则是水仙花数,否则不是。
运行结果:
题目: 将一个正整数分解质因数。例如:输入 90,打印出 90=2*3*3*5。
问题分析: 对于输入的整数n ,判断 2 到 n 之间哪些数能被它整除,如果能被正常,则一直除。比如 120 能被 2 整除,结果是 60 ,60 还能被 2 整除,结果是 30 ,30 还能被 2 整除,结果是 15,15不能被 2 整除,但 15 能被 3 正常,结果是 5 ,5 不能被 3 整除,但 5 能被 5 整除,结果是 1 ,退出循环。
运行结果:
题目: 利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
问题分析: 在三目运算符中 c ? a : b ,如果 c 为true,则返回 a ,否则返回 b 。这里我们可以使用三目运算符嵌套来完成此题。
运行结果:
题目: 输入两个正整数 a 和 b ,求其最大公约数和最小公倍数。
问题分析: 最大公约数可以使用辗转相除法和更相减损术两种方式求,这里我们使用辗转相除法来计算最大公约数。最小公倍数可以用输入的两个数之积除于它们的最大公约数求。比如计算 33 和 12 的最大公约数,(33,12)→(12,9)→(9,3),因为 9 能被 3 整除,所以33和12的最大公约数是 3 。
运行结果:
题目: 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
问题分析: 对于输入字符进行统计,直到遇到换行符为止。
运行结果:
题目: 求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
问题分析: 输入的 n 是数字的个数,把所有数字相加即可。
运行结果:
题目: 一个数如果恰好等于它的因子之和,这个数就称为"完数",例如 6=1+2+3 ,请编程找出 1000 以内的所有完数。
问题分析: 计算1000以内每个数的因数,判断因数之和是否等于该数,如果等于,则是完数,否则不是。
运行结果:
题目: 一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
问题分析: 反弹的高度是原来的一半,路径是反弹高度的两倍,因为反弹需要上和下两个方向。
运行结果:
题目: 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下 的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
问题分析: 采取逆向思维的方法,从后往前推断。第 10 天 1 个桃子,第 9 天是2*(1+1)=4个桃子,第 8天是2*(4+1)=10个桃子,以此类推,如果当天吃了 x 个桃子,那么前一天就是2*(x+1)个桃子。
运行结果:
题目: 两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。
问题分析: c 不和 x,z 比,所以 c 只能和 y 比,a 不和 x 比,所以 a 只能和 z 比,那么 b 只能和 x 比,直接能推算出来,但这里要写出程序,我们来看下。
运行结果:
题目: 打印出如下图案(菱形)。
问题分析: 先把菱形分成两部分来看待,先打印前 4 行,在打印后 3 行。每行只打印左边的空格,右边的空格不需要打印。
运行结果:
题目: 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。
问题分析: 如果把分子和分母单独拿出来,它们都是斐波那契数列,可以参考 011,兔子生崽,直接累加分数即可。
运行结果:
题目: 求 1 + 2! + 3! + … + 20! 的和。
问题分析: 计算阶乘的值然后累加即可。
运行结果:
题目: 利用递归方法求5!。
问题分析: 递归公式fun(n)=fun(n-1)*n,当 n 等于 1 的时候,直接返回 1 即可。
运行结果:
题目: 利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。
问题分析: 当输入的字符个数不够 5 个的时候,一直递归输入,当输入 5 个字符的时候开始输出。递归类似于栈,先压栈,后出栈,所以出栈的顺序和输入的顺序是相反的。
运行结果:
题目: 有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?
问题分析: 使用递归的方式,第一个人是 10 岁,第 n 个人的年龄是第 n-1 个人的年龄加 2 。
运行结果:
题目: 给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
问题分析: 最多5位数,可以获取数字的每一位,如果万位不等于 0 ,肯定是 5 位数,如果万位是 0 ,千位不等于 0 ,则是 4 位数……,根据这样判断,然后逆序输出。
运行结果:
题目: 一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
问题分析: 一个5位数,只需要提取它的个位,十位,千万,万位数字即可,如果个位和万位数字相等,并且十位和千位数字相等,则是回文数,否则不是。
运行结果:
题目: 请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。
问题分析: 使用Switch语句,如果第一个字母一样,则输入第二个怎么继续判断。
运行结果:
题目: 删除一个字符串中的指定字母,如:字符串 “aca”,删除其中的 a 字母。
问题分析: 逐个判断原字符串中的字符是否是需要删除的,如果不是删除的则保留。
运行结果:
题目: 判断一个数字是否为质数。
问题分析: 质数(prime number)又称素数。一个大于1的自然数,除了 1 和它本身外,不能被其他自然数整除。如果一个数不是素数,则肯定有一个因数 x,且 2<=x<=sqrt(x) 。
运行结果:
题目: 练习函数调用。
问题分析: 略
运行结果:
问题分析: 使用两个指针left和right,刚开始的时候分别指向字符串的两端,然后交换这两个指针指向的字符,交换完之后两个指针分别往中间移,继续交换,直到两个指针相遇或者left>right为止。
运行结果:
题目: 求100之内的素数。
运行结果:
题目: 对10个数进行排序。
**问题分析:**关于排序算法比较多,我之前写过《20多种排序算法》,我们可以从中随便选择一个,这里我们使用冒泡排序来解。
运行结果:
题目: 求一个3*3矩阵对角线元素之和
问题分析: 输入二维矩阵,累加a[i][i]即可。
运行结果:
题目: 有一个已经排好序的数组。现输入一个数 x ,要求按原来的规律将它插入数组中。
问题分析: 从后往前把大于 x 的值全部往后挪,找到插入的位置之后,再把数字插入对应的位置。
运行结果:
题目: 将一个数组逆序输出。
问题分析: 从后往前输出即可。
运行结果:
题目: 学习 static 定义静态变量的用法。
在 C 语言中,static 关键字用于声明静态变量,和静态函数。静态变量在声明时被初始化,只被初始化一次,而且在整个程序的生命周期内都保持存在。在函数内声明的静态变量只能在该函数内访问,而在函数外声明的静态变量则只能在该文件内访问。而静态函数可以参考 043,static用法2。
问题分析: 以下函数中 fun() 声明了一个静态变量 x,并将其初始化为 0。每次调用 fun() 函数时,x 的值都会加 1,并打印出新的值。由于 x 是静态变量,它在程序的整个生命周期中都存在。因此,每次调用 fun() 时,它都可以记住 x 的值,并在此基础上递增。
运行结果:
题目: 学习使用auto定义变量的用法。
问题分析: 在C语言中,auto 关键字用于声明变量时指定变量的存储类别。auto 关键字告诉编译器该变量的生命周期仅限于定义它的代码块(通常是函数)之内,即该变量是自动存储的。这意味着变量的存储是在栈上分配的,而不是在静态存储区域(如全局变量或静态局部变量)。
运行结果:
题目: 学习使用static的另一用法。
问题分析: static声明的函数和变量只能在该文件中使用,这和面向对象语言中的private关键字声明的函数和变量类似。比如在file1.c文件中定义了一个static函数,在file2.c文件中调用这个函数就会出现错误。如果把file1.c文件中的static关键字去掉,在file2.c文件中就可以调用这个函数了。
题目: 学习使用如何调用外部函数。
问题分析: 比如在file1.c文件中定义了一个变量name和一个函数printVal,但在file2.c文件中调用这个变量和函数,需要添加extern关键字。如果不要extern关键字,可以参考 050,#include练习 。
运行结果:
题目: 学习使用register定义变量的方法。
问题分析: 在 C 语言中,register 关键字用于向编译器建议将某个变量存储在寄存器中,以提高对该变量的访问速度。
运行结果:
题目: 宏#define命令练习。
问题分析: 宏的功能比较强大,主要有:1,定义常量,2. 创建类型别名,3. 定义简单的函数替代,4. 定义复杂的代码片段,5. 条件编译,6. 宏参数的字符串化,7. 宏参数的连接。
我们先来看前两个,定义常量和创建类型别名。
运行结果:
题目: 宏#define命令练习2。
问题分析: 下面再来看下使用宏定义简单的函数替代和定义复杂的代码片段。
运行结果:
题目: 宏#define命令练习3。
问题分析: 除此之外,宏还有其他一些定义和操作。比如 #define 可以使用 # 操作符将宏参数转换为字符串,#define 可以使用 ## 操作符将两个宏参数连接成一个标识符。
运行结果:
题目: #if #ifdef和#ifndef的综合应用。
问题分析: 常见的条件编译指令
运行结果:
题目: #include 的应用练习。
问题分析: 在C语言中,#include 预处理指令用于包含头文件,这是C语言程序中非常常见的操作。头文件通常包含函数声明、宏定义、类型定义、模板声明等,它们可以被多个源文件共享。
#include 指令通常有两种格式:
1,尖括号 < >:用于标准库头文件。编译器会在预定义的目录中搜索这些头文件。
2,双引号 " ":用于用户自定义的头文件或第三方库头文件。编译器首先在包含当前文件的同一目录中搜索,如果找不到,再在标准库目录中搜索。
假如我们创建两个文件,一个是头文件 test.h ,还一个是主文件,头文件test.h中的代码如下,可以看到和 044,extern的使用 的区别就是这里不需要再使用extern关键字导入了。
主文件中的代码如下:
运行结果:
题目: 学习使用按位与 &。
问题分析: 按位与有 4 种情况,只要有一个是 0 ,结果就是 0 。
运行结果:
题目: 学习使用按位或 |。
问题分析: 按位或有 4 种情况,只要有一个是 1 ,结果就是 1 。
运行结果:
1.请写出 bool flag 与“零值”比较的 if 语句if(flag)if(!flag)2.请写出 float x 与“零值”比较的 if 语句const float ESPSINON = 0.00001;if ((x >= - EPSINON) && (x <= EPSINON))3.请写出 char *p 与“零值”比较的 if 语句if(p == NUL
题目:一个自然数的七进制表达式是一个3位数,而这个自然数的九进制表达式也是一个3位数,且这2个3位数的数码顺序正好相反,求这个自然数。解题思路:该题考察的是我们的进制转换,而不同类型中的进制转换纯粹是数学上的计算。只要在数学上理解了,写出进制转换的代码轻而易举。所以我们直接从数学上分析:以10进制的101,转7进制为例10进制的10展开来看,从低位到高位其实是:它每一位的权重,是以10为底,以位次
真题(西北工业大学):编程实现:在主函数中,从键盘读入10个整数,按从大到小的顺序构造链表。每读入一个整数, 就调用函数,函数根据整数的大小在合适的位置插入链表。题目分析:实现思想:循环输入10个整数给每个数动态创建一个结点,用 malloc 函数动态分配内存查找这个数在链表中该存放的位置插入进去输出结果难点击破:这道题只有2个难点,也是考点所在:建立链表从大到小插入到链表里1.链表直接上代码st
【C语言经典算法100道实战题】适合具备C语言基础语法的同学学习,提高编写程序的逻辑思维能力和算法设计能力专门精心设计。100个经典的算法供大家练习及配套对应的录播视频。为我们今后学习其它的编程语言和软件开发打下坚实的基础,让你在编码道路上如鱼得水、如虎添翼等,祝同学学习进步、快乐开心的学习编程,感谢大家的全力支持。各位可爱的同学们好,现在已经为大家准备好超级精典的C语言、C++语言、C语言
1楼【程序1】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。 2.程序源代码: main() { int i,j,k; printf("\n"); for(i=1;i<5;i++) /*以下为三重循环
如有错误,欢迎讨论! 经典c程序100例 【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。 2.程序源代码:main(){int i,j,k;printf("\n");for(i=1;i<5;i++)
经典例题!
程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月
#include <conio.h>#include<dos.h>#include <graphics.h>#include<stdio.h>#include<stdlib.h>/*定义一些常数*/#define NO 0#define YES 1#define NONE -1#define MAX_MENU 7/*根据情况改变可以在
100个经典的C算法C语言的学习要从基础开始,这里是100个经典的算法题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?__________________________________________________________________程
# 如何实现“100道Python经典练手题”在你开始学习Python的过程中,做项目和练习是非常重要的一环。通过解决实际的问题,可以提升你的编程技能和思维能力。“100道Python经典练手题”将会是你的一个重要练习。本文将帮助你理解如何逐步掌握这一挑战的实现,提供具体的步骤和代码示例。## 完成100道题目的步骤以下是完成“100道Python经典练手题”的简要流程:| 步骤
1,九九乘法表undefined reference to `sqrt'linux本身无math库 -lm,伪链接;
一. 变量,输入输出1.1 数值1.1.1 整型1.1.2 浮点型1.1.3 abs,int,round函数1.1.4 表达式1.1.5 Py中数据对象的存储 1.2 字符串1.2.1 字符串表示1.2.2 索引以及切片1.2.3 字符串常用操作1.3 输入输
C语言中有有许多经典的算法,这些算法都是许多人的智慧结晶
C语言100个经典的
您所在位置:网站首页 > 海量文档 > 计算机 > PythonPython入门资料及编程题整理.pdf17页本文档一共被下载:次,您可全文免费在线阅读后下载本文档。 下载提示1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。2.该文档所得收入(下载+内容+预览三)归上传
一、我们首先来看一下效果原型图二、我们将要搭建出来的框架图三、接下来我们将要一步步来学习如何完成整个界面的搭建1、创建空的工程2、创建一个新的类XIbTestVCViewController,勾选xib3、启动后加载新创建的类4、点开新创建的xib文件,它默认展示是个正方形的View5、选中View,点击设置6、方便布局随便选一个7、然后View变成了4.0的屏幕了8、改变背景色9、背景色改变效果
从零到1详细剖析STM32的CAN架构【以STM32F407为例】 1 概览:bxCAN 在 STM32F407 中的位置与作用 bxCAN(Basic extended CAN) 是 STM32F4 系列内部实现的 CAN 控制器硬件 IP,用来在物理 CAN 差分总线上收/发 CAN 帧(支持 ...
这篇文章介绍了YOLO11-obb模型在RK3588开发板上的完整部署流程,包括数据集标注、模型训练、格式转换和板端部署等关键步骤。 主要内容: 开源了YOLO11_RK3588_object_obb项目,提供详细部署教程 梳理了四个必需的项目文件及其版本要求 详细说明使用roLabelImg工具进行旋转框标注的方法 提供了将xml标注文件转换为YOLO格式txt的Python脚本 包含多个相关模型的部署教程链接,如YOLOv8、YOLOv10等 特别强调了版本兼容性问题,建议使用v8.3.7版本进行训练
正如上面所说,为了更加高效的编写代码,出现了集成度很高的代码编辑器,比如Pycharm、Vscode等。再进一步了解这些编辑器之前,我们先看看IDE的概念,IDLE是开发 python 程序的基本IDE(集成开发环境),具备基本的IDE的功能。(IDE,Integrated Development Environment)用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。,打开就是黑框框可以编写代码, 但是一直在这里编写代码,效率就会很低,于是出现了集成度很高的。