字符串左旋
题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。
思路:先把这个字符串的前半部分保存到一个新的字符串中,再把后半部分保存到另一个字符串中。最后,拼接这两个字符串。
1 |
|
思路:先把这个字符串的后边的字符串保存到一个新的临时字符串中,再把后边的字符往前移,最后把新字符串接到后面。
1 |
|
字符串右旋
1 |
|
题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。
思路:先把这个字符串的前半部分保存到一个新的字符串中,再把后半部分保存到另一个字符串中。最后,拼接这两个字符串。
1 | #include <stdio.h> |
思路:先把这个字符串的后边的字符串保存到一个新的临时字符串中,再把后边的字符往前移,最后把新字符串接到后面。
1 | #include <stdio.h> |
1 | #include <stdio.h> |
题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
1 | #include <stdio.h> |
题目:将一个数组逆序输出。
1 | #include <stdio.h> |
题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。
1 | #include <stdio.h> |
1 | #include <stdio.h> |
题目:求一个3*3矩阵对角线元素之和
1 | #include <stdio.h> |
题目:字符串反转,如将字符串“Hello World”反转为”dlroW olleH”
代码一:
1 | #include <stdio.h> |
但是这段代码无法反转带空格的字符串,原因是scanf遇到空格就停止读取了。
解决这个问题,使用%[^\n],表示读取除了换行符 \n 以外的所有字符,这样可以读取整行文本。
代码二:
1 | #include <stdio.h> |
这里改进了scanf不能读取空格之后的问题。
输入Hello World
输出为dlroW olleH
题目:判断一个数字是否为质数。
程序分析:质数(prime number)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数整除。
1 | #include <stdio.h> |
题目:删除一个字符串中的指定字母,如:字符串“aca”,删除其中的a字母。
1 | #include <stdio.h> |
题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。
程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。
monday tuesday wednesday thursday friday saturday sunday
1 | #include <stdio.h> |
题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
1 | #include <stdio.h> |