C语言算法问题,求解28竞猜大神算法解答

我会把我学习C语言碰到的经典的算法题目全都归类到这个帖子中希望对和我一样学习编程的小白有帮助!但求精简,以最少的时间入门C语言
1.输入n个数,输出其中最大嘚一个数

3.输入a,b,c三个值,输出其中最大值

7.输入有三个字符串,要求找出其中最大的字符串

9.用指针方法对10个整数按由大到小的顺序排列。

写代码翻转一个C风格的字符串(C風格的意思是”abcd”需要用5个字符来表示,包含末尾的 结束字符)

这道题如果就是要考察你有没有注意到C风格字符串最后的那个结束符那我覺得还是像书 上写的那样,在代码中有所体现代码如下:

博主表示对这个第一种方法有点懵逼,有懂的28竞猜大神算法麻烦教导一下O(∩_∩)O谢谢。指针方面我基本上没怎么学~~~

否则的话,可以直接获取字符串的长度然后从两头开始一一交换相应的字符。代码如下:

我对第┅种方法的理解:

详细解释下c风格字符串:
c风格的字符串是用数组存放的一般要以’\0’结束
而c++主要以string类代替,更加高效且不易出错

string是c++Φ的关键字,和int,float等等一样 在c++中,string 定义的变量可以直接存储字符串在C语言中是没有这种直接存储字符串的变量的。
[ ]里面是4是因为,C风格的字符串在最后都会默认添加’\0’,所以”123”本质上是1 2 3 ‘\0’
它其实是占四个字节所以如果你只定义3个存储空间的话,那’\0’这个字苻串终止标志就回被丢弃那么以后的应用就回出现问题。举个例子:你用strlen(str)试试查看长度为3时的这个字符串的长度很可能就会有问题。 ‘\0’ 是c字符串都存在的

我要回帖

更多关于 28竞猜大神算法 的文章

 

随机推荐