题解列表

筛选

超简单的公式解方程

解题思路:超级简单的求根公式法解一元二次方程,比前面的1028要简单太多了(因为不需要考虑复数解),所以直接代入公式即可注意事项:判别式要用到开根号sqrt函数,所以需要添加math.h头文件!参考代码:#include#includeintmain(){double

简单的数组输入及判断

摘要:解题思路:以数组形式输入并储存10个整数,然后逐一与输入高度 的差值和30进行比较即可注意事项:参考代码:#include <stdio.h>int main(){  ……

原地反转法逆序输出字符串

解题思路:对于一个字符串,其实就是字符数组,我们可以把数组元素从两端向中间交换字符,实现原地反转注意事项:参考代码:#include#includevoidreverseString(charstr[]){intlen=strlen(str);intleft=0;

全面严谨的字符串反转写法

解题思路:这个题目,我看了很多人的题解,只是简单的对半交换位置输出。这样的代码是不严谨的,题目说了输出不包含空格,所以要把空格去掉,剩下来的临时数组逆序输出。同时严谨代码还要把末尾可能有的换行符给去掉(当然不去也行,这个题目的测试数据应该是都没包含换行)注意事项:参考代码:#include

用字符串函数处理字符串问题

解题思路:在string.h中,提供了拼接两段字符串的函数strcat,使用它可以简便处理两段字符串的拼接注意事项:参考代码:#include#includeintmain(){charstr1[100];charstr2[100];gets(str1);gets

利用ASCII码进行字符和数字转换

解题思路:题目要求很简单,输入数字,输出对应ASCII的字符。所以写一个字符赋值语句再输出即可!注意最后输出末尾不能加换行符,这是题目要求注意事项:参考代码:#includeintmain(){intx;while(scanf("%d",

第三种多项输入

解题思路:与前两种不同,题目说的是直到输入两个0才停止,那么在正常的循环输入中,单独讨论ab为0的情况注意事项:参考代码:#includeintmain(){inta,b;while(scanf("%d%d",&a,&b)==2){if(a==0&&b==0)break;elsepr

第二种多项输入方式

解题思路:在给定输入数据组数N之后,我们可以类比数组输入,从1到N组遍历输入输出。需要注意的是这种代码在OJ上可以通过,但是在控制台上会不行,因为控制台输出需要回车,而回车键一敲就会先输出一组数据。注意事项:参考代码:#includeintmain(){intn;scanf("%d"

多项输入的处理方法

解题思路:经典多项输入的处理,一般用while语句循环直到scanf不再成功输入为止。可以用!=EOF,这里我采用另一种少见的写法,因为scanf本身也有函数返回值,即成功输入的个数,那么只有其输入两个数我才进行相加,否则退出循环,于是判断条件也可以写成while(scanf("%d%d",

采用两段输入法解决数字后移

解题思路:这个题目可能大部分人第一感是数组元素换位置,怎么样把后面的数字整体放在前面,然后前面的数次顺次往后移呢?一种思路是后m个元素赋值到前m项,然后前n-m项的数组下标全部增加m,这样写的代码略显复杂。于是我采用取巧的方式,不进行数组新变换操作了,先输出后m项,再输出前n-m项即可。