c语言实现下面功能:1:设置两个空的字符串,分别存储姓名加学号和姓名;2比较两个存储的姓名是否相同,如果相同则打印该姓名
时间: 2024-03-10 10:47:57 浏览: 21
以下是一个基本实现,用于实现您所要求的功能:
```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`函数比较这两个字符串是否相同。如果相同,程序就会输出姓名。否则,程序不会输出任何内容。
需要注意的是,这个程序只能用于比较两个字符串是否相等。如果您的需求更加复杂,那么就需要根据具体情况进行修改。
相关问题
c语言实现下面功能:1:设置两个空的字符串,分别存储姓名加学号和姓名;2:设置一个新的字符串用于存储存姓名加学号的字符串前的存姓名的字符串的长度内容;3:比较新设置的字符串与之前存储姓名的字符串,如相同,,输出该姓名
以下是实现上述功能的 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语言实现输入两个学生的学号、姓名和成绩,输出成绩较高学生的学号、姓名和成绩
以下是用C语言实现输入两个学生的学号、姓名和成绩,输出成绩较高学生的学号、姓名和成绩的代码:
```c
#include <stdio.h>
#include <string.h>
struct Student {
int id;
char name[20];
float score;
};
int main() {
struct Student s1, s2;
// 输入第一个学生的信息
printf("请输入第一个学生的学号、姓名和成绩:\n");
scanf("%d %s %f", &s1.id, s1.name, &s1.score);
// 输入第二个学生的信息
printf("请输入第二个学生的学号、姓名和成绩:\n");
scanf("%d %s %f", &s2.id, s2.name, &s2.score);
// 比较成绩,输出成绩较高的学生的信息
if (s1.score > s2.score) {
printf("成绩较高的学生是:%d %s %.2f\n", s1.id, s1.name, s1.score);
} else {
printf("成绩较高的学生是:%d %s %.2f\n", s2.id, s2.name, s2.score);
}
return 0;
}
```
在上面的代码中,我们使用了结构体来存储学生的信息。首先定义了一个名为`Student`的结构体,其中包含学号、姓名和成绩三个成员变量。然后在`main`函数中,定义了两个`Student`类型的变量`s1`和`s2`,分别用来存储两个学生的信息。接着通过`scanf`函数从控制台输入每个学生的信息。最后比较两个学生的成绩,输出成绩较高的学生的信息。