2023-12-13 课上练习(动态数组和结构体练习)
2023-12-13 20:47:37
题目:建立动态数组,输入5个学生的成绩,另外用一个函数检查其中有无低于60分的,输出不合格的成绩
解题思路:
用malloc函数开辟一个动态自由区域,用来存5个学生的成绩,会得到这个动态域第1个字节的地址,它的基类型是void型。用一个基类型为int的指针变量p来指向动态数组的各元素,并输出它们的值。但必须先把malloc函数返回的void指针转换为整型指针,然后赋给p1。
代码:
#include<stdio.h>
#include<stdlib.h>
int main()
{
void check(int *);
int *p1, i;
p1= (int*)malloc(5 * sizeof(int));
for (i = 0; i < 5; i++)
{
scanf_s("%d", p1 + i);
}
check(p1);//调用check函数
return 0;
}
void check(int* p)//定义check函数,形参是int*指针
{
int i;
printf("不合格的:");
for (i = 0; i < 5; i++)
{
if (p[i] < 60)
printf("%d ", p[i]);//输出不合格的成绩
}
printf("\n");
}
运行结果:?
67 98 59 78 57
不合格的:59 57
题目:把一个学生的信息(包括学号、姓名、性别、住址)放在一个结构体变量中,然后输出这个学生的信息
解题思路:
先在程序中自己建立一个结构体类型,包括有关学生信息的各成员。然后用它来定义结构体变量,同时赋予初值(学生的信息)。最后输出该结构体变量的各成员(即该学生的信息)。
代码:
#include<stdio.h>
#include<string.h>
struct student
{
int num;
char name[10];
char sex;
float height;
};
int main()
{
struct student s1;//定义结构变量
s1.num = 99001;//保存记录
strcpy(s1.name, "李明");
s1.sex = 'M';
s1.height = 1.75;
printf("学号:%d\n", s1.num);//输出记录
printf("名字:%s\n", s1.name);
printf("性别:%c\n", s1.sex);
printf("身高:%.2f", s1.height);
return 0;
}
运行结果:?
学号:99001
名字:李明
性别:M
身高:1.75
文章来源:https://blog.csdn.net/RAN_PAND/article/details/134973388
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!