一、问题及代码
/* * 文件名称:Ex1-1.cpp * 作 者:黄湘旖 * 完成日期:2017 年 5 月 5 日 * 版 本 号:v1.0 * 对任务及求解方法的描述部分: * 输入描述:无 * 问题描述: 从键盘中输入10个数放在数组A中,将该数组中不重复的数放到数组B中,如A数据中的值为1,2,3,4,2,1;则B数组中的值为3 4 * 程序输出: * 问题分析: * 算法设计: */ #include <iostream> using namespace std; int main() { int a[10],b[10]; int i,j,k=0,m; for(i=0;i<10;i++) { cin>>a[i]; } for(i=0;i<10;i++) { for(j=0;j<10;j++) { if(a[i]==a[j]&&i!=j) break; if(j==9) { b[k++]=a[i]; m=k; } } } for(i=0;i<m;i++) { cout<<b[i]<<endl; } }
二、运行结果:
一、问题及代码
/* * 文件名称:Ex1-1.cpp * 作 者:黄湘旖 * 完成日期:2017 年 5 月 5 日 * 版 本 号:v1.0 * 对任务及求解方法的描述部分: 成绩 * 输入描述: * 问题描述:在数组score中将要存储某小组程序设计的成绩(设有10人),编程实现下列功能: (1)输入小组人数及成绩,要保证成绩在0-100之间; (2)输出该小组的最高成绩、最低成绩、平均成绩; (3)输出考得最高成绩和最低成绩的同学的人数; (4)输出考得最高成绩和最低成绩的同学的学号(设数组下标即学号,可能有相同的成绩)。 * 程序输出: * 问题分析:略 * 算法设计:略 */ #include <iostream> using namespace std; int main() { int n; cout<<"请输入小组人数:"; cin>>n; double score[n]; double ave,max,min; int i,j,k; int a=0,b=0; int c[n],d[n]; cout<<"请输入分数:"; for(i=0;i<n;i++) { cin>>score[i]; if(score[i]<=100&&score[i]>=0) ave+=score[i]/n; else { cout<<"数据错误!"; i--; } } max=score[0]; min=score[0]; for(i=0;i<n;i++) { if(max<score[i])max=score[i]; if(min>score[i])min=score[i]; } cout<<"最高成绩是:"<<max; cout<<"最低成绩是:"<<min; cout<<"平均成绩是:"<<ave; for(i=0;i<n;i++) { if(score[i]==max)a++; if(score[i]==min)b++; } cout<<"取得最高分的人数有:"<<a<<"人"<<endl; cout<<"取得最低分的人数有:"<<b<<"人"<<endl; for(i=0;i<n;i++) { if(score[i]==max) { for(j=0;j<a;j++) { c[j]=i+1; } } if(score[i]==min) { for(k=0;k<b;k++) { d[k]=i+1; } } } cout<<"分数最高的人的学号是:"; for(i=0;i<a;i++) { cout<<c[i]<<","; } cout<<"分数最低的人的学号是:"; for(i=0;i<b;i++) { cout<<d[i]<<","; } return 0; }
二、运行结果: