大学C++经典习题--初学者必学的实验题(4)

2018-12-20 10:28

C++经典习题--初学者必学的实验题

wrong=wrong+1; cout<<\ } } cout<<\总分为:\ cout<<\错题数:\ return 0; }

(二)方法:C 语言: #include #include

int AddTest(int a,int b) {

int answer;

printf(\ scanf(\ if(answer==a+b) {

printf(\ return 1; } else {

printf(\ return 0; } }

int main() {

int i,j,k,m,sum=0,wsum=10; for(k=0;k<10;k++){ i = rand()+1; j = rand()+1;

printf(\ m = AddTest(i,j); sum+=m*10; wsum-=m; }

printf(\ return 0; }

16 Making by q649568163

C++经典习题--初学者必学的实验题

18:打印5乘5的魔方距阵 1.检验并打印魔方矩阵

在下面的5×5阶魔方矩阵中,每一行、每一列、每一对角线上的元素之和都是相等的,试编写程序将这些魔方矩阵中的元素读到一个二维整型数组中,然后检验其是否为魔方矩阵,并将其按如下格式显示到屏幕上。魔术矩阵是由一个n×n(n为奇数)的整数矩阵构成,矩阵中的整数值是从1~n^2[n的平方]。每一行,每一列和两个对角线上数值之和是一样的。这个n为5的魔术矩阵,他的每一行,每一列,两个对角线的和均为65

算法设计:

先在矩阵第一行中间的位置上放1,然后把数字按照升序沿着左上角放置到矩阵中。如果越界了,就假设周围还有一个矩阵,将数字放到那个位置上;如果那个位置已经被占据了,就跳过该位置放到下面的位置,然后重新按照原来的方法放。如图:在5×5的魔术矩阵中,放完1以后,就把2放到1的左上角,但是此时已经越界了。假设,在原来的矩阵上面还有一个矩阵,则数字2所放的位置应该是在最后一行的第二个位置,接下去就要把数字3放到2的左上角,依次放下去,当放到6的时候,由于1已经将下一个位置占了,所以就放到5下面的位置。依照这样的规律直到把数字都放完。

17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3

11 18 25 2 9

最佳答案 :有错还要修改。 #include

using namespace std;

const int MAX = 5; int Fun(int a[][MAX]);

int main() {

int a[MAX][MAX] = {0}; for (int i=0; i> a[i][j];

if (Fun(a) == 1)

cout << \ else

cout << \

17

Making by q649568163

C++经典习题--初学者必学的实验题

for (int i=0; i

for (int j=0; j

system(\ return 0; }

int Fun(int a[][MAX]) {

int s1, s2, sum;

sum = 0;

for (int i=0; i

sum /= MAX;

for (int i=0; i

s1 = s2 = 0;

for (int j=0; j

s1 += a[i][j]; s2 += a[j][i]; }

if (s1 != sum || s2 != sum) {

return 0; } }

s1 = s2 = 0;

for (int i=0; i

s1 += a[i][i];

s2 += a[i][MAX-i-1]; }

if (s1 != sum || s2 != sum) return 0; return 1;

18

Making by q649568163

C++经典习题--初学者必学的实验题

}

19:随机产生加减乘除的运算符

(一):C++中怎么样才能实现随机产生一个加减乘除的运算符 #include #include using namespace std; int main() {

int nINT; char c=0;

while (c!='0')//0退出循环 {

srand((unsigned)time(NULL));

nINT = rand()%4; //产生随机数范围是0-3(包括3) switch(nINT) {

case 0://对应加法 cout<

case 1://对应减法 cout<

case 2://对应乘法 cout<

case 3://对应除法 cout<

cin>>c; }

return 0; }

20.学生成绩排名 2.成绩排名次

19

Making by q649568163

C++经典习题--初学者必学的实验题

某班期末考试科目为数学(MT)、英语(EN)和物理(PH),有最多不超过30人参加考试。考试后要求:

(1)计算每个学生的总分和平均分;

(2)按总分成绩由高到低排出成绩的名次;

(3)打印出名次表,表格内包括学生编号、各科分数、总分和平均分; (4)任意输入一个学号,能够查找出该学生在班级中的排名及其考试分数

#include using namespace std;

int inputScore(long num[],float score[][3])//输入学号成绩 { int count; cout<<\请输入学生人数:\ cin>>count; for(int i=0;i>num[i]; cout<<\请依次输入数学、英语、物理成绩:\ for(int j=0;j<3;j++) cin>>score[i][j]; } return count; }

float GetAver(float score[][3],float aver[],float sum[])//每个人的平均分总分 { for(int i=0;i<30;i++) { sum[i]=0; for(int j=0;j<3;j++) sum[i]=sum[i]+score[i][j]; aver[i]=sum[i]/3.0; } return 0; }

int change(long num[],float score[][3],float aver[],float sum[],int count)//打印排名 { int i,j,k; cout<<\成绩排名:\ for(i=0;isum[i])

20

Making by q649568163


大学C++经典习题--初学者必学的实验题(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:第三章利率计算题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: