c++程序设计实验辅导及习题解答-实验六答案(1)
c程序设计实验参考答案

main( )
{ float a,b,c;
float s,v;
scanf("%f,%f,%f,%f",&a,&b,&c);
s=a+b+c;
v=s/3.0;
printf("\n%7.1f,%7.1f",s,v);
}
实验五参考答案
一.1、a=10,b=30,c=10
}
2、main()
{int i;
double m=100000,n,s;
n=0.01;
s=0;
for(i=1;i<=30;i++)
{s+=n;
n=n*2;
}
printf("%f %f\n",s,m*30 );
}
实验八参考答案:
一.1、s=12345
2、7,
5,
3,
3、<1,2>=6
二.1、% for(j=k;j>0;j--)
第4行改为scanf("%d",&a[i]);
第12行改为printf("av=%d\n",av);
四.1、分析:C中数组长度必须是确定大小,即指定N的值。排序的方法有多种,取出其中两种作为参考。
方法一:起泡排序
从第一个数开始依次对相邻两数进行比较,如次序对则不做任何操作;如次序不对则使这两个数交换位置。第一遍的(N-1)次比
{ case 10:
case 9: ch='A'; break;
case 8: ch='B'; break;
C语言程序设计实验-答案

C语言程序设计实验-答案(总17页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小---前言-/*非常感谢度娘以及各位网上C语言高手的支持,才能让敝人完成此文档的整理。
本文档集合了本人、度娘、众网友的力量,其中代码的正确率约为90%(不正确的有标注)。
为回报度娘及众网友的帮助,本文档免费下载。
*//*配“电子科技大学出版社(周信东主编)”的C语言程序设计实验*//*努力吧,骚年以及学妹们!*//*整理ed by 口玉刀一 of GUET.*/=====================实验一 C语言程序初步=====================已知a=5,b=4,c=6,求出s并换行#include""main(){int a,b,c,s;a=5;b=4;c=6;s=(a+b+c)/3;printf("a=%d,b=%d,c=%d\n,s=%d",a,b,c,s);}输入一个数字求他的平方#include<>main(){int r,s;scanf("%d",&r);s=r*r;printf("s=%d\n",s);}(1)#include<>main(){printf(" *\n");printf("***\n");printf(" *\n");}(2)main(){int v;int a,b,c;(2)#include<>main(){int m;double x;scanf("%d",&m);x=*m*m;printf("%f",x);}入a,b,c三个变量,计算数学公式(a*b)/cmain(){int a,b,d;float s,c;scanf("%d%d%f",&a,&b,&c);d=a*b;s=d/c;printf("%f",s);}=================================实验三顺序结构和输入输出方法=================================(1)main(){int m=345,t;float n=;t=*100;printf("m=%d,n*100=%d\n",m,t);}(2)main(){int a,b,c,s,v;scanf("%d%d%d",&a,&b,&c);s=a*b;v=a*b*c;printf("%d,%d,%d\n",a,b,c);printf("s=%d,v=%d\n",s,v);}(1)main(){int m,n;float x=,y=;scanf("%d,%d",&m,&n);printf("%6d,%6d",m,n); /*每个数的输出宽度为6,两个数之间逗号建个。
C 语言程序设计实验答案_数组、指针与字符串解析

实验06 数组、指针与字符串(4学时)(第6章数组、指针与字符串)一、实验目的二、实验任务6_1(习题6-25)编写并测试3×3矩阵转置函数,使用数组保存3×3矩阵。
6_2(习题6-26)使用动态内存分配生成动态数组来重新完成上题(n阶方阵),使用指针实现函数的功能。
6_3 编程实现两字符串的连接。
要求使用字符数组保存字符串,不要使用系统函数。
6_4 使用string类声明字符串对象,重新实现上一小题。
6_5(习题6-27)声明一个Employee类。
其中包括姓名、街道地址、城市和邮编等属性,以及change_name()和display()等函数。
display()显示姓名、街道地址、城市和邮编等属性,change_name()改变对象的姓名属性,实现并测试这个类。
6_6(习题6-27)声明包含5个元素的对象数组,每个元素都是Employee 类型的对象。
6_7 修改实验4中的people(人员)类。
具有的属性如下:姓名char name[11]、编号char number[7]、性别char sex[3]、生日birthday、身份证号char id[16]。
其中“出生日期”声明为一个“日期”类内嵌子对象。
用成员函数实现对人员信息的录入和显示。
要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、聚集。
在测试程序中声明people类的对象数组,录入数据并显示。
三、实验步骤1.(编程,习题6-25)编写矩阵转置函数,输入参数为3×3整型数组。
使用循环语句实现矩阵元素的行列对调,注意在循环语句中究竟需要对哪些元素进行操作,编写main()函数实现输入输出。
程序名:lab6_1.cpp。
参考运行结果:★程序及运行结果://lab6_1.cpp#include<iostream>using namespace std;void move(int matrix[][3]){int temp;for(int i=0;i<3;i++)for(int j=0;j<i;j++){temp=matrix[i][j];matrix[i][j]=matrix[j][i];matrix[j][i]=temp;}}void main(){int i,j,mat[3][3];cout<<"输入3×3矩阵"<<endl;for(i=0;i<3;i++){cout<<"第"<<i+1<<"行:";for(j=0;j<3;j++) cin>>mat[i][j];}cout<<"\n输入的3×3矩阵为:"<<endl;for(i=0;i<3;i++){for(j=0;j<3;j++)cout<<mat[i][j]<<" ";cout<<endl;}move(mat);cout<<"转置后的矩阵为:"<<endl;for(i=0;i<3;i++){for(j=0;j<3;j++)cout<<*(*(mat+i)+j)<<" ";//指针形式cout<<endl;}}2.(编程,习题6-26)编写n×n阶矩阵转置函数,参数为整型指针。
《程序设计基础(C++)》实验教程及完整答案资料

《程序设计基础》实验教程对于从事计算机行业的人员来说,设计能力是最主要的基本功之一。
入门课程《程序设计基础》的学习效果将直接关系到编程能力的掌握和提高以及后续课程的学习。
然而,实践证明,许多初学者在学习这门课程时的效果并不理想。
对初学者来说,如何学好本课程?首先,要理解教材中所给出的语法描述,并学会按语法规定去编写指定问题的求解程序。
经过这样的多次反复,初学者就可以找到编程的感觉。
除了要学好理论知识外,更重要的一点是要到计算机上去验证,因为只有实践才是检验真理的标准。
只有通过到计算机上去实践,才能发现学习中存在的问题,巩固所学知识,加强解决实际问题的能力,增强信心。
因此,《程序设计基础》课程的上机实验是本课程必不可少的实践环节,必须加以重视。
本课程上机实验的目的是使学生熟悉用高级语言解决实际问题的全过程,加深对语言的理解,得到程序设计基本方法和能力的训练。
在独立编写程序、独立上机调试程序的同时,真正能用高级语言这个工具去解决实际问题,对计算机学科的相关知识有所了解,从而为后续课程的学习奠定良好的基础。
本实验指导所用环境是Visual C++ 6.0及以上版本。
考虑到本课程的内容和特点,设置了十四个实验,每次实验需要两至三小时,分别侧重于教材中的一个方面,其中标有“*”号的习题的综合性较强,可供学有余力的学生选择。
实验时也可根据具体情况做适当调整。
虽然可能由于课时和机时限制等原因而不能在实验课时内全部得到安排,但还是建议学生能将其中的每个实验都能认真做一遍,因为这些实验都是学习本课程所必需的。
学生在做实验之前应仔细阅读本实验指导书,初步掌握实验的基本要求和实验方法。
在实验过程中,学生应该有意识的培养自己调试程序的能力,积累发现问题、解决问题的经验,灵活主动的学习。
对于分析运行结果的实验习题,上机前先进行用人工分析,写出运行结果,与上机调试得到的结果进行对照,如有差异,分析其原因。
对于程序编制的实验习题,上机前应考虑出较成熟的编程思路,有意识提供出多种方案,以灵活运用所学知识和技巧。
大学生C语言程序设计(第四版谭洪强)实验6答案

实验六参考答案(参考答案)(1) 设计程序sy6-1.c,输入一个字符串,将其中的大写字母都改为对应的小写字母,其他字符不变。
例如,若输入"Ab,cD",则输出"ab,cd"。
算法分析:使用for循环遍历字符串,在遍历的过程中,如果该元素是大写字母时,能过str[i]=str[i]+32把大写字母置换成相应小写字母参考答案:#include<stdio.h>#include<string.h>void main(){char str[100];int i;printf("请输入一个字符串:");gets(str);for(i=0;str[i]!='\0';i++)if(str[i]>='A'&&str[i]<='Z') str[i]=str[i]+32;printf("输出转换后的字符串:");puts(str);}运行结果:(2) 设计程序sy6-2.c,输入一个字符串,删除其中所有的小写字母'c'。
例如,若输入字符串"ac abc bcdef",则应输出字符串" a ab bdef"算法分析:在原字符数组中删除指定字符时,当遍历的字符不等于要删除的字符时,在原数组中赋值。
注意在赋值的时候,元素下标不同步,所以用j做为删除后的下标,并且是赋一个值,其下标自动加1,所以最后j的值为数组的长度,另外为了保证字符数组能正确输出,所以在最后要人为加一个\0参考答案:#include<stdio.h>#include<string.h>void main(){int i,j=0;char str[20];printf("请输入一个字符:");gets(str);for(i=0;str[i]!='\0';i++)if(str[i]!='c')str[j++]=str[i]; //将指定字符c删除str[j]= '\0';printf("请输入一个字符:");puts(str);}运行结果:(3) 设计程序sy6-3.c,输入一个字符串,统计其中 'a' 到 'z' 26 个英文小写字母各自出现的次数。
C实验报告6参考答案

《高级语言程序设计》实验报告班级: 学号: 姓名: 成绩:实验6 数组程序设计一、实验目的1. 掌握一维数组和二维数组的定义、赋值和输入输出的方法。
2. 掌握字符数组和字符串函数的使用。
3. 掌握与数组有关的算法。
二、实验内容1(1)下列程序的功能为:为指定的数组输入10个数据,并求这些数据之和。
纠正程序中存在的错误,以实现其功能。
程序以文件名保存。
#include<>void main(){int n=10,i,sum=0;int a[n]; int a[10];for(i=0;i<10;i++){scanf("%d",a[i]); scanf("%d",&a[i]);sum=sum+a[i];}printf("sum=%d\n",sum);}(2)下列程序的功能为:将字符串b 连接到字符串a 。
纠正程序中存在的错误,以实现其功能。
程序以文件名保存。
#include<>void main( ){ char a[]="wel",b[]="come"; char a[20]="wel",b[]="come";int i,n=0;while(!a[n]) n++; while(a[n] != '\0') n++;for(i=0;b[i]!='\0';i++)a[n+i]=b[i];a[n+i]=’\0’;printf("%s\n",a);}(3)下列程序的功能为:找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小。
也可能没有鞍点。
纠正程序中存在的错误,以实现其功能。
程序以文件名保存。
#include<>#define N 4#define M 4main(){for (i=0;i<N;i++)for (j=0;j<M;j++)scanf("%d",&a[i][j]);flag2=0;for (i=0;i<N;i++){max=a[j][0]; max=a[i][0];for (j=0;j<M;j++)if (a[i][j]>max) if (a[i][j]>=max){max=a[i][j];maxj=j;}for (k=0,flag1=1;k<N&&flag1;k++)if (max>a[k][maxj])flag1=0;if (flag1){printf("\nThe saddle point is:a[%d][%d]=%d\n",i,maxj,max);flag2=1;}}if ( flag2) if (! flag2)printf("\nThere is no saddle point in the Matrix\n");}2.程序填空题(1)以下程序的功能是:采用二分法在给定的有序数组中查找用户输入的值,并显示查找结果。
C 程序设计习题与实验教程参考答案(习题部分)解读

1.①3②24
2.首地址
3.①i②i+j③i/7④i%7⑤i*7+j
4.①7②8③7④50
5.①字符(char)型②cin.getline(str,80);
6.123456
7.FMBS
勘误:
“for(int i=0;i<4;i++,p++)cout<<*p[i];”改为“for(int i=0;i<4;i++)cout<<*s[i];”
14.①s2+31②n③t%2+'0'④!strcmp(s1,p2)
15.①num[i++]②s=0③flag=1④j<=k
16.①i<len1②j>=len2③b[k]=b[k-1]④++i%5==0
17.①pa>=a&&pb>=b②j+k+carry③ps++④p<ps
18.①t[n++]②continue③t[k+1]=t[k]④n++
}
2.求三角形面积
#include <iostream.h>
#include <math.h>
void main (void)
{
inta,b,c;
doubles,area;
cout<<"输入三角形三边长a,b,c:"<<endl;
cin>>a>>b>>c;
s=(a+b+c)/2.0;
C语言程序设计实验六函数答案《西北民大电气学院》

实验六函数一,实验目的:1,掌握定义函数的方法.2,掌握函数实参与形参的对应关系,以及"值传递"的方式.3,掌握函数的嵌套调用和递归调用的方法.4,掌握全局变量和局部变量动态变量,静态变量的概念和使用方法.二,实验准备:1,复习函数调用的基本理论知识.2,复习函数的嵌套调用和递归调用的方法.3,复习全局变量,局部变量;静态变量,动态变量;外部变量等概念和具体使用. 4,源程序.三,实验步骤及内容:1,运行程序并回答问题(1)程序main(){ play(3);}void print_star(){ printf("* * * * * * * * * *\n")}void print_message(){ printf("Good Friend! \n");}void play(n)int n;{ int i;for(i=1;i<=n;++i){ print_star();print_message();}}问题:运行后出现什么错误为什么应如何修改请上机调试.修改:main(){ play(3);}void print_star(){ printf("* * * * * * * * * *\n");(缺少分号)}void print_message(){ printf("Good Friend! \n");}play(n)(原先void的与声明类型不同)int n;{ int i;for(i=1;i<=n;++i){ print_star();print_message();}getch();}运行结果(2)以下程序用于计算1+2+3+4+5.main(){ int i,sum;for(i=1;i<=5;++i)sum=add(i);printf("sum=%d\n",sum);getch();}add (a)int a;{static int s=0;s=s+a;return(s);}运行结果:问题:此程序能否得到正确结果为什么请在不增加语句的条件下,修改程序并上机调试.(3)程序int x=567,y=890;main(){ printf("x=%d,y=%d\n",x,y);}运行结果:问题:运行程序后出现什么错误为什么如何修改答:定义位置出错,y的定义在主函数之后了,将y的定义改在和x一样的位置处。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验六
任务1:程序调试。
一维数组中元素间的算术运算。
下列程序定义了一个数组类的Array,类中私有数据中有两个整型数组与一个运算符,成员函数中有构造函数、运算函数与输出函数。
请调试程序。
修改后程序如下:
任务2:程序设计。
数组元素间的运算。
仿照任务1,对已定义的数组Array,针对二维数组对应元素间的“+”、“-”、“*”、“>”运算,假设对应的二维数组是6行6列,请设计程序并调试。
程序如下:
运行结果如下:
任务3:程序设计。
数组中元素大小的比较。
编写程序判断数组int a[10]中比相邻元素大的个数。
程序如下:
任务4:程序调试及程序设计。
数组元素的逆序排列。
(1)调试下列程序,功能是将类中成员数组int a[10]中的元素逆序排列。
程序如下:
运行结果如下:
程序如下:
运行结果如下:
任务5:程序设计。
判断二维矩阵是否是上三角矩阵。
设计代码运行结果如下:
运行结果如下:
任务6:程序设计。
查找某数在数组中出现的次数。
定义一个类,类中有一个整型数x与一个整型数组a[n]。
类的功能是判断x在数组a中出现的次数。
完成类的定义,同时编写main 函数进行测试。
程序如下:
运行结果如下:
任务7:程序设计。
用类的方法判定二维矩阵是否是上三角矩阵。
定义一个类,类中有私有数据int a[6][6];另有构造函数,用于判断是否构成上三角函数的判断函数。
头文件为:
主程序为:
任务8:程序设计。
用循环的方法连接两个字符串。
不用字符串处理函数,将两个字符串连接,即将字符串b连到字符串a后面,变成新的字符串c。
设计代码运行结果如下:
运行结果如下:
任务9:程序设计。
删除字符串中指定位置的字符。
编写函数,删除字符串中从指定位置m开始的n个字符。
删除成功,函数返回1,否则返回0。
设计代码运行结果如下:。