c语言实现下面功能:1:设置两个空的字符串,分别存储姓名加学号和姓名;2:设置一个新的字符串用于存储存姓名加学号的字符串前的存姓名的字符串的长度内容;3:比较新设置的字符串与之前存储姓名的字符串,如相同,,输出该姓名
时间: 2024-03-10 07:48:08 浏览: 56
以下是实现上述功能的 C 语言代码:
```
#include <stdio.h>
#include <string.h>
int main() {
char name_and_id[100] = ""; // 存储姓名加学号的字符串
char name[50] = ""; // 存储姓名的字符串
char len_str[10] = ""; // 存储姓名字符串的长度
int len; // 存储姓名字符串的长度
printf("请输入姓名加学号:");
scanf("%s", name_and_id);
printf("请输入姓名:");
scanf("%s", name);
len = strlen(name);
sprintf(len_str, "%d", len); // 将姓名字符串的长度转换为字符串
if (strcmp(len_str, name_and_id) == 0) { // 比较两个字符串是否相同
printf("%s\n", name);
}
return 0;
}
```
运行程序后,按照提示输入姓名加学号和姓名,程序会将姓名字符串的长度存储到新的字符串中,并与之前存储的姓名加学号的字符串进行比较,如果相同则输出姓名。
相关问题
c语言实现下面功能:1:设置两个空的字符串,分别存储姓名加学号和姓名;2比较两个存储的姓名是否相同,如果相同则打印该姓名
以下是一个基本实现,用于实现您所要求的功能:
```c
#include <stdio.h>
#include <string.h>
int main() {
char name_and_id[50] = ""; // 姓名加学号,初始化为空字符串
char name[20] = ""; // 姓名,初始化为空字符串
printf("请输入姓名加学号:\n");
scanf("%s", name_and_id);
printf("请输入姓名:\n");
scanf("%s", name);
if (strcmp(name_and_id, name) == 0) { // 比较两个字符串是否相等
printf("姓名为:%s\n", name);
}
return 0;
}
```
这个程序首先声明了两个字符串,`name_and_id`用于存储姓名加学号,`name`用于存储姓名。然后,程序要求用户输入这两个字符串,接着使用`strcmp`函数比较这两个字符串是否相同。如果相同,程序就会输出姓名。否则,程序不会输出任何内容。
需要注意的是,这个程序只能用于比较两个字符串是否相等。如果您的需求更加复杂,那么就需要根据具体情况进行修改。
不采用系统库函数,自定义一个函数将你的学号作为一个字符串存入一个字符数组,采用该函数将你的姓名作为一个字符串存入另一个字符数组,不采用系统库函数,自己编写--个函数将姓名字符串和学号字符串连接成一个字符串,再编写一- 个函数在连接后的字符串姓名和学号之间加入下划线字符’’,并输出这个字符串。编写main函数测试这些函数。 c语言
好的,以下是代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
void str_cpy(char *dest, char *src) {
while (*src != '\0') {
*dest = *src;
dest++;
src++;
}
*dest = '\0';
}
void str_cat(char *dest, char *src) {
while (*dest != '\0') {
dest++;
}
while (*src != '\0') {
*dest = *src;
dest++;
src++;
}
*dest = '\0';
}
void add_underline(char *str) {
char *p = str;
while (*p != '\0') {
p++;
}
while (p != str) {
*(p+1) = *p;
p--;
}
*(str+strlen(str)) = '_';
}
int main() {
char stu_id[20] = "2021000000";
char name[20] = "Tom";
char result[40];
str_cat(result, name);
str_cat(result, stu_id);
add_underline(result);
printf("%s", result);
return 0;
}
```
这段代码中,我们首先定义了三个字符数组,分别用于存储学号、姓名和结果。然后,我们编写了三个函数,分别实现了字符串复制、字符串拼接和在字符串中添加下划线的功能。
在 main 函数中,我们先将姓名和学号拼接起来,然后在拼接后的字符串中添加下划线,最后输出结果即可。
需要注意的是,为了方便起见,我们在编写字符串拼接和添加下划线的函数时,都假设了两个字符串都以 `\0` 结尾。因此,在实际编写时,需要保证输入的两个字符串都是以 `\0` 结尾的。
阅读全文