编程实现,输入一个字符串?

求助:在DOS环境下用C语言输入一个最长258个字符字符串,实现字符串倒转输出

8. 字符串逆序(递归实现)

9. 计算一个数的每位之和(递归实现)

10. 递归实现n的k次方

13. 求两个数二进制中不同位的个数

14. 打印整数二进制的奇数位和偶数位

16.打印水仙花数(加强版)

19.调整奇数偶数顺序


判断一个数是不是素数,打印100到200之间的素数并算出有几个素数。

注:若 i = a * b,则其中一个因子(a 或 b)一定小于等于根号i 

所以:要判断是否为素数(找的因子)只需要j 的范围在【2,sqrt(i)】之间即可

打印1000年到2000年之间的闰年。

//判断闰年的规则:(满足1或2即可) //1.能被4整除且不能被100整除

给定两个数,求这两个数的最大公约数

//先找到两个数中的最小值min(因为最大公约数最大能到min) //暴力解出最大公约数

编写程序数一下1到 100 的所有整数中出现多少个数字9

//不用逻辑判断的代码

注:除法操作符 / 他两边都是整数的时候,执行的是整数除法,如:1/2 = 0,但两边操作数只要有一个浮点数,执行的就是浮点数的除法

求10 个整数中最大值

注:在定义最大值时,让其等于数组中的第一个数,而不是0(为了防止数组中全是负数的情况)

在屏幕上输出9*9乘法口诀表

注意"错位"的现象:用%2d(右对齐)或%-2d(左对齐)解决

实现:将参数字符串中的字符反向排列,不是逆序打印。

递归思路: 两端字符‘a’ ‘f’换位,中间剩余字符串“bcde”参与下次递归

如,第一步的具体步骤为:

②‘f’替换'a'的位置

③用‘\0’替换原来‘f’的位置(这样做的目的是:找到倒数第二个元素e的位置,因为strlen函数计算长度的方式是遇到'\0'终止,这样才能逆序中间剩余字符串

④当中间字符串逆序完毕,再将‘a’放入曾经‘f’的位置

注:对于逆序中间字符串的步骤,当中间字符串长度大于1,这样他们才有继续换位置 和参与下一次递归的必要

写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和

输入:1729,输出:19

编写一个函数实现n的k次方,使用递归实现。

创建一个整形数组,完成对数组的操作

要求:自己设计以上函数的参数,返回值。

注:在编写函数时尽量不要有多余的操作(如:初始化函数,那就初始化即可,不需要打印出来),另外,逆置数组是要求把数组元素逆置而不只是逆序打印

将数组A中的内容和数组B中的内容进行交换。(数组一样大)

编程实现:两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同? 

//一个数与1按位与,可知从右往左第一位是0还是1 // - 和1按位与 结果为1,若最右是0,则结果为1 //要求m与n之间有多少位不同,就相当于求 m^n后二进制序列里有多少个1(因为异或相同为0相异为1) //又已知a & (a - 1)可以使a从左往右第一个1变成0,所以代码如下:

获取一个整数二进制序列中所有的偶数位和奇数位,分别打印出二进制序列

求出0~100000之间的所有“水仙花数”并输出。

“水仙花数”是指一个n位数,其各位数字的n次方之和确好等于该数本身,如:153=1^3+5^3+3^3,则153是一个“水仙花数”。

//判断i是否为自幂数 int sum = 0; //*易错点*,每次循环开始时sum要归0,不能写在循环外面 //2.获得i的每一位,计算其每一位的n次方和

用C语言在屏幕上输出一个菱形。

//菱形上半部分打印line行 //先打印空格,再打印* //先打印空格,再打印*

喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水(编程实现)。

输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。

思路:双指针:在数组中从前往后找到一个偶数,从后往前找到一个奇数,交换,指针向中间移动

//更易理解的版本,但更复杂 //该方法要单独考虑数组全为奇数或全为偶数的情况: //若全是奇数,left会一直++,出现越界的情况

模拟实现库函数strcpy

//const为了保证拷贝的数组不发生变化,防止输错了的时候改变了原数组的值 ; //一举两得,既将arr1赋值了hello\0,且赋值\0后,循环条件判定为假,终止循环

科目:Java程序设计

学科:计算机科学与技术

我要回帖

更多关于 输入一个字符串统计字符个数 的文章

 

随机推荐