编写评定成绩等级的函数 函数名:类似wlbgrade(wlb三个字母必须替换成您姓名的汉语拼音缩写) 形参:仅一个整型指针类型的形参,用于传递实参中成绩(分数)在内存中的地址 返回值:字符串指针类型,用于返回评定的成绩等级字符串(优秀、良好、中等、及格、不及格)在内存中的地址 功能:根据形参所指向的成绩(分数)用多分支if或switch语句判断其等级,等级以字符串的形式保存在字符数组内。提示:要使用string.h及strcpy函数,返回等级字符串的地址
时间: 2024-02-18 20:04:42 浏览: 125
好的,以下是您要求的函数代码:
```c
#include <string.h>
char* wlbgrade(int* score) {
char* grade = (char*)malloc(sizeof(char) * 10);
if (*score >= 90) {
strcpy(grade, "优秀");
}
else if (*score >= 80) {
strcpy(grade, "良好");
}
else if (*score >= 70) {
strcpy(grade, "中等");
}
else if (*score >= 60) {
strcpy(grade, "及格");
}
else {
strcpy(grade, "不及格");
}
return grade;
}
```
这个函数的作用是根据传入的成绩(分数)评定其等级,并将等级字符串的地址返回。使用了`string.h`库中的`strcpy`函数将等级字符串复制到动态分配的内存空间中,以免出现指针错误。
相关问题
请使用C语言编写评定成绩等级的函数 函数名:类似wlbgrade(wlb三个字母必须替换成您姓名的汉语拼音缩写) 形参:仅一个整型指针类型的形参,用于传递实参中成绩(分数)在内存中的地址 返回值:字符串指针类型,用于返回评定的成绩等级字符串(优秀、良好、中等、及格、不及格)在内存中的地址 功能:根据形参所指向的成绩(分数)用多分支if或switch语句判断其等级,等级以字符串的形式保存在字符数组内
好的,以下是根据您提供的要求编写的C语言函数:
```c
#include <stdio.h>
char* wlbgrade(int *score){
char* grade;
if (*score >= 90){
grade = "优秀";
} else if (*score >= 80){
grade = "良好";
} else if (*score >= 70){
grade = "中等";
} else if (*score >= 60){
grade = "及格";
} else {
grade = "不及格";
}
return grade;
}
int main(){
int score = 85;
char* grade = wlbgrade(&score);
printf("成绩等级为:%s\n", grade);
return 0;
}
```
函数名为wlbgrade,形参为整型指针类型的score,返回值为字符串指针类型的grade。根据score的值,用多分支if语句判断其等级并保存在字符数组内,最后返回等级字符串的地址。在main函数中,定义一个score变量,调用wlbgrade函数并将score的地址传入,将结果保存在grade变量中并输出。
请运用C语言编写评定成绩等级的函数 函数名:类似wlbgrade(wlb三个字母必须替换成您姓名的汉语拼音缩写) 形参:仅一个整型指针类型的形参,用于传递实参中成绩(分数)在内存中的地址 返回值:字符串指针类型,用于返回评定的成绩等级字符串(优秀、良好、中等、及格、不及格)在内存中的地址 功能:根据形参所指向的成绩(分数)用多分支if或switch语句判断其等级,等级以字符串的形式保存在字符数组内。提示:要使用string.h及strcpy函数,返回等级字符串的地址
下面是我为您编写的代码:
```c
#include <stdio.h>
#include <string.h>
char* ltwgrade(int* score) {
char* grade;
char levels[5][4] = {"优秀", "良好", "中等", "及格", "不及格"};
int index = (*score - 50) / 10;
if (index < 0) {
index = 0;
} else if (index > 4) {
index = 4;
}
grade = (char*)malloc(sizeof(char) * strlen(levels[index]) + 1);
strcpy(grade, levels[index]);
return grade;
}
```
函数中使用了一个字符数组`levels`来存储等级的字符串,使用`index`来计算成绩对应的等级在`levels`中的下标,从而返回对应的等级字符串。函数返回的是等级字符串的地址,因此需要使用`malloc`为其动态分配内存空间。
阅读全文