1.数字颠倒
字符串切片操作,c语言中模除取余数输出
n = input().strip()
print(n[::-1])
2.字符串反转
同1,C语言中可以使用for循环逆序输出
3.句子逆序
数组切片操作
s = input().strip().split(' ')
print(' '.join(s[::-1])) #s为数组所以要用到join方法。
//C语言实现
#include <stdio.h>
#include <string.h>
int main()
{
char a[10000];
gets(a);
int j = strlen(a)-1;
int flag = 1;
while(j >=0)
{
int i=j;
while(a[j] != ' ')
{
j -- ;
if (j == -1)
{
flag = 0;
break;
}
}
for(int k = j+1;k<=i;k++)
printf("%c",a[k]);
if(flag == 1)
printf(" "); //注意是""双引号。
j --;
}
}
4.字符串的连接最长路径查找
sort函数进行排序
n = int(input())
l = []
for i in range(n):
l.append(input())
l.sort()
for j in l:
print(j)
5.int型正整数在内存存储时1的个数
循环将整数与1做与运算,然后将整数右移1位。
n = int(input().strip())
s = bin(n)[2:]
print(s.count('1'))
6.购物单
动态规划问题比较复杂,单独一篇博客列出。
7.坐标移动
从(0,0)开始移动,从输入字符串读取一些坐标,计算最终结果。
比较简单,先做输入字符串合法性检查,然后进行坐标计算。
while True:
try:
s = input().strip().split(