输入6名学生的学号,姓名和三门课程的成绩,三门课程的名称:(programming,databse,network)。。。。。。。

本次实验用到了结构体和函数知识,程序设计在VS中实现,其他编译软件若不适合可自行修改

输入6名学生的学号,姓名和三门课程的成绩,三门课程的名称:(programming,databse,network),存入到一个结构体数组中;编写aveScore()函数,其功能是计算学生三门课程的平均成绩,并存到结构体数组中:在主函数中输入学生信息,调用aveScore()函数,并输出学生的姓名和平均分信息

源程序:

#include<stdio.h>
float aveScore(int score[3]);

struct student
{
	long stduent_id;
	char name[10];
	int score[3];//score[0]到score[2]分别代表学生的programming,dababase,network成绩
	float avescore;
};

int main()
{
	int i;
	struct student stu[6];
	for (i = 0; i < 6; i++)
	{
		printf("请分别输入第%d个学生的学号,姓名以及programming、dababase、network成绩\n", i + 1);
		scanf_s("%ld%s%d%d%d", &stu[i].stduent_id, &stu[i].name,10, &stu[i].score[0], &stu[i].score[1], &stu[i].score[2]);
		stu[i].avescore = aveScore(stu[i].score);
	}
	for (i = 0; i < 6; i++)
	{
		printf("\n学号:%ld\t姓名:%s\tprogramming成绩为:%d\tdababase成绩为:%d\tnetwork成绩为:%d\t平均成绩为:%.2f\n", stu[i].stduent_id, stu[i].name, stu[i].score[0], stu[i].score[1], stu[i].score[2], stu[i].avescore);
	}
	return 0;
}

float aveScore(int score[])
{
	float avescore = 1.0 * (score[0] + score[1] + score[2]) / 3;
	return avescore;
}

其中为了方便讲解有些可能会存在困惑的地方,将代码复制在下面方便说明

源程序:

#include<stdio.h>
float aveScore(int score[3]);

struct student//结构体
{
    long stduent_id;
    char name[10];
    int score[3];

//score[0]到score[2]分别代表学生的programming,dababase,network成绩
    float avescore;
};

int main()
{
    int i;
    struct student stu[6];
    for (i = 0; i < 6; i++)
    {
        printf("请分别输入第%d个学生的学号,姓名以及programming、dababase、network成绩\n", i + 1);
        scanf_s("%ld%s%d%d%d", &stu[i].stduent_id, &stu[i].name,10, &stu[i].score[0], &stu[i].score[1], &stu[i].score[2]);

//很多友友对于其中蓝色部分有所疑惑,不知道为何要在&stu[i].name后加上10,其实如果删除后面的10,便会出现如下图所示情况,大家可以试一试(根据需要10可以改为其他数字

其原因可以看看这位博主的文章,点击链接就可以进去,大概意思我感觉就是为了准确性和安全性,链接在这里http://t.csdn.cn/QZMr0想具体了解的友友可以去看看
        stu[i].avescore = aveScore(stu[i].score);
    }
    for (i = 0; i < 6; i++)
    {
        printf("\n学号:%ld\t姓名:%s\tprogramming成绩为:%d\tdababase成绩为:%d\tnetwork成绩为:%d\t平均成绩为:%.2f\n", stu[i].stduent_id, stu[i].name, stu[i].score[0], stu[i].score[1], stu[i].score[2], stu[i].avescore);

//"%ld" 表示输出long整数;"\t"是制表格的符号,可让两个数据间有间隔;"\n"表示换行,%.2f 表示单精度浮点型,也就是float型的格式,保留两位小数
    }
    return 0;
}

float aveScore(int score[])
{
    float avescore = 1.0 * (score[0] + score[1] + score[2]) / 3;
    return avescore;
}

实验结果:

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
数据库迁移是将一个数据库从一个系统迁移到另一个系统的过程。对于Oracle数据库来说,数据库迁移可以包括将数据库从一个服务器迁移到另一个服务器,或者将数据库从一个版本升级到另一个版本。 数据库迁移的目的可以有多个,例如提供更好的性能、增加可用性、减少成本等。无论迁移的原因如何,一般来说,数据库迁移的过程可以分为以下几个步骤: 1. 分析和评估:在开始迁移之前,需要对当前数据库进行详细的分析和评估。这包括了解数据库结构、存储需、性能指标等。 2. 准备环境:在迁移过程中,需要准备目标环境。这可能涉及设置新的服务器、安装新的操作系统和数据库软件等。 3. 数据迁移:将数据从源数据库迁移到目标数据库。这可以通过备份和恢复数据库、使用数据泵工具、使用物理复制等方式实现。 4. 应用程序迁移:除了迁移数据库本身,还需要迁移与数据库相关的应用程序。这可能涉及修改连接字符串、更改SQL语句等。 5. 测试和验证:在迁移完成后,需要对新的数据库进行测试和验证。这可以包括性能测试、功能测试等。 6. 切换和升级:一旦新的数据库经过测试和验证,可以进行切换操作,将应用程序指向新的数据库。如果数据库升级是迁移的一部分,也需要进行相应的升级操作。 7. 后续维护:数据库迁移完成后,需要进行后续的维护工作。这包括备份和恢复策略、性能优化、监控等。 总的来说,数据库迁移是一个复杂的过程,需要认真规划和执行。在迁移过程中,需要确保数据的完整性和一致性,并最大程度上减少停机时间和数据丢失的风险。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

饭碗的彼岸one

感谢鼓励,谢谢

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值