用指针写成绩等级评定
时间: 2023-07-20 20:15:23 浏览: 73
好的,我可以为您提供一份使用指针来进行成绩等级评定的示例代码,您可以参考以下代码:
```c
#include <stdio.h>
void grade(int *score) {
if (*score >= 90) {
printf("成绩等级为:A\n");
} else if (*score >= 80) {
printf("成绩等级为:B\n");
} else if (*score >= 70) {
printf("成绩等级为:C\n");
} else if (*score >= 60) {
printf("成绩等级为:D\n");
} else {
printf("成绩等级为:E\n");
}
}
int main() {
int score;
printf("请输入成绩:");
scanf("%d", &score);
grade(&score); // 传递指向成绩的指针
return 0;
}
```
以上代码中,我们定义了一个名为`grade`的函数,该函数接收一个指向成绩的指针,并根据成绩进行等级评定。在`main`函数中,我们首先输入成绩,然后将成绩的地址传递给`grade`函数进行评定。
希望这份代码能够帮助您解决问题,如果您有任何疑问,可以随时向我提出。
相关问题
用指针优化学生成绩排名
学生成绩排名可以使用指针进行优化,可以减少不必要的内存开销和提高程序的效率。
首先,我们可以定义一个结构体类型来存储学生的信息,包括姓名、学号和成绩等:
```
typedef struct {
char name[20];
int id;
float score;
} Student;
```
然后,我们可以定义一个指向该结构体类型的指针数组,用于存储多个学生的信息:
```
Student *students[100];
```
接下来,我们可以通过动态内存分配来为每个学生分配内存,并将其地址存储在指针数组中:
```
for (int i = 0; i < n; i++) {
students[i] = (Student *)malloc(sizeof(Student));
// 输入学生的信息
}
```
在输入完所有学生信息后,我们可以遍历指针数组,计算每个学生的排名:
```
for (int i = 0; i < n; i++) {
int rank = 1;
for (int j = 0; j < n; j++) {
if (students[j]->score > students[i]->score) {
rank++;
}
}
printf("%s %d %.2f %d\n", students[i]->name, students[i]->id, students[i]->score, rank);
}
```
这里使用了指向结构体类型的指针 `students[i]` 来访问每个学生的成绩,以及使用指针数组 `students[j]` 遍历所有学生的成绩来计算排名。
在程序结束后,我们需要释放每个学生分配的内存:
```
for (int i = 0; i < n; i++) {
free(students[i]);
}
```
这样就可以使用指针优化学生成绩排名的程序。
用指针写strrev函数
可以通过以下方式使用指针来实现strrev函数:
```c
#include <stdio.h>
#include <string.h>
void strrev(char *str) {
char *start = str;
char *end = str + strlen(str) - 1;
char temp;
while (start < end) {
temp = *start;
*start = *end;
*end = temp;
start++;
end--;
}
}
int main() {
char str[] = "hello world";
printf("Before reversal: %s\n", str);
strrev(str);
printf("After reversal: %s\n", str);
return 0;
}
```
在上面的代码中,我们使用了两个指针start和end,分别指向字符串的开始和结束。在while循环中,我们交换这两个指针所指向的字符,直到它们相遇或者交错为止。这样,就完成了字符串的翻转。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)