c++补充习题 下载本文

内容发布更新时间 : 2024/5/17 20:11:57星期一 下面是文章的全部内容请认真阅读。

机电补充作业,必须上机完成

1. 从键盘输入10个元素给数组a,判断a是否是对称数组。例1,2,3,4,5,5,4,3,2,1 称为对称数组。

#include #define N 10 void main() {

int i,a[N];

cout<<\输入数组!\for(i=0;i>a[i];

for(i=0;i

break;

if(i==N/2)

cout<<\数组是对称数组!\else

cout<<\数组不是对称数组!\cout<

2.输入一个4×4的矩阵,求出两条对角线元素值的和。 #include #define N 4 void main() {

int a[N][N]; int i,j,sum=0;

cout<<\请输入\数\ for(i=0;i>a[i][j];

cout<<\二维数组为: \ for(i=0;i

for(j=0;j

for(i=0;i

sum=sum+a[i][i]+a[i][N-i-1] ;

第 1 页 共 10 页

if(i==N-i-1) sum=sum-a[i][N-i-1]; }

cout<<\对角线元素和为 \}

3.已知数组a,查找数组的最大元素及对应下标。

#include #define N 10 void main( ) { int max, maxi,a[N]; cout<<\输入数组:\ for(int i=0;i>a[i]; max=a[0]; //max为存放最大值的变量,先赋数组第一个元素的值,假设为最大值

maxi=0;

for(i=0;imax) { max=a[i]; //其余元素依次与最大值进行比较,一旦大于最大值则替换 maxi=i; //保存最大值下标 }

cout<<\最大值为:\ cout<<\最大值下标为:\}

4.有5个学生,5门课程,要求用主函数分别调用各函数实现如下功能。 (1)找出成绩最高的学生序号及每门课程的成绩。 (2)找出不及格成绩的学生序号及每门课程的成绩。 (3)求出全部学生所有课程的平均成绩。

#include int max(int [][5],int,int); int unpass(int [][5],int,int); int ave(int [][5],int,int);

int max(int grade[][5],int ss,int cs) {

int n,m; int max=0;

for(int i=0;i

第 2 页 共 10 页

if(grade[i][j]>max) {max=grade[i][j]; n=i;m=j; }

cout<<\成绩最高的学生序号为:\’\\t’<<\课程为:\ return 0; }

int unpass(int grade[][5],int ss,int cs) {

for(int i=0;i

{ cout<<\不及格的学生序号为:\ for(int j=0;j

int ave(int grade[][5],int ss,int cs) {

for(int j=0;j

for(int i=0;i

cout<<\课程\的平均数为:\ } return 0; }

int main() {

int

sg[][5]={{65,68,85,88,59},{57,86,75,66,99},{67,78,56,65,88},{90,96,89,87,69},{95,85,86,85,70}}; max(sg,5,5); unpass(sg,5,5); ave(sg,5,5); }

5.程序读入20个整数,统计非负数个数,并计算非负数之和。

第 3 页 共 10 页