华为机试—指针合并字符串

写一个程序实现功能:将两个字符串合并为一个字符串并且输出,用指针实现。

#include <stdio.h>

int main()
{
    char str1[20]={"Hello "}, str2[20]={"World"};
    char *p=str1, *q=str2;

    while( *p ) p++;
    while( *q )
    {
        *p = *q;
        p++;
        q++;
    }
    *p = ‘\0‘;
    printf("%s\n", str1);

    return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-05 22:00:24

华为机试—指针合并字符串的相关文章

华为机试—回文字符串

给出一个长度不超过1000的字符串,判断它是不是回文(顺读,逆读均相同)的. #include <iostream> #include <cstring> using namespace std; int huiwen(char *a){ int len = strlen(a); int i,j=len-1; for(i=0;i<len/2;i++,j--){ if(a[i]!=a[j]){ return 0; } } return 1; } int main(){ char

华为机试:合并表记录

题目描述 数据表记录包含表索引和数值,请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出. 输入描述: 先输入键值对的个数然后输入成对的index和value值,以空格隔开 输出描述: 输出合并后的键值对(多行) 示例1 输入 4 0 1 0 2 1 2 3 4 输出 0 3 1 2 3 4 Java:将数据存储到二维数组中,然后在Arrays.sort()中重写了Comparator,让其可以直接对二维数组利用某一列进行关键字排序,排序后关键字相同的行均

华为机试:删除字符串中出现次数最少的字符

题目描述 实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除.输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序. 输入描述: 字符串只包含小写英文字母, 不考虑非法输入,输入的字符串长度小于等于20个字节. 输出描述: 删除字符串中出现次数最少的字符后的字符串. 示例1 输入 abcdd 输出 dd Java:用两个数组来记录各个字符的个数,一个用来排序找出最小的字符出现次数,一个用来决定是否输出当前字符. 1 import java.util.Arrays; 2 i

【华为机试练习】字符串最后一个单词的长度

题目描述计算字符串最后一个单词的长度,单词以空格隔开.输入描述:一行字符串,非空,长度小于5000.输出描述:整数N,最后一个单词的长度. 解法(C语言版): #include<stdio.h> #include<string.h> int main() { char str[5000]; int i, n, len; gets(str); len = strlen(str); n = 0; if(len != 0) for(i = len-1; (str[i] != ' ') &

【华为机试练习】字符串分隔

题目描述?连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组:?长度不是8整数倍的字符串请在后面补数字0,空字符串不处理.输入描述:连续输入字符串(输入2次,每个字符串长度小于100)输出描述:输出到长度为8的新字符串数组 解法(C语言版): #include<stdio.h> #include<string.h> char *outputstr(char *in, char *out) { int i; for(i = 0; i < 8; ++i) { if(

【华为机试练习】字符串反转

题目描述写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串.例如:输入描述:输入N个字符输出描述:输出该字符串反转后的字符串 解法1(C语言版): #include<stdio.h> int main() { char str[1000]; int len, i, j; char temp; gets(str); len = strlen(str); for(i = 0, j = len - 1; i < j; ++i, --j) { temp = str[i]; str[i]

2014年6月6日--华为机试

准备了还有一段时间了,结果还是悲剧了,主要准备的是算法,结果华为机试更看重字符串的操作,这一块正好是自己的弱项,哎.不过还有时间,这几个月多刷刷题,多锻炼锻炼,加油吧. 机试一共考了三道题,两道简单点的,一道难题,难题考得是状态机,不知道是什么东西╮(╯▽╰)╭,简单的两题做的也不好,回来在重新做一下.   1.倒置英文句子中单词的字母顺序. hello, I am good.  ->  olleh, I ma doog. 这题其实不难,当时脑子有点纠结符号,所以没做出来,还有一点客观原因,平时

华为机试在线训练(4)

华为机试在线训练:字符串分隔 题目描述 ?连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组:?长度不是8整数倍的字符串请在后面补数字0,空字符串不处理. 输入描述: 连续输入字符串(输入2次,每个字符串长度小于100) 输出描述: 输出到长度为8的新字符串数组 输入例子: abc123456789 输出例子: abc000001234567890000000 代码: 1 import java.util.Arrays; 2 import java.util.Scanner; 3

(华为机试)双向链表实现字符串条件表达式的求值

描述: 给定一个以字符串形式表示的算术表达式,计算该表达式的值. 表达式支持如下运算:"+.-.*./",其中"*"和"/"的优先级要高于"+"和"-": 不需要考虑括号,且表达式之间没有空格: 例如:对于表达式"3-2+15*2",该表达式值为31. 运行时间限制: 60 Sec 内存限制: 256 MByte 输入: 加减乘除四则运算表达式,长度不超过1024字节,运算式中不含有括号