Output
对于每个测试实例,输出插入新的元素后的数列。
#include
int a[101]; int i,j,m,n; while(1) {
cin>>n; cin>>m;
if(n==0 && m==0) break; for(i=0;i
for(i=0;i
=======================================================================================================================
节 1.14 按绝对值大小顺序输出
Description
输入n(n<=100)个整数,按照绝对值从大到小排序后输出。题目保证对于每一个测试实例,所有的数的绝对值都不相等。
Input
输入数据有多组,每组占一行,每行的第一个数字为n,接着是n个整数,n=0表示输入数据的结束,不做处理。
Output
对于每个测试实例,输出排序后的结果,两个数之间用一个空格隔开。每个测试实例占一行。
#include
using namespace std; int main() {
int a[100]; int i,n,d,j,k; while(cin>>n) {
if(n==0) break; for(i=0;i k=a[i]; d=abs(a[i]); j=i-1; while(j>=0 && d>abs(a[j])) { a[j+1]=a[j]; a[j]=k; j--; } } for(i=0;i ======================================================================================================================= 节 1.15 发工资 Description 作为杭电的老师,最盼望的日子就是每月的8号了,因为这一天是发工资的日子,养家糊口就靠它了,呵呵 但是对于学校财务处的工作人员来说,这一天则是很忙碌的一天,财务处的小胡老师最近就在考虑一个问题:如果每个老师的工资额都知道,最少需要准备多少张人民币,才能在给每位老师发工资的时候都不用老师找零呢? 这里假设老师的工资都是正整数,单位元,人民币一共有100元、50元、10元、5元、2元和1元六种。 Input 输入数据包含多个测试实例,每个测试实例的第一行是一个整数n(n<100),表示老师的人数,然后是n个老师的工资。 n=0表示输入的结束,不做处理。 Output 对于每个测试实例输出一个整数x,表示至少需要准备的人民币张数。每个输出占一行。 Sample Input 3 1 2 3 0 Sample Output 4 #include int i,n,zhang,a; int b[100]; } while(1) { zhang=0; cin>>n; if(n==0) break; for(i=0;i a=b[i]; zhang=a/100+zhang; a=a0; zhang=a/50+zhang; a=aP; zhang=a/10+zhang; a=a; zhang=a/5+zhang; a=a%5; zhang=a/2+zhang; a=a%2; zhang=a/1+zhang; } cout< ======================================================================================================================= 节 1.16 成绩处理 Description 假设一个班有n(n<=50)个学生,每人考m(m<=5)门课,求每个学生的平均成绩和每门课的平均成绩,并输出各科成绩均大于等于平均成绩的学生数量。 Input 输入数据有多个测试实例,每个测试实例的第一行包括两个整数n和m,分别表示学生数和课程数。然后是n行数据,每行包括m个整数(即:考试分数)。 Output 对于每个测试实例,输出3行数据,第一行包含n个数据,表示n个学生的平均成绩,结果保留两位小数;第二行包含m个数据,表示m门课的平均成绩,结果保留两位小数;第三行是一个整数,表示该班级中各科成绩均大于等于平均成绩的学生数量。 每个测试实例后面跟一个空行 这题未解决 我的(格式错误) #include int i,j,n,m,k; double he1,he2; double **a; double *b; while( cin>>n>>m) { if(n==0 || m==0) break; k=0; a=new double*[n]; for(i=0;i a[i]=new double[m]; b=new double[m]; for(i=0;i