概述
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快速入门(非常详细)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复