西安交大C++程序设计第四章作业由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“西安交大c程序设计”。
西安交通大学实验报告
课程_计算机程序设计_实验名称_数组与结构体_
系 别____ ___________ 实 验 日 期 2014年 3 月 18 日
专业班级___ ___组别_____________ 实 验 报 告 日 期 2014年 3 月 22 日 姓 名__ __ __学号_ ___ 报 告 退 发(订正、重做)同 组 人_________________________________ 教 师 审 批 签 字
一、实验目的:
掌握数组与字符串的输入方法,包括一维数组、二位数组,不含空格的一个字符串以及含空格的多个字符串的输入以及处理。
二、实验内容:
1.第一题:编写一个程序将给出的矩阵转置。(1)源程序代码:
#include using namespace std;int main(){
} int jz[4][4]={{4,6,8,9},{2,7,4,5},{3,8,16,15},{1,5,7,11}};int zz[4][4];int i,j;for(i=0;i
} return 0;for(j=0;j
} cout
/ 12
2.第二题:改写例4-5冒泡排序程序,由每轮挑选最小元素改为每轮挑选最大元素。(必做题)(1)源程序代码:
#include using namespace std;int main(){
const int COUNT=16;int list[COUNT]={503,87,512,61,908,170,897,275,653,426,154,509,612,677,765,703};for(int i=COUNT-1;i>=0;i--){
} cout
/ 12
for(int j=0;j
} if(list[j+1]
} int tmp=list[j+1];list[j+1]=list[j];list[j]=tmp;} return 0;(2)实验结果:
3.第三题:编写程序:输入N(例如N为20)个整数,统计输出负数的个数、正整数的个数及0的个数;计算输出所有负数之和、所有正整数之和。(必做题)(1)源程序代码:
#include using namespace std;int main(){
const int m=20;cout>num[n];} int z=0,f=0,l=0,Sz=0,Sf=0;for(int i=0;i
if(num[i]>0){ z++;/ 12
}
} } Sz=Sz+num[i];else {
} if(num[i]
} else l++;f++;Sf=Sf+num[i];cout
4.第四题:加密。明文中小写字母用其后第3个小写字母代替,明文中大写字母用其后第3个大写字母代替。(必做题)(1)源程序代码:
#include using namespace std;int main(){
char in[200];cout
/ 12
} int i;for(i=0;in[i]!=0;i++){
} cout='a'&&in[i]
} if(in[i]>='A'&&in[i]
} if(in[i]>'W')in[i]=in[i]-23;in[i]=in[i]+3;else if(in[i]>'w')in[i]=in[i]-23;in[i]=in[i]+3;else(2)实验结果:
5.第五题:编写凯撒解密程序,即将第5题凯撒加密的密文解密成明文。(必做题)(1)源程序代码:
#include using namespace std;int main(){/ 12
} char in[200];cout
} cout='a'&&in[i]
} if(in[i]>='A'&&in[i]
} if(in[i]
/ 12
6.第六题:(必做题)编写程序完成如下功能: A)定义二维数组8 ×8; B)自动生成数组中每个数据元素值为(i+1)×(j+1),i和j分别为行列坐标,输出该数组所有元素; C)计算主对角线元素之和,计算次对角线元素之和,并输出; D)将主对角线元素之和加到第一行中每个元素中,然后输出第一行所有元素值。(1)源程序代码:
#include using namespace std;int main(){ const int M=8;int a[M][M];int i,j;cout
for(j=0;j
{
a[i][j]=(i+1)*(j+1);
if(a[i][j]>9)
cout
else
cout
}
cout
zhu=zhu+a[i][i];
fu=fu+a[i][M-i];} cout
/ 12
} } cout
7.第七题:(必做题)编写程序产生 ISBN 号的校验位。任何新出版的图书都配有 ISBN 号,2007 年以前是由 10 位数字加上3个连字符组成的 ISBN,其中最后一位为校验位,校验位产生的具体算法如下:
假设某国际标准书号号码前 9 位是: 7-309-04547 ;计算加权和 S : S = 7 × 10+ 3 × 9+ 0 × 8+ 9 × 7+ 0 × 6+ 4 × 5+ 5 × 4+ 4 × 3+ 7 × 2 = 226 ;计算 S ÷ 11 的余数 M : M = 226 mod 11 = 6 ;计算 11-M 的差 N : N = 11 − 6 = 5 如果 N = 10,校验码是字母“ X ”;如果 N = 11,校验码是数字“ 0 ”;如果 N 为其他数字,校验码是数字 N。所以,本书的校验码是 5,故该/ 12
国际标准书号为 ISBN 7-309-04547-5。
程序总体要求:先输入 11 位字符组成 ISBN 字符串,如: 7-309-04547,然后计算产生校验码(位)5,最后输出完整的 ISBN 字符串 7-309-04547-5 下面是三本书的 ISBN,以便测试程序: 7-302-09831-X 7-302-13294-1 7-5053-8405-8(1)源程序代码:
//7-302-09831-X //7-302-13294-1 //7-5053-8405-8 #include using namespace std;int main(){ char num[20];cout>num;int i,j;int num_[20];int sum;cout
if(num[i]>='0'&&num[i]
{
num_[i]=num[i]-'0';
cout
sum=sum+num_[i]*j;
j--;
}
else
cout
/ 12
} int M=sum%11;if(11-M==10){ if(11-M==11)
} return 0;cout
(2)实验结果:
八.第八题:两个有序数列(由小到大排列)存放在两个数组中,将两数列归并为一个有序数列,即归并后的结果数列放在第三个数组中。例如: int a[5] = {1,4,10,13,16};//已知数列 int b[8] = {3,6,9,12,15,18,21,24};//已知数列 int c[13] = {1,3,4,6,10,12,13,15,16,18,21,24};//归并后的结果数列(选做题)
(1)源程序代码:/ 12
#include using namespace std;int main(){ const int M=10;const int P=2;int a[P][M];int a2[2*M];int i;cout>a[0][i];cout
cin>>a[1][i-M];for(i=0;i
if(i
{
a2[i]=a[0][i];
}
if(i>=M)
{
a2[i]=a[1][i-M];
} } for(i=2*M-1;i>=0;i--){
for(int j=0;j
{
if(a2[j+1]
{
int tmp=a2[j+1];
a2[j+1]=a2[j];
a2[j]=tmp;
}
} } cout
/ 12
(2)实验结果:/ 12
西安交通大学实验报告一.实验目的对后一阶段的的学习内容进行检测,查漏补缺,巩固知识点。二.实验内容 1、编写算术表达式分析计算程序,输入字符串:“ 168+314=482,分析后,按表达式......
第一章面向对象编程原理近五十年间,软件技术经历了多个阶段的发展演变 目前为止最流行的技术还是面向过程编程(POP) 面向过程编程采用了自顶向下的设计方案,问题被看做多个执......
注意:以下蓝色文字部分根据情况增删实验1熟悉VC++6.0集成开发环境一、实验时间:2011年9月20日二、实验地点:第7机房三、指导教师:邓谱四、实验目的:1.了解VC++6.0的主要特点;2.熟......
一、单选题(共 20 道试题,共 40 分。) 1. 电感元件L1与L2并联,其等效电感L=(D) A.L1+L2 B.L1-L2 C.L1L2 D.L1L2/(L1+L2)满分:2 分2. 一根粗细均匀的电阻丝,阻值为25Ω,将其等分成五段,......
西安交通大学是一所具有理工特色,涵盖理、工、医、经济、管理、文、法、哲、教育和艺术等 10个学科门类的综合性研究型大学。主校区位于十三朝古都的陕西省西安市咸宁西路28......