C实验报告答案
更新时间:2023-10-18 10:58:01 阅读量: 综合文库 文档下载
实验 一、实验学时
完成本实验需4学时。 二、实验目的 1、阅读程序题 1
简单判定性问题求解 (1)掌握c语言数据类型,熟悉如何定义一个整型、字符型的变量,以及对它们赋值的方法;
(2)掌握不同的类型数据之间赋值的规律; (3)掌握数据在内存中的存储方式; (4)学会输入、输出函数的基本格式和使用方法; (5)学会使用有关算术运算符、逻辑运算符、关系运算符,以及包含这些运算符的表达式。
2、编程题 (1)如何运用if-else判定性结构进行程序设计; (2)如何运用switch判定性结构
进行程序设计。 3、调试题
(1)熟悉c程序的编辑、编译、连接和运行的过程。 三、实验指导 为了达到最佳的实验效果,以下提供几条适于编程的指导意见,可供参考。 1、阅读程序题应先运用自己在课堂所学的知识,推导出结果,在上机时输入计算机,印证自己推导的结果,注意观察数据在内存中的存储方式、含不同种运算符表达式的输出结果。 2、编程题必须首先画出流程图,并反复思考判断程序设计的正确性,完成程序的设计。
要注意简单判定性问题的结构选择。 3、调试题应明确程序的调试、测试是一项非常烦琐的工作,也是非常重要的工作。对于初学者来说应该建立良好的习惯,在调试程序的时候,应该尽可能考虑到程序运行时各种可能情况。
- 1 - 四、实验内容
1、阅读程序题 (1)main( ) { /*定义字符型变量*/ char c1,c2; /*向字符变量赋以整数*/ c1=97; c2=98; printf(%c %c\\n,c1,c2); /*以字符形式输出*/ printf(%d %d\\n,c1,c2); /*以整数形式输出*/
} 思考:可否改成int c1,c2;输出结果是? 相同 (2)main() {
int a=7,b=5;
printf(%d\\n,b=b/a); } 思考:若将printf语句中%d变为%f,可否输出分式的值? 可以 (3)main() {
int a=9;
a+=a-=a+a; /*包含复合的赋值运算符的赋值表达式*/ printf(%d\\n,a); } 思考:赋值表达式a+=a-=a+a的求解步骤? 第一步:a=a-(a+a)=-9 第二步
a=a+a=18 (4)main() {
int k=-1;
printf(%d,%u\\n,k,k); }
- 2 - 思考:-1在内存中的存储形式? 取反加一 11111111111111111111111111111111(32个) (5)main() {
unsigned x1; int b=-1; x1=b; /*有符号数据传送给无符号变量*/ printf(%u,x1); } (6)main() {
int a=3,b=4,c=5;
printf(%d\\n,(!(a<b))&&(c=c+1)); printf(%d,c); } 思考:若将第一个 1(换行)6 (7)main() { int a=1,b=2,c=3;
if(c=a) ; printf(%d\\n,c); else printf(%d\\n,b); } 2、编程序并上机调试运行(包括题目及要求、流程图、程序清单、测试数据及结果) (1)将一个百分制成绩转换成等级制成绩,百分制与等级制的对应 - 3 - 具体要求如下:
1) 用switch语句实现该功能; 2) 用键盘输入百分制成绩,输入前要有提示信息,对于不合理的数 据应输出错误信息;
3) 输出结果应包含百分制成绩和成绩等级; 4) 分别输入成绩-10,30,60,68,75,83,95,102,查看记录运 行结果。 - 4 - (2)银行整存整取存款不同期限的月息利率分别为: ?0.63%? ?0.66%?
月息利率= ?0.69% ?0.75%??
输入存款的本金和年?0.84% 期限?1年期限?2年期限?3年期限?5年 期限?8年限,求到期时能从银行得到 程序代码 的利息与本金的合计。(利息的计算公式为:利息=本金×月息利率×12 - 5 篇二:c实验报告5参考答案 《高级语言程序设计》实验报告 班级:学号:姓名:成绩:
- 实验5 循环结构程序设计 一、实验目的 1.掌握循环结构程序设计的3种控制语句——while语句、do···while语句、for语句的使用方法。
2.了解用循环的方法实现常用的算法设计。 二、实验内容
1 (1)下列程序的功能为:求1~100之和(和值为5050)并输出。纠正程序中存在的错
误,以实现其功能。程序以文件名sy5_1.c保存。 #include <stdio.h> main() {
int i,sum=0; i=1;
while(i<100) while(i<=100)
sum=sum+i; { sum=sum+i; i++; i++;}
printf(“the sum from 1 to 100 is %d\\n”,sum); } (2)下列程序的功能为:倒序打印26个英文字母。纠正程序中存在的错误,以实现其
功能,程序以文件名sy5_2.c保存。 #include <stdio.h> main() { char x; x=z;
while(x!=a) while(x!=a-1)或while(x>=a) { printf(=,x); printf(<,x); x++; x- -; } }
(3)下列程序的功能为:输入一个大写字母,打印出一个菱形。该菱形中间一行由此字
母组成,其相邻的上下两行由它前面的一个字母组成,按此规律,直到字母a出现在第 一行和最末行为止。纠正程序中存在的错误,以实现其功能。程序以文件名sy5_3.c保
存。例如,输入字母d,打印出如下图形: #include <stdlib.h> main() {
int i,j,k; char ch;
scanf(%c,&ch); k=ch-a+1;
for (i=1;i<=k;i++) {
for (j=20;j>=i;j--)
printf(%c, );
for (j=1;j<=i-1;j++) for (j=1;j<=2*i-1;j++) printf(%c,a+i-1); printf(\\n); }
k=ch-a;
for (i=k;i>=1;i--)
{ for (i=20;i>=i;i--) for (j=20;j>=i;j--) printf(%c, );
for (j=1;j<2*i-1;j++) for (j=1;j<=2*i-1;j++) printf(%c,a+i-1); printf(\\n); } }
2.程序填空题 (1)用辗转相除法求两个正整数的最大公约数和最小公倍数。补充完善程序,以实现其
功能,程序以文件名sy5_4.c保存。 #include <stdio.h> main () { scanf (%d%d,&m,&n); if (m<n) /*交换两数*/ k=m*n; r = m%n; while (r) { m=n; n=r; ; }
printf (%d 输出最大公约数和最小公倍数*/ } (2)假设有1020个西瓜,第一天卖了一半多两个,以后每天卖剩的一半多两个,求几
天后能卖完。补充完善程序,以实现其功能。程序以文件名sy5_5.c保存。 #include <stdio.h> main( ) { int day,x1,x2; day=0; x1=1020; { ;
x1=x2; day++; }
printf(day=%d\\n,day); }
(3)下列程序的功能为:输出100以内能被3整除且个位数为6的所有整数.补充完善
程序,以实现其功能。程序以文件名sy5_6.c保存。 #include <stdio.h>
main() { int i,j; for(i=0; _______; i++) { j=i*10+6; if (_______) continue; printf(%d,j); }
} 3 (1)计算1~100之间所有含8的数之和。程序以文件名sy5_7.c保存。 参考程序:
#include <stdio.h> main() {
int i, sum=0;
for(i=1; i<=100; i++) if(i==8 || i/10==8) sum+=i;
printf(sum=%d\\n,sum); } (2)编写程序,利用下列近似公式计算e值,误差应小于10-5。程序以文件名sy5_8.c保存。
e?1?1111????? 1!2!3!n! 参考程序:
#include <stdio.h> main() {
int i=0 ; long n=1;
float e=0, t=1; while(t>1e-5) { e+=t; i++; n*=i; t=1.0/n; }
printf(e=%f\\n,e);
} (3)某学校有近千名学生,在操场上排队,若5人一行余2人,7人一行余3人,3人
一行余1人。编写程序,求该校的学生总人数。程序以文件名sy5_9.c保存。 参考程序: #include <stdio.h> main() {int i;
for(i=900;i<=1000;i++)
int len;
printf(输入一行字符: ); gets(line) ; printf(输入要删除字符: ); ch=getchar(); i=0;
while(line[i]!=\\0 )
{while( line[i]!=\\0 && line[i]!=ch) i++; len=strlen(line); for(j=i;j<len-1;j++)
line[j]=line[j+1]; line[j]=\\0; }
puts(line);
}篇四:c实验报告7参考答案 《高级语言程序设计》实验报告 班级:学号:姓名:成绩: 实验7 函数程序设计 一、实验目的
1.掌握函数定义的方法。
2. 掌握函数实参与形参的传递方式。 3. 掌握函数的嵌套调用和递归调用的方法。 4. 了解全局变量和局部变量、动态变量、静态变量的概念和使用方法。 二、实验内容
1 (1)下列sub函数的功能为:将s所指字符串的反序和正序进行连接形成一个新串放在t所指的数组中。例如,当s所指字符串的内容为“abcd”时,t所指数组中的内容为“dcbaabcd”。纠正程序中存在的错误,以实现其功能。程序以文件名sy7_1.c存盘。 #include <stdio.h>
#include <string.h> void sub( char s[], char t[] ) {
int i, d; d=strlen( s );
for( i=1; i< d ; i++ ) for( i=0; i< d ; i++ ) t[i]=s[d-1-i] ;
for( i=0; i<d; i++ ) t[d+i]=s[i] ;
t[2*d]=/0 ; t[2*d]=\\0 }
main( ) {
char s[100], t[100];
printf( please enter string s : ); scanf(%s , s ); sub(s,t) ;
printf( \\n the result is : %s \\n , t );
}
(2)下列程序的功能为:将字符数组中的字符串逆序输出。纠正程序中存在的错误,以
实现其功能。程序以文件名sy7_2.c存盘。 #include<string.h> #include<stdio.h>
#define arr_size = 80; #define arr_size 80 void inverse(char str[]) void inverse(char str[]); main()
{ char a[arr_size] ;
printf(please enter a string: ); gets(a);
inverse(char a[]); inverse(a); printf (the inversed string is: ); puts(a); }
void inverse(char str[]) { int len, i = 0, j; char temp;
len = strlen(str);
for (j=len-1; i<j; i++, j--) { temp = str[i];
str[j] = str[i]; str[i] = str[j]; str[j] = temp; } }
(3)下列程序的功能为:求整数n的阶乘。纠正程序中存在的错误,以实现其功能。 程序以文件名sy7_3.c存盘。 #include<stdio.h> int fun(int n)
{ static int p=1; int p=1; p=p*n; return p; }
void main() { int n,i;
int f=0; int f=1; printf(input member: ); scanf(%d,&n); for(i=1;i<=n;i++)
f=f*fun(i); f= fun(i); printf(%d!=%d\\n,n,f); }
2.程序填空题
(1)下列sum()函数的功能是:计算数组x前n个元素之和。在主函数中,输入10个
任意整数和下标i1、i2的值(设1≤i1≤i2≤9),调用sum()函数计算从第i1元素到第i2元
素的和,并输出结果。补充完善程序,以实现其功能。程序以文件名sy7_4.c存盘。 #include <stdio.h>
int sum( int x[], int n ) {
int i, s=0;
for ( i=0; ; i++ ) ; return s; }
void main() {
int i, i1, i2, result; int x[10];
for ( i=0; i<10; i++ ) scanf( %d, &x[i] );
scanf( %d%d, &i1, &i2 ); printf( sum=%d\\n, result ); }
(2)下列程序的功能为:输入一个字符数小于100的字符串string,然后将string所存盘字符串中的每个字符之间加一个空格。补充完善程序,以实现其功能。程序以文件名sy7_5.c存盘。
#include<stdio.h> void insert(char srcstr[]) { char strtemp[max];
#define max 100 int i = 0, j = 0; void insert(char srcstr[]); strcpy(strtemp, srcstr); main() while ( { { srcstr[i] = strtemp[j]; char string[max]; i++; scanf(%s,string); ); srcstr[i] = ;
printf(%s,string); i++; } }
srcstr[i] = \\0; }
(3)下列程序的功能为:输出如下图形,补充完善程序,以实现其功能。程序以文件名sy7_6.c保存。
#include<stdio.h> void a(int i) {
int j,k;
for(j=1;j<=30-i;j++) printf(%c, ); ;k++) printf(
printf(\\n); or “%d”,i }
void main() { int i;
for(i=1;i<=7;i++) ;
for(i=6;i>=1;i--) } 3.编程题 (1)从键盘任意输入10个整数,用函数编程实现将其中最大数与最小数的位置对换后,
再输出调整后的数组。程序以文件名sy7_7.c存盘。 #include<stdio.h> #define n 10
void exmaxmin(int a[],int n) //求最大数和最小数 {
int i,j=0,k=0,t; int max,min;
max=a[0]; min=a[0]; for(i=1;i<n;i++)
if(max<a[i]) {max=a[i];j=i;} else if(min>a[i]) { min=a[i]; k=i;} t=a[j]; a[j]=a[k]; a[k]=t; }
void main() {
int i; int a[n];
printf(请输入%d个整数:,n); for(i=0;i<n;i++) scanf(%d,&a[i]);
printf(调整前的数组元素为:); for(i=0;i<n;i++) printf(],a[i]); printf(\\n); exmaxmin(a,n);
printf(调整后的数组元素为:); for(i=0;i<n;i++)
printf(],a[i]); }
(2)编写一函数,判断一字符串是否为回文。所谓“回文”是指顺读和倒读都一样的字符串,如“deed”和“level”是回文。在主函数中对输入的5个字符串统计其中回文的个数。
程序以文件名sy7_8.c存盘。 #include <stdio.h> #include <stdlib.h> int function(char x[]) {
int i; int y=strlen(x);
for(i=0;i<y/2;i++) if(x[i]!=x[l-i-1]) return 0; return 1; }
void main() {
char s[100]; int count=0,i;
for(i=1;i<=5;i++)
{ printf(输入第%d个字符串:,i); scanf(%s,s); if(function(s))
{printf(%s是回文\\n,s);count++;} else printf(%s不是回文\\n,s); }
printf(共有回文%d个\\n,count); }
(3)编写一函数,实现将一个十进制数转换成二进制数。程序以文件名sy7_9.c存盘。 #include <stdio.h> int n=0;
void tentotwo(int number,int b[ ]) {
while(number) {
b[n]=number%2; number=number/2; n++; } }
void main(void) {
int inumber; int a[20],i;
printf(please input nunber: ); scanf(%d,&inumber); printf(\\n);
tentotwo(inumber,a ); for(i=n-1;i>=0;i--) printf(%d,a[i]); printf(\\n);
}篇五:c实验报告1参考答案
《高级语言程序设计》实验报告 班级:学号:姓名:成绩: 实验1熟悉visual c++6.0环境及运行c程序 一、实验目的
1.掌握在visual c++6.0环境下c程序的建立、编辑、编译和执行过程。 2.掌握c程序的最基本框架结构,完成简单程序的编制与运行。 3.了解基本输入输出函数scanf()、printf ()的格式及使用方法。 4.掌握发现语法错误、逻辑错误的方法以及排除简单错误的操作技能。 二、实验内容 1.下列程序的功能是:从键盘输入两个数a和b,求它们的平方和,并在屏幕上输出。输入该c程序,编译并运行之,记下屏幕的输出结果,以文件名sy1_1.c保存。 #include <stdio.h> main() {
int a,b,sum; /*定义整型变量a、b、sum */ printf(please input a,b \\n ); /*输出提示信息*/ scanf(%d%d,&a,&b); /*从键盘输入两个整数分别赋予a和b*/ sum=a*a+b*b; /*赋值语句,把a2+b2的结果赋给变量sum*/
printf(%d*%d+ %d*%d=%d\\n,a,a,b,b,sum); /*输出语句*/ } (1)下列程序的功能为:计算x*y的值并将结果输出。试纠正程序中存在的错误,以实
现其功能。程序以文件名sy1_2.c保存。 #include <stdio.h> main main()
{ int x=2;y=3;a int x=2;y=3;a; a=x*y a=x*y; print (a=%d,a); printf (a=%d,a); printf(\\n);
} (2)下程序的功能为:求两数中的较大数据并输出。纠正程序中存在的错误,以实现其
功能。程序以文件名 sy1_3.c保存。
#include <stdio.h> viod main() void main() {
int a ,b , max;
scanf(“%d,%d”,&a,&b); scanf(“%d,%d”,&a,&b); max=a; max=a; if (max<b) max=b; if (max<b) max=b; printf(“max=%d”,max); printf(“max=%d”,max); }
3.程序填空题 (1)从键盘输入两个整数,输出这两个整数的和。根据注释信息填写完整程序,以实现
其功能。以文件名sy1_4.c保存。 #include<stdio.h> main() {
/* 定义整型变量x,y,total*/ printf(please input x,y ! ); /* 输出提示信息 */ /* 由键盘输入两个数分别赋予x和y*/ total=x+y; /* 赋值语句 */ printf(%d + %d=%d\\n,x,y,total); /* 输出两个整数的和 */ } (2)从键盘输入两个整数,输出这两个整数的差。根据注释信息填写完整程序,以实现
其功能。程序以文件名sy1_5.c #include<stdio.h> main()
{ int a,b,m;
printf(input a,b please ! ); scanf(%d%d,&a,&b); /* 赋值语句,将a和b的差值赋给m */ /* 输出a 和b差的结果值后换行 */ } 4.编程题 (1)编程序,运行后输出如下信息:“better city,better life!”。程序以文件名sy1_6.c保存。
#include <stdio.h> main() {
printf(better city,better life!\\n); } (2)编程序,从键盘输入3个整数,输出它们的平方和。程序以文件名sy1_7.c保存。
#include <stdio.h> main() {
int a,b,c,sum;
printf(please input a,b,c \\n ); scanf(%d,%d,%d,&a,&b,&c); sum=a*a+b*b+c*c;
printf(%d*%d+%d*%d+%d*%d=%d\\n,a,a,b,b,c,c,sum); } 实验2 数据类型、运算符和表达式 一、实验目的
1.理解c语言中各种数据类型的意义,掌握各种数据类型的定义方法。 2.掌握c语言常量、变量的定义与使用。 3.掌握
c语言数据类型及运算符的使用规则。 二、实验内容 (1)下列程序的功能为:已知圆锥半径r和高h,计算圆锥体积v。纠正程序中存在的错
误,以实现其功能。程序以文件名sy2_1.c保存。计算圆锥体积的公式为: #include stdio.h #include<stdio.h> main(); main() { float r=10,h=5; float r=10,h=5,v; v=1/3*3.14159*r^2*h; v=1.0/3*3.14159*r*r*h; printf(v=%d\\n,v) printf(v=%d\\n,v); } (2)下列程序的功能为:通过键盘输入两个整数分别存放在变量x、y中,不借用第3个变量实现变量x、y互换值。纠正程序中存在的错误,以实现其功能。程序以文件名sy2_2.c保存。
#include <stdio.h> main() {
int x,y;
printf(请输入两个整数\\n); scanf(%d%d,x, y); scanf(%d%d,&x, &y);
printf(初始状态下的x:%d y: %d\\n,x,y ); x=x+y x=x+y; y=x-y; x=x-y;
printf(最终状态下的x:%d y: %d/n,x,y); } 2.程序填空题
(1) 计算当x=4时,公式y?1?x3 x2?4x?10×2x2 的值。补充完善程序,以实现 其功能。程序以文件名sy2_3.c保存。 #include <stdio.h> main() {
float x=4.0,y; printf(%f,y);
} (2) 下列程序的功能为:从键盘输入3个整数分别存入变量a、b、c,然后,将变量a的值存入变量b,将变量b的值存入变量c,将变量c的值存入变量a,输出经过转存后变量a、b、c的值。(提示:使用中间变量)补充完善程序,以实现其功能。程序以文件名sy2_4.c保存。
#include <stdio.h> main () {
; printf(please input a,b,c: ); printf(a=%d\\nb=%d\\nc=%d\\n,a,b,c);
} 3.编程题 (1)从键盘输入3个大写英文字母,把它们转换成小写字母后输出。程序以文件名sy2_5.c保存。
正在阅读:
C实验报告答案10-18
2022山东高考满分作文原题精彩4篇03-26
读书让生活更美好作文500字06-20
苏教版二年级语文上册第七单元自测题04-09
某项目多媒体系统施工组织设计方案06-06
《鱼游到了纸上》优质课公开课教案(5)05-18
新编2016一年级上册语文教案(一小)01-15
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 答案
- 实验
- 报告
- 6、7的加减法教学设计
- 03241148货币银行学
- 863项目中期检查模板
- 地税局人事教育工作总结以及工作思路
- 创业计划竞赛不同阶段对作品的要求
- 26.3实际问题与二次函数(2)
- 纳税评估的内容
- (109号工发)关于印发《工务系统施工作业安全防护实施办法》的通知(090414)
- 双语教学规划
- 淄川区关于2008年玉米秸秆机械还田情况的调研 报告
- 昌吉市场调研报告修改
- XX山庄项目经营分析报告-地产经典案例 - 图文
- 太钢英语二级强化培训资料 完整无删节版
- 2018年中考英语模拟试题(二) - 图文
- 最新中考物理考点复习学案:专题05 机械运动、参照系、运动与静止(含解析)
- 全国语文特级教师名单
- “十三五”重点项目-年产20万件实木家具项目节能评估报告(节能专篇)
- 创新药物临床试验中临床药理学研究的一般考虑
- 复习题选择改错简答题
- 社会工作理论基础