当前位置 博文首页 > 生命不息 奋斗不止 | LINUX爱好者 世界因你的敲打而改变~~:2014

    生命不息 奋斗不止 | LINUX爱好者 世界因你的敲打而改变~~:2014

    作者:[db:作者] 时间:2021-06-10 18:13

    1.输入摸一个数,然后将其倒过来相加,如果和不是回文串,那么将和再采取同样的操作,在判断得到的是否为回文串,这样往返7次,如果其中有一次是回文就直接打出来,若都没有,那么输出0;

    也很简单!用库函数更简单,itoa这个!整数转成字符,然后判断回文!

    2.关于匹配的字符串的个数的最大值,即目标字符串与多个字符串比配,找出匹配最多的那个字符串。

    其实代码很简单,我当时用2个数组,下标即为字符,值为出现次数,这样 比较即可;

    可是我输入字符的代码写错了比如要输入Li si;到一个字符数组里面,我写成了

    char a[200];
    
    cin>>a;//这里错了,应该写为cin.getline(a,200);因为cin输入遇到空格就认为输入结束,所以只有li,没有si
    

    3.输入一个十进制的数,与一个n整数,求输出这个十进制数的n进制的数!

    分析:哎,真倒霉,可以用atoi函数啊

    itoa函数

    #include<cstdlib>
    #include<cstdio>
    int main()
    {
    	int num = 10;
    	char str[100];
    	itoa(num, str, 2);
    	printf("%s\n", str);
    	return 0;
    }
    


    ?

    itoa()函数有3个参数:第一个参数是要转换的数字,第二个参数是目标字符串,第三个参数是转移数字时所用 的基数。在上例中,转换基数为10。10:十进制;2:二进制……
    于是想到了一个十进制转二进制的方法:

    #include<cstdlib>
    #include<cstdio>
    int main()
    {
    	int num = 10;
    	char str[100];
    	int n = atoi(itoa(num, str, 2));
    	printf("%d\n",n);
    	return 0;
    }
    

    先把num转换为二进制的字符串,再把该字符串转换为整数。
    ?
    哎,平时用惯了VS2010,用VC++6.0就不熟了!!