我是靠谱客的博主 花痴煎饼,最近开发中收集的这篇文章主要介绍STL教程:C++ STL快速入门(非常详细),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1055: 数字后移

题目描述
有n个整数,使前面各数顺序向后移m个位置,最后m个数变成前面m个数,见图。写一函数:实现以上功能,在主函数中输入n个数和输出调整后的n个数。

输入
输入数据的个数n n个整数 移动的位置m

输出
移动后的n个数

样例输入

10 10 10
1 2 3 4 5 6 7 8 9 10
2

样例输出
9 10 1 2 3 4 5 6 7 8

提示
用链表写更直观

1058: 日期计算

题目描述
定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年问题。

输入
年月日

输出
当年第几天

样例输入

2000 12 31

样例输出

366

代码分享

#include <stdio.h>
struct
{
	int year;
	int month;
	int day;	
}date;
 
 int main()
 {
 	int i,days;
 	int day_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
 	//printf("input year,month,day:");
 	scanf("%d %d %d",&date.year,&date.month,&date.day);
 	days=0;
 	for(i=1;i<date.month;i++)
 	    days+=day_tab[i];
 	days=days+date.day;
 	//闰年判断 
 	if((date.year%4==0 && date.year%100!=0 || date.year%400==0) && date.month>=3)
 	    days=days+1;
 	//printf("%d/%d is the %dth day in %d.n",date.month,date.day,days,date.year);
 	printf("%d",days);
 	return 0;
 }

1059: 成绩

题目描述
现有有N个学生的数据记录,每个记录包括学号、姓名、三科成绩。 编写一个函数input,用来输入一个学生的数据记录。 编写一个函数print,打印一个学生的数据记录。 在主函数调用这两个函数,读取N条记录输入,再按要求输出。 N<100

输入
学生数量N占一行 每个学生的学号、姓名、三科成绩占一行,空格分开。

输出
每个学生的学号、姓名、三科成绩占一行,逗号分开。

样例输入
2
a100 zhblue 70 80 90
b200 newsclan 90 85 75

样例输出
a100,zhblue,70,80,90
b200,newsclan,90,85,75

#include<stdio.h>
struct score
{
    char num[100],name[50];
    int one,two,three;
};

void input(struct score *bg,int n);
void print(struct score *bg,int n);

int main()
{
    int n;
    scanf("%d",&n);
    struct score bg[100];
    input(bg,n);
    print(bg,n);
    return 0;
}

void input(struct score *bg,int n)
{
    for(int i = 0;i < n;i++)
	{
        scanf("%s%s%d%d%d",bg[i].num,bg[i].name,&bg[i].one,&bg[i].two,&bg[i].three);
    }
}

void print(struct score *bg,int n)
{
    for(int i = 0;i < n;i++)
    {
        printf("%s,%s,%d,%d,%dn",bg[i].num,bg[i].name,bg[i].one,bg[i].two,bg[i].three);
    } 
}

1060: 学生成绩

题目描述
有N个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入N个学生的数据,要求打印出3门课的总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩)

输入
学生数量N占一行每个学生的学号、姓名、三科成绩占一行,空格分开。

输出
各门课的平均成绩 最高分的学生的数据(包括学号、姓名、3门课成绩)

样例输入
2
1 blue 90 80 70
b clan 80 70 60

样例输出
85 75 65
1 blue 90 80 70

1061: 链表排序

题目描述
已有a、b两个链表,每个链表中的结点包括学好、成绩。要求把两个链表合并,按学号升序排列。

输入
第一行,a、b两个链表元素的数量N、M,用空格隔开。 接下来N行是a的数据 然后M行是b的数据 每行数据由学号和成绩两部分组成

输出
按照学号升序排列的数据

样例输入
2 3
5 100
6 89
3 82
4 95
2 10

样例输出
2 10
3 82
4 95
5 100
6 89

1116: 奖学金

题目描述
某校的惯例是在每学期的期末考试之后发放奖学金。发放的奖学金共有五种,获取的条件各自不同: 1) 院士奖学金,每人8000元,期末平均成绩高于80分(> 80),并且在本学期内发表1篇或1篇以上论文的学生均可获得; 2) 五四奖学金,每人4000元,期末平均成绩高于85分(> 85),并且班级评议成绩高于80分(> 80)的学生均可获得; 3) 成绩优秀奖,每人2000元,期末平均成绩高于90分(> 90)的学生均可获得; 4) 西部奖学金,每人1000元,期末平均成绩高于85分(> 85)的西部省份学生均可获得; 5) 班级贡献奖,每人850元,班级评议成绩高于80分(> 80)的学生干部均可获得; 只要符合条件就可以得奖,每项奖学金的获奖人数没有限制,每名学生也可以同时获得多项奖学金。例如姚林的期末平均成绩是87分,班级评议成绩82分,同时他还是一位学生干部,那么他可以同时获得五四奖学金和班级贡献奖,奖金总数是4850元。 现在给出若干学生的相关数据,请计算哪些同学获得的奖金总数最高(假设总有同学能满足获得奖学金的条件)。

输入
输入的第一行是一个整数N(1 < = N < = 100),表示学生的总数。接下来的N行每行是一位学生的数据,从左向右依次是姓名,期末平均成绩,班级评议成绩,是否是学生干部,是否是西部省份学生,以及发表的论文数。姓名是由大小写英文字母组成的长度不超过20的字符串(不含空格);期末平均成绩和班级评议成绩都是0到100之间的整数(包括0和100);是否是学生干部和是否是西部省份学生分别用一个字符表示,Y表示是,N表示不是;发表的论文数是0到10的整数(包括0和10)。每两个相邻数据项之间用一个空格分隔。

输出
输出包括三行,第一行是获得最多奖金的学生的姓名,第二行是这名学生获得的奖金总数。如果有两位或两位以上的学生获得的奖金最多,输出他们之中在输入文件中出现最早的学生的姓名。第三行是这N个学生获得的奖学金的总数。

样例输入
4
YaoLin 87 82 Y N 0
ChenRuiyi 88 78 N Y 1
LiXin 92 88 N N 0
ZhangQin 83 87 Y N 1

样例输出
ChenRuiyi
9000
28700

最后

以上就是花痴煎饼为你收集整理的STL教程:C++ STL快速入门(非常详细)的全部内容,希望文章能够帮你解决STL教程:C++ STL快速入门(非常详细)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部