C&C++指针实训(国防科大)_本关任务:文本匹配的时候经常会因为空格个数的不同而匹配失败,现在要求你编写程序-程序员宅基地

技术标签: 算法  c++  c语言  国防科大  

第1关:去掉字符串首尾空格

200

  • 任务要求
  • 参考答案
  • 评论285

任务描述

本关任务:文本匹配的时候经常会因为空格个数的不同而匹配失败,现在要求你编写程序对输入的字符串进行处理,去掉首尾的空格。

例如:输入的字符串是“ abcd ”,去掉首尾空格后字符串变为“abcd”。

相关知识

指针是 C 语言中的一个重要概念,也是 C 语言的一个重要特色。在 C 语言中,指针被广泛使用,它和数组、字符串、函数间数据的传递等有着密不可分的联系。可以说,没有掌握指针就没有掌握 C 语言的精华。

指针可以对内存中各种类型的数据进行快速、直接的处理,也可以为函数间的数据传递提供简洁、便利的方法。正确熟练地使用指针有利于编写高效的程序,但指针使用不当也容易导致严重错误。指针很灵活,也很危险。

定义指针变量

指针变量(简称指针)就是存放地址的变量。其声明形式与一般变量声明相比只是在变量名前多一个星号*,接下来看两个例子。

例1:


  1. int *p;

该例中声明了变量 p 为指向整型值的指针(即变量 p 中可以存放某个整型变量的地址)。这里的*在声明语句中,是指针说明符,表示声明的变量是指针变量。

例2:


  1. float *xPtr, *yPtr, f;

该例子中声明了两个指向浮点型值的指针 xPtr 和 yPtr 以及一个浮点型变量 f 。

指针的性质

① 指针可以赋值为 NULL 或某个地址。具有值 NULL 的指针不指向任何地址;

② 指针是具有特定属性的地址。光有地址只是知道数据存储在内存的某个位置,但怎么访问该位置的数据(即访问多少位,以什么方式访问)还需要指针类型来明确;

例如:使用 int 类型的指针访问其所指向的数据时,会一次性读取32位( int 类型的数据是32位),并使用整型数据的格式访问该数据。所以指针不仅仅是一个地址,还必须有特定的属性(类型)。

③ 数组名可以看成是一个特殊的地址,首先数组名是地址(数组的首地址),其次数组名有属性(数组元素的类型),所以可以把数组名赋值给同类型的指针变量。

例如:


  1. char s[10] = "China";
  2. char *sptr = s;

第二条语句赋值后 sptr 拥有和 s 同样的值,即数组的首地址,也就是存储字符‘C’的单元的地址。

④ 要访问指针所指向的单元可以使用间接引用运算符*(不同于前面声明语句中的*,这里的*在表达式中,是运算符),*也被称为复引用运算符,它返回其操作数(指针)所指向的对象;

例如:


  1. char s[10] = "China";
  2. char *sptr = s;
  3. cout << *sptr;

将输出指针 sptr 所指的单元中存储的字符(因为 sptr 是 char 类型的指针),也就是输出字符‘C’。

⑤ 可以通过指针的复引用修改指针所指向的单元;

例如:


  1. char s[10] = "China";
  2. char *sptr = s;
  3. *sptr = 'c';

上述代码会将该存储单元中大写字符的‘C’修改为小写字符的‘c’。

请注意前面代码的输出语句和下面的代码语句的区别:


  1. char s[10] = "China";
  2. char *sptr = s;
  3. cout << sptr;

这条语句将输出字符串“China”。之前学习字符数组时应该知道,语句cout << s;会输出数组 s 中存储的整个字符串,实际上 C++ 在使用 cout 输出 char 类型指针时,不是输出字符指针的值(地址),而是输出从该地址开始的字符串(逐个输出一个个字符,直到碰到 '\0' 为止)。所以cout << sptr;cout << s;的作用一样,都是输出字符串“China”。

⑥ 访问一个字符串一般也是使用该字符串的首字符的地址;

⑦ 指针也可以参与算术运算。指针加上或减去一个整数 n,其运算结果是指向指针当前指向变量的后方或前方的第 n 个变量。

例如:之前 sptr 指向字符‘C’的存储单元,执行语句sptr++;后 sptr 则指向字符‘h’的存储单元。如下语句:

```` while(*sptr != '\0') sptr++;


  1. 则可以使指针 sptr 指向该字符串后面的 '\0'。如果要输出字符串中的部分内容,也可以通过修改指针实现,如:

char s[10] = "China"; char *sptr = s; sptr++; cout << sptr;


  1. 上述代码执行语句`sptr++;`后,指针 sptr 指向了字符 'h' 的存储单元,此时`cout << sptr;`输出的是 sptr 指向的字符串,即“hina”。
  2. ⑧ 同类型的两个指针可以参与各种关系运算,其结果可以反映两指针所指向的地址之间的位置前后关系。
  3. 例如:

int a[10]; int *p = a, *q = &a[1]; if(p > q) cout << "p>q" << endl; else cout << "p<=q" << endl;

```

上述代码中指针 p 中存放的是 a 的值,也就是 a[0] 的地址,q 中存放的是 a[1] 的地址,而数组元素是按序连续存储的,所以 q 的值要比 p 的值大,程序输出p<=q

编程要求

在右侧编辑器中的Begin-End之间补充代码,以实现去掉字符串(字符串由平台提供,且已在主函数中获取)首尾空格的功能。具体要求如下:

  • 对于输入的字符串,去掉该字符串首尾的空格后输出;

  • 字符串的存储使用一维字符数组,但本关要求使用指针操作。写完程序后,你也会发现使用指针实现会容易得多。

测试说明

平台会对你编写的代码进行测试,比对你输出的数值与实际正确数值,只有所有数据全部计算正确才能通过测试:

为了方便显示空格,下面给出的测试输入使用下划线 '_' 表示空格。

测试输入:_____asd 预期输出:asd

测试输入:___a_b_c_d__ 预期输出:a_b_c_d


开始你的任务吧,祝你成功!

#include <iostream>
using namespace std;


char * trim(char * str);

int main()
{
    char s[1024];     // 定义存储字符串的一维字符数组
    // 输入一行字符,可以包含空格
    // 输入的字符串存入s中,最多读取个字符,后面自动加上'\0'
    cin.getline(s,1024);
    cout << trim(s) << endl;     // 输出去掉首尾空格后的字符串
    return 0;
}

// 函数trim:去掉字符串首尾空格
// 参数:str-字符指针,指向输入的字符串
// 返回值:字符指针,指向去掉首尾空格后的字符串(首地址)
// 提示:可以直接在字符串str中操作
char * trim(char * str)
{
    // 请在此添加代码,实现函数trim
    /********** Begin *********/
    char *p=str;
    while(*p!='\0'){
        p++;
    }
    p--;
    while(p>str&&*p==' '){
        *p='\0';
        p--;
    }
    while(*str==' '){
        str++;
    }
    return str;
    /********** End **********/
}

第2关:用指针实现pswap函数

100

  • 任务要求
  • 参考答案
  • 评论285

任务描述

本关任务:使用指针实现两个整数值的交换。

相关知识

用指针传递参数

C 和 C++ 函数调用的参数传递方式有两种:传值和传引用。

  • 传值只是值的传递,被调用函数则无法修改实在参数的值;

  • 传引用则是实参和形参共享实在参数的存储单元,所以被调用函数可以通过修改形参来修改实参的值。

如果采用传值的方式传递指针值,可以实现类似于传引用的效果。

例如:


  1. #include <iostream>
  2. using namespace std;
  3. // 函数inc:将p指向的整数值加
  4. // 参数:p-int类型指针,指向要加的整数
  5. void inc(int * p)
  6. {
  7. (*p)++; // *p 访问 p 指向的单元,++ 将该单元的数据加
  8. // 注意不能是 *p++, 因为 * 和 ++ 优先级相同,且右结合,这种写法修改的是 p 的值,而不是 *p 的值
  9. }
  10. int main()
  11. {
  12. int a = 10;
  13. inc(&a); // 调用 inc 函数,修改 a 的值(传递的是 a 的地址)
  14. cout << a << endl; // 输出 a 的值
  15. return 0;
  16. }

上述程序的输出为11,其中被调用函数 inc 只修改了 main 函数中的局部变量 a 的值,但并没有修改实参的值(实参是&a,即 a 的地址依然没变)。

编程要求

在右侧编辑器中的Begin-End之间补充代码,实现使用指针将两个整数(数据由平台提供,且已在主函数中获取)值交换的功能。

测试说明

平台会对你编写的代码进行测试,比对你输出的数值与实际正确数值,只有所有数据全部计算正确才能通过测试:

测试输入:1 2 预期输出:2 1

测试输入:123 678 预期输出:678 123


开始你的任务吧,祝你成功!

#include <iostream>
using namespace std;

void pswap(int * p, int *q);

int main()
{
    int a, b;
    cin >> a >> b;     // 输入两个整数
    pswap(&a,&b);     // 调用pswap函数,交换a、b的值
    cout << a << " " << b << endl;     // 输出a、b的值
    return 0;
}

//函数pswap:交换指针p和q指向的单元中的整数值
//参数:p,q-int类型指针,指向要交换的整数
void pswap(int * p, int *q)
{
    // 请在此添加代码,实现函数pswap
    /********** Begin *********/
    int t;
    t=*p;
    *p=*q;
    *q=t;
    /********** End **********/
}

第3关:选出串中的数字

400

  • 任务要求
  • 参考答案
  • 评论285

任务描述

本关任务:在一串隐藏着一个或多个数值的字符中,选出字符串中的所有数字字符,并将选出的数字字符重新组成新字符串。如果在第一个数字字符之前有负号,则保留该负号,有多个负号时只保留一个。

例如:输入的字符串为“a-1-2-4sd5 s6”,抽取数字后得到的新字符串为“-12456”。

相关知识

完成本关需要具备的知识介绍请参见第一、二关卡。

编程要求

在右侧编辑器中的Begin-End之间补充代码,选出字符串(数据由平台提供,已且在主函数中获取)中的所有数字字符并组成新的字符串输出。要求如果在第一个数字字符之前有负号,则保留该负号,有多个负号时也只保留一个。

提示

如果有字符指针 p 和 q,则下面的程序可以实现:当 q 指向的字符是数字时,将 q 指向的数字拷贝到 p 指向的存储单元:


  1. if(*q >= '0' && *q <= '9')
  2. {
  3. *p = *q;
  4. }

测试说明

平台会对你编写的代码进行测试,比对你输出的数值与实际正确数值,只有所有数据全部计算正确才能通过测试:

测试输入:1 s23df53dcas12sd-121sd 预期输出:1235312121

测试输入:a-1-2-3sd45 j67sd 预期输出:-1234567


开始你的任务吧,祝你成功!

#include <iostream>
using namespace std;

void extractNum(char * str);

int main()
{
    char s[1024];
    cin.getline(s,1024);     // 输入一行字符
    extractNum(s);     // 调用extractNum函数,选出数字
    cout<<s<<endl;     // 输出选出的数字
    return 0;
}

// 函数extractNum:选出str指向的字符串中的数字,并写回str
// 参数:str-指向字符串
void extractNum(char * str)
{
    // 请在此添加代码,实现函数extractNum
    /********** Begin *********/
    char *p=str,*q=str;
    int isPrime=1;
    while(*p!='\0'){
        if(*p=='-'&& isPrime){
            isPrime=0;
            *q++=*p++;
        }else if(*p>='0'&&*p<='9'){
            isPrime=0;
            *q++=*p++;
        }else{
            p++;
        }
    }
    *q='\0';
    /********** End **********/
}

第4关:大写字母好看

200

  • 任务要求
  • 参考答案
  • 评论285

任务描述

本关任务:将一个字符串中的所有小写字母变成对应的大写字母,其它字母不变。

例如:对字符串“abc12! ef”执行函数后输出结果为“ABC12! EF”。

相关知识

完成本关需要具备的知识介绍请参见第一、二关卡。

编程要求

在右侧编辑器中的Begin-End之间补充代码,实现将字符串(数据由平台提供,且已在主函数中获取)中的所有小写字母变成对应大写字母,其它字母不变的功能。

提示

在 ASCII 码表中,大写字母‘A’到‘Z’是连续编码的,小写字母‘a’到‘z’也是连续编码的。也就是说‘A’和‘a’的 ASCII 码的差与‘Z’和‘z’的 ASCII 码的差是一样的。

所以如果字符变量 ch 中存放的是小写字母,则下面的语句可以将其变成对应的大写字母:


  1. ch = ch + 'A'-'a';

测试说明

平台会对你编写的代码进行测试,比对你输出的数值与实际正确数值,只有所有数据全部计算正确才能通过测试:

测试输入:1q2w3ASD45sx~1 预期输出:1Q2W3ASD45SX~1

测试输入:as 12xfASA90[]kl{} 预期输出:AS 12XFASA90[]KL{}


开始你的任务吧,祝你成功!

#include <iostream>
using namespace std;

void toUp(char * str);

int main()
{
    char s[1024];
    cin.getline(s,1024);     // 输入一行字符
    toUp(s);     // 调用toUp函数,转换成大写字母
    cout<<s<<endl;     // 输出变更后的新字符串
    return 0;
}

// 函数toUp:将str指向的字符串中的小写字母变成对应的大写字母
// 参数:str-指向字符串
void toUp(char * str)
{
    // 请在此添加代码,实现函数toUp
    /********** Begin *********/
    char *p=str,*q=str;
    while(*p!='\0'){
        if(*p>='a'&&*p<'z'){
            *q++=*p++-32;
        }else{
            *q++=*p++;
        }
    }
    *q='\0';
    /********** End **********/
}

第5关:子串出现的次数

500

  • 任务要求
  • 参考答案
  • 评论285

任务描述

本关任务:计算一个字符串(子串)在另一个字符串(长串)中出现的次数。

相关知识

字符串操作函数

C 和 C++ 提供了一系列操作字符串的函数,要使用这些函数只要在代码的头文件部分包含 string.h 即可。

常用的字符串处理函数见下表:

函数原型 函数功能
char * strcpy(char *dest,const char *src) 将字符串 src 复制到 dest
char * strcat(char *dest,const char *src) 将字符串 src 添加到 dest 末尾
char * strchr(const char *s,int c) 检索并返回字符 c 在字符串 s 中第一次出现的位置
int strcmp(const char *s1,const char *s2) 比较字符串 s1 与 s2 的大小,若 s1 串大于 s2 串则返回一个大于 0 的值;若 s1 串等于 s2 串则返回值为 0;若 s1 串小于 s2 串则返回一个小于 0 的值。
size_t strlen(const char *s) 返回字符串 s 的长度
char * strncat(char *dest,const char *src,size_t n) 将字符串 src 中最多 n 个字符复制到字符串 dest 中
int strncmp(const char *s1,const char *s2,size_t n) 比较字符串 s1 与 s2 中前 n 个字符
char * strncpy(char *dest,const char *src,zise_t n) 复制 src 中的前 n 个字符到 dest 中
char * strstr(const char *s1,const char *s2) 扫描字符串 s1,并返回第一次出现 s2 的位置
char * strtok(char *s1,const char *s2) 检索字符串 s1,该字符串 s1 是由字符串 s2 中定义的定界符所分隔

 

strstr 函数

在一个长串中查找子串可以使用strstr函数,该函数的函数原型为:


  1. char* strstr(const char* s1, const char* s2);

该函数从 s1 所指字符串中第一个字符起,顺序向后查找出与 s2 所指字符串相同的子串,若查找成功则返回该子串首次出现的首地址,否则返回 NULL。

例如:


  1. char *a="abcdeabcde";
  2. char *b="bcd";
  3. cout<<strstr(a,b)<<endl;

该程序输出结果为“bcdeabcde”,因为strstr(a, b)的返回值为“bcd”在“abcdeabcde”中第一次出现的首地址,所以用 cout 输出时,从该位置的字符开始,逐个输出直到 '\0',即字符串“bcdeabcde”。

当然,查找子串时,也可以从长串的某个位置开始。

例如:


  1. char *a="abcdeabcde";
  2. char *b="bcd";
  3. cout<<strstr(a+4,b)<<endl;

该程序的输出为“bcde”。因为a+4得到一个新地址,即 a 指向的字符串中第一个字符‘e’的地址,从该位置开始查找 b 指向的字符串‘bcd’,得到从字符‘e’开始的第一个“bcd”出现的地址,然后用 cout 输出该地址开始的字符串,即“bcde”。

strlen 函数

另外,下次从什么地方开始查找子串?应该是上次找到子串的开始位置加上子串的长度。其中,函数strlen可以计算字符串的长度,其函数原型为:


  1. int strlen(const char *s);

函数 strlen 只有一个参数 s,它是一个字符指针,代表了一个字符串,函数计算 s 指向字符串的长度并返回。

例如:


  1. char *a="x";
  2. char *b="Hello world!";
  3. cout<<strlen(a)<<endl; // 输出 1
  4. cout<<strlen(b)<<endl; // 输出 12

编程要求

在右侧编辑器中的Begin-End之间补充代码,计算一个字符串(子串)在另一个字符串(长串)中出现的次数。

提示

一个子串在另一个长串中出现的次数是指长串中可以同时截取出多少个子串。例如:子串 "aaa" 在 "aaaaaaa" 中出现的次数为 2 次。

测试说明

平台会对你编写的代码进行测试,比对你输出的数值与实际正确数值,只有所有数据全部计算正确才能通过测试:

测试输入: aaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 预期输出: 7

测试输入: ab aaaaabbbbbabcdefg 预期输出: 2


开始你的任务吧,祝你成功!

自己打败自己是最可悲的失败,自己战胜自己是最可贵的胜利。

如果你觉得这一关的内容对你有帮助,请你在下面点赞。

// 包含字符串函数库
#include <string.h>
#include <iostream>
using namespace std;

int frequency(char * substr, char * str);

int main()
{
    char sub[128],str[1024];
    cin.getline(sub,128);     // 输入子串
    cin.getline(str,1024);     // 输入长串
    int n = frequency(sub,str);     // 调用frequency函数,计算子串在长串中出现的次数
    cout<<n<<endl;     // 输出次数
    return 0;
}

// 函数frequency:计算子串在长串中出现的次数
// 参数:substr-指向子串,str-指向长串
// 返回值:出现的次数
int frequency(char * substr, char * str)
{
    // 请在此添加代码,实现函数frequency
    /********** Begin *********/
    char *p=substr,*q=str;
    int n=0;
    while(q=strstr(q,p)){
            n++;
            q=strstr(q,p)+strlen(p);
    }
    return n;
    /********** End **********/
}

第6关:字符串的部分复制

500

  • 任务要求
  • 参考答案
  • 评论285

任务描述

本关任务:实现字符串的部分复制。

相关知识

完成本关需要具备的知识介绍请参见第五关卡。

编程要求

在右侧编辑器中的Begin-End之间补充代码,实现字符串的部分复制。

提示

函数 strmncpy 的原型为:


  1. void strmncpy(char *s, int m, int n, char *t);
  • 参数 s 指向源字符串,t 指向字符串复制的目标单元,函数功能为将 s 指向字符串从第 m 个(从0开始编号)字符开始的连续 n 个字符复制到 t 指向的存储单元;

  • 如果第 m 个字符后面的字符数不足 n 个,则复制到 '\0'为止;

  • 如果 s 的长度不到 m,则复制空串。

例如:


  1. char *s = "abcdefghijklmn";
  2. char t[20];
  3. strmncpy(s,4,6,t);
  4. cout << t << endl;

输出结果为:efghij

测试说明

平台会对你编写的代码进行测试,比对你输出的数值与实际正确数值,只有所有数据全部计算正确才能通过测试:

测试输入:


  1. abcdefghjkksdsd
  2. 5 7

预期输出:fghjkks

测试输入:


  1. asdftyuioplkm
  2. 3 9

预期输出:ftyuioplk


开始你的任务吧,祝你成功!

#include <iostream>
using namespace std;

void strmncpy(char *s, int m, int n, char *t);

int main()
{
    char s[128],t[128];
    int m,n;
    cin>>s;     // 输入源串
    cin>>m>>n;     // 输入m和n
    strmncpy(s, m, n, t);     // 字符串复制
    cout << t <<endl;     // 输出复制结果
    return 0;
}

// 函数strmncpy:字符串的部分复制,将s指向字符串从第m个字符开始的n个字符复制的t中
// 参数:s-指向源字符串,t-指向目标字符串,m-起始位置,n-字符个数
// 返回值:无
void strmncpy(char *s, int m, int n, char *t)
{
    // 请在此添加代码,实现函数strmncpy
    /********** Begin *********/
    s+=m;
    while(*s!='\0'&&n!=0){
            *t++=*s++;
            n--;
    }
    *t='\0';
    /********** End **********/
}

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_70469414/article/details/127927511

智能推荐

代码质量度量标准_SSIM全攻略:理论+代码(PyTorch)-程序员宅基地

文章浏览阅读759次。作者:Pranjal Datta编译:ronghuaiyang导读有很多资料解释了SSIM背后的理论,但很少有资源深入研究细节,本文就是试图填补这一空白的谦虚尝试。最近,在实现一篇深度估计论文时,我遇到了术语结构相似性指数(SSIM)。SSIM作为度量两个给定图像之间相似度的度量指标。由于这项技术从2004年就开始了,有很多资料解释了SSIM背后的理论,但很少有资源深入研究细节,这对于基于梯度的实..._ssim指标的亮度计算是怎么定义的

java求数列的最大子段和_[剑指offer题解][Java]连续子数组的最大和-程序员宅基地

文章浏览阅读165次。前言众所周知,《剑指offer》是一本“好书”。如果你是个算法菜鸡(和我一样),那么最推荐的是先把剑指offer的题目搞明白。对于剑指offer题解这个系列,我的写作思路是,对于看过文章的读者,能够做到:迅速了解该题常见解答思路(偏门思路不包括在内,节省大家时间,实在有研究需求的人可以查阅其它资料)思路尽量贴近原书(例如书中提到的面试官经常会要求不改变原数组,或者有空间限制等,尽量体现在代码中,保..._请编写程序求数列的最大子段和。提示:输入一组整型数据,输出最大子段和。

如何判断大小端字节序-程序员宅基地

文章浏览阅读688次。大端(存储)模式,是指数据的低位保存在内存的高地址中;小端(存储)模式,是指数据的高位保存在内存的低地址中。出现大小端模式的原因:计算机系统中,是以字节为单位的,每个地址单元都对应着一个字节,一个字节大小为8bit位。但是c语言中除了8bit的char类型以外,还有其他16bit或32bit的类型等等。此外,对于大于8位位数的处理器来说,由于寄存器的宽度大于一个字节,就会出现怎样安排多个字节的..._如何判断大小端字节序

【B/S】引用Google或微软的CDN加载jQuery_\b微软进入cdn美秋天的词-程序员宅基地

文章浏览阅读1.4k次。一、前言前文介绍了JQuery的基础知识,下面小编给大家介绍一下引用Google或微软的CDN加载jQuery。二、内容分析 在网页中我们经常使用jQuery库,选择使用的jQuery加载源,能有效加快网站的加载速度,目前最佳的选择就是使用Google或Microsoft提供的CDN jQuery源。Google Ajax API CDNhttp://ajax.googleapis.com_\b微软进入cdn美秋天的词

【UEFI实战】UEFI-Free-程序员宅基地

文章浏览阅读1.1k次,点赞2次,收藏2次。本文介绍那些非UEFI的x86启动器。_uefi-free

数据结构C(4)——循环链表、双向链表、双向链表的插入、删除_循环链表、双向链表中插入、删除结点的指针修改-程序员宅基地

文章浏览阅读606次。一、循环链表循环链表是一种头尾相接的链表(即:表中最后一个结点的指针域指向头结点,整个链表形成一个环)优点:从表中任一结点出发均可找到表中其他结点注意:由于循环链表中没有NULL指针,故涉及遍历操作时,其终止条件就不再像非循环链表那样判断p或p->next是否为空,而是判断他们是否等于头指针循环条件p!=NULL → p!=Lp->next!=NULL → p-&_循环链表、双向链表中插入、删除结点的指针修改

随便推点

Flink StreamingFileSink 文件到hdfs 文件一直处于inprogress状态无法生成正式文件_hdfs 文件 出现包含inprogress-程序员宅基地

文章浏览阅读6.9k次,点赞4次,收藏10次。问题描述:任务逻辑是通过实时读取Kafka数据,一分钟计算一次数据,并利用Flink StreamingFileSink将数据落地到HDFS文件中。为了应对大促剧增的数据量,对当前运行稳定的集群进行了扩容处理,任务重启后发现写入的hdfs文件一直处于inprogress状态无法滚动生成正式文件。解决过程:开始是猜想可能是并行度过多,导致产生大量临时文件,文件句柄太多,关闭耗时导致文件一直无法完成合并?将并行度调整到1,发现问题并没有解决。又猜想是因为调整了checkpoint参数,禁用掉che_hdfs 文件 出现包含inprogress

2021年06月 C/C++(四级)真题解析#中国电子学会#全国青少年软件编程等级考试_中国电子学会c++四级-程序员宅基地

文章浏览阅读259次。图1给出了一个数字三角形。从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,你的任务就是找到最大的和。注意:路径上的每一步只能从一个数走到下一层上和它最近的左边的那个数或者右边的那个数。时间限制:1000内存限制:65536输入的是一行是一个整数N (1 < N _中国电子学会c++四级

多个EL表达式进行比较-程序员宅基地

文章浏览阅读477次。2019独角兽企业重金招聘Python工程师标准>>> ..._多个el表达式

calendar vue日期选择组件 基于 vue 2.0高性能日历组件(vue2-datepick)-程序员宅基地

文章浏览阅读2.4k次。一、点击文本框,选择日期,把日期赋值到文本框中。 二、日期组件使用1、安装vue2-datepicknpm install vue2-datepick --save2、初始化,在main.js中加入以下:import Calendar from 'vue2-datepick';Vue.use(Calendar);3、使用&lt;template&gt;..._vue2-datepick

Eigen快速入门-程序员宅基地

文章浏览阅读1k次。Eigen 快速入门_eigen

Linux纯干货知识总结_linux干货总结-程序员宅基地

文章浏览阅读364次。Linux纯干货知识总结 | 面试专用绝对路径和相对路径绝对路径以正斜杠开始完整的文件的位置路径可用于任何想置顶一个文件名的时候相对路径不以斜线开始置顶相对于当前工作目录或某目录的位置可以作为一个简短的形式指定一个文件名-基名:basename,就是文件本身的名字-目录名:dirname ,就是它所在的文件夹名更改目录cd 改变目录使用绝对或相对路径cd/home/wangcd home/wang切换至父目录:cd切换至以..._linux干货总结

推荐文章

热门文章

相关标签