实验13-1#335

本文介绍了一个C语言函数lab13_1,它接收一个grade结构数组和数组长度作为参数,用于计算并存储3个学生的基本信息,包括学号、姓名、总分和平均分。函数处理数组长度小于1的情况,并提供了一个输入样例。
摘要由CSDN通过智能技术生成

题目:

假设3个学生信息如下学号(长整型)、姓名(字符串型)、年龄(整型)、C 语言成绩成 绩(实型)、微积分成绩(实型)、英语成绩(实型)、总分(实型)、平均分(实型)。 
试编写函数lab13_1,接收两个参数,依次是grade结构数组和数组长度。
该函数输入3个学生的上述信息,计算每个学生的总分和平均分,将每个学 生学号、姓名、总分、平均分存入grade结构数组。
数组长度小于1则输出“error”,否则不要输出。
grade结构保存每个学生的学号,姓名,总分和平均分。
学生结构自己定义。
struct grade{
    long id;
    char name[20];
    float sum;
    float average;
};
输入样例:
1 zhangs 17 78 89 90
2 lis 18 90 80 100
3 wangw 18 99 81 82

注意点:

1.为什么要求写的函数包含的参数有数组长度呢?因为他是假设的有三个同学,实际上n可以是int 可表达的任意整数。

2.这个题很老所以所有要用的变量都要提前声明,否则就会报一堆错误。

下面的代码是在愤怒中写的:

#include<stdio.h>
#include<string.h>
struct grade{
    long id;
    char name[20];
    float sum;
    float average;
};
struct fuckmatu{
	long fuckid;
    char fuckname[20];
    int fuckage;
    float fuckg1;
    float fuckg2;
    float fuckg3;
};

struct grade stu[100];
struct fuckmatu fuck[100];
int i;
void lab13_1(struct grade stu[] ,int n)
{
	if(n<1)
	{
		printf("error");
		return ;
	}
	for( i=0;i<n;i++)
	{
		scanf("%ld %s %d %f %f %f",&fuck[i].fuckid,fuck[i].fuckname,&fuck[i].fuckage,&fuck[i].fuckg1,&fuck[i].fuckg2,&fuck[i].fuckg3);
		stu[i].id=fuck[i].fuckid;
		strcpy(stu[i].name,fuck[i].fuckname);
		stu[i].sum=fuck[i].fuckg1+fuck[i].fuckg2+fuck[i].fuckg3;
		stu[i].average=stu[i].sum/3;
	}
	return;
}

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
import numpy as np import matplotlib.pyplot as plt %matplotlib inline from sklearn.datasets import load_digits data, labels = load_digits(return_X_y=True) (n_samples, n_features), n_digits = data.shape, np.unique(labels).size print(f"# 类别数: {n_digits}; # 样本数: {n_samples}; # 特征数: {n_features}") print(data[:2]) from time import time from sklearn.pipeline import make_pipeline from sklearn.preprocessing import StandardScaler from sklearn.cluster import KMeans kmeans=KMeans(n_clusters=10, random_state=42) ### 创建管道并训练,记录训练时间 t0 = time() estimator = make_pipeline(StandardScaler(), kmeans).fit(data) fit_time = time() - t0 print("训练时间:", fit_time) ### 通过惯性(inertia)聚类的性能 print(estimator) print(estimator[-1].inertia_) result1={"fit-time":fit_time,"inertia:":estimator[-1].inertia_ } from sklearn.decomposition import PCA ### ??编程使用PCA分解,得到10个主成分,放到变量 components 中--------------------------- pca = PCA(n_components=10) components = pca.fit_transform(data) ###------------------------------------------------------------------------- ### 创建KMeas对象 kmeans=KMeans(n_clusters=10, init="k-means++", random_state=42) ### 创建管道并训练,记录训练时间 t0 = time() estimator = make_pipeline(StandardScaler(), kmeans).fit(data) fit_time = time() - t0 print("训练时间:", fit_time) ### 通过惯性(inertia)聚类的性能 print(estimator) print(estimator[-1].inertia_) result2={"fit-time":fit_time,"inertia:":estimator[-1].inertia_ } from sklearn.decomposition import PCA ### ??编程 选择保持 98%的信息的PCA模型,用名为pca的变量表示 ---------- pca = PCA(n_components=0.98) ###------------------------------------------------------------------- ###创建KMeas对象 kmeans=KMeans(n_clusters=10, random_state=42) ###??编程 创建一个 标准化+PCA降维+KMeas聚类的管道并训练,记录训练时间 t0 = time() estimator = make_pipeline(StandardScaler(), pca, kmeans).fit(data) ##增加pca预处理 fit_time = time() - t0 print("训练时间:", fit_time) ### 通过惯性(inertia)聚类的性能 print(estimator) print(estimator[-1].inertia_) result3={"fit-time":fit_time,"inertia:":estimator[-1].inertia_ }可以选择不同的KMeans的参数对digits进行聚类,比较实验结果,并选择一个针对此问题的最好模型
05-25
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值