《C语言程序设计》(江宝钏著)实验五答案
C语言程序设计实验指导书参考答案
C 语言程序设计上机实验指导与习题参考答案(仅供教师内部参考)华南农业大学目录上机实验 (1)实验 1 C 语言程序初步 (1)一、实验目的 (1)二、实验内容 (1)实验 2 基本数据类型、运算和表达式 (3)一、实验目的 (3)二、实验内容 (3)实验 3 基本输入与输出 (5)一、实验目的 (5)二、实验内容 (5)实验 4 选择结构程序设计 (4)一、实验目的 (4)二、实验内容 (4)实验 5 循环结构程序设计(一) (9)一、实验目的 (9)二、实验内容 (9)实验 6 循环结构程序设计(二) (15)一、实验目的 (15)二、实验内容 (15)实验7 数组 (17)一、实验目的 (17)二、实验内容 (17)实验8 字符数组的应用 (22)一、实验目的 (22)二、实验内容 (22)实验9 函数的基本应用 (24)一、实验目的 (24)二、实验内容 (24)实验10 指针与结构体 (26)一、实验目的 (26)二、实验内容 (26)*实验11 链表 (29)一、实验目的 (29)二、实验内容 (29)*实验12 文件 (32)一、实验目的 (32)二、实验内容 (32)上机实验实验1 C语言程序初步一、实验目的(1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。
(2)了解在该系统上如何编辑、编译、连接和运行一个 C 程序。
(3)通过运行简单的 C 程序,初步了解C 程序的特点。
(4)在教师的指导下,学会使用JudgeOnline 实验系统。
二、实验内容1. 运行第一个C 程序[题目:The first C Program]将下列程序输入TC(或VC++),编译、连接和运行该程序。
void main(){printf("The first C Program\n");}[具体操作步骤]以Turbo C 上的操作为例(1)Windows 进入后,按照第一章中介绍的方法,进入Turbo C。
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语言程序设计》课后习题答案(第四版)谭浩强(可编辑修改word版)
// 一次存 5 年期 // 先存 2 年期,到期后将本息再存 3 年期 // 先存 3 年期,到期后将本息再存 2 年期 // 存 1 年期,到期后将本息存再存 1 年期,连续存 5 次 // 存活期存款。活期利息每一季度结算一次
// 输出按第 1 方案得到的本息和 // 输出按第 2 方案得到的本息和 // 输出按第 3 方案得到的本息和 // 输出按第 4 方案得到的本息和 // 输出按第 5 方案得到的本息和
s=r*r*pi; sq=4*pi*r*r; vq=3.0/4.0*pi*r*r*r; vz=pi*r*r*h; printf("圆周长为: printf("圆面积为: printf("圆球表面积为: printf("圆球体积为: printf("圆柱体积为: return 0; }
//计算圆面积 s //计算圆球表面积 sq //计算圆球体积 vq //计算圆柱体积 vz l=%6.2f\n",l); s=%6.2f\n",s); sq=%6.2f\n",sq); v=%6.2f\n",vq); vz=%6.2f\n",vz);
3-2-2 #include <stdio.h> #include <math.h> int main() {double r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5; p=1000; r5=0.0585; r3=0.054; r2=0.0468; r1=0.0414; r0=0.0072;
3-8 #include <stdio.h> int main() { char c1,c2; printf("请输入两个字符 c1,c2:"); c1=getchar(); c2=getchar(); printf("用 putchar 语句输出结果为:"); putchar(c1); putchar(c2); printf("\n"); printf("用 printf 语句输出结果为:"); ห้องสมุดไป่ตู้rintf("%c %c\n",c1,c2); return 0; }
c语言程序设计第五版习题答案解析
习题解析与答案第1章C语言概述一.简答题1.概述C语言的主要特点。
【解答】(1)语言简洁、紧凑,使用方便、灵活。
(2)数据类型丰富,表达能力强。
(3)运算符多样。
C语言中的运算符包含的范围非常广泛。
(4)具有结构化的控制语句。
如if…else语句、while语句、do while语句、switch 语句、for语句。
(5)允许直接访问物理地址。
C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。
(6)所生成的目标代码质量高,可移植性好。
2.构成C语言程序的基本单位是什么?它由哪几部分组成?【解答】函数是构成C语言程序的基本单位。
一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。
3.C语言程序的运行一般要经过哪几个步骤?【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。
二.运行程序写结果1.输入下面程序并运行。
main(){int a1,a2,x;a1=100;a2=50;x=a1-a2;printf(″x=%d\n″,x);}【解答】运行结果为:x=502.输入下面程序并运行。
main(){int a1,a2,x;a1=10;a2=20;x=a1*a2;printf(″a1=%d,a2=%d\n″,a1,a2);printf(″x=%d\n″,x);}【解答】运行结果为:a1=10,a2=20x=2003.输入下面程序并运行。
#include <stdio.h>main(){printf("******\n");printf(" *****\n");printf(" ****\n");printf(" ***\n");printf(" **\n");printf(" *\n");}【解答】运行结果为:*********************思考:可以修改程序,使之输出平行四边形,等腰三角形等图形。
《C语言程序开发》实验报告和参考答案
《C语言程序开发》实验报告和参考答案1实实验报告课程名称:C语言程序开发学生姓名:学生学号:专业班级:指导教师:实验日期:2目录实验一循环结构程序设计(一)求1+2+3+.......+100,1100nn(二)输出100~200之间的不能被3整除的数。
实验二数组及其应用(一)有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。
(二)输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。
实验三函数及其应用(一)有5个学生坐在一起,问第5个学生多少岁,他说比第4个学生大2岁。
问第4个学生岁数,他说比第3个学生大2岁。
问第3个学生,又说比第2个学生大2岁。
问第2个学生,说比第1个学生大2岁。
最后问第1个学生,他说是10岁。
请问第5个学生多大。
(二)用选择法对数组中10个整数按由小到大排序,一维数组名作函数参数。
实验四指针及其应用(一)将若干字符串按字母顺序(由小到大)输出。
(二)有a个学生,每个学生有b门课程的成绩。
要求在用户输入学生序号以后,能输出该学生的全部成绩。
用指针函数来实现。
3实验一循环结构程序设计实验题目:(一)求1+2+3+.......+100,1100nn(二)输出100~200之间的不能被3整除的数。
实验目的1.掌握循环语句的执行过程及用法2.初步掌握循环程序设计的基本技巧3.掌握用while语句,do-while语句和for语句实现循环的方法4.掌握多重循环的使用(一)实验步骤1.题目分析2.源程序代码3.运行结果(二)实验步骤:1.题目分析源程序代码3.运行结果4实验二数组及其应用实验题目:(一)有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。
(二)输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。
实验目的1.掌握一维数组的定义及其元素的引用方法2.掌握利用一维数组实现一些常用算法的基本技巧3.掌握二维数组的定义及其应用4.掌握字符数组和字符串函数的使用5.掌握有关二维数组的基本编程技巧(一)实验步骤:1.题目分析2.源程序代码:3.运行结果(二)实验步骤:1.题目分析2.源程序代码3.运行结果5实验三函数及其应用实验题目:(一)有5个学生坐在一起,问第5个学生多少岁,他说比第4个学生大2岁。
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("%3d",x); printf("%3c ",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)用辗转相除法求两个正整数的最大公约数和最小公倍数。
C语言程序设计实验实验指导书及答案
实验一熟悉C程序运行环境班级学号姓名成绩一、实验目的1. 熟悉C语言Visual C++6.0 调试环境。
2. 掌握C程序的编辑、调试及运行。
二、实验内容项目 1. 调试并运行下面程序,并写出运行结果:#include <stdio.h>int main(){printf( “Good morn\ing”)!;printf( “Hello,world!\n ”);return 0;}运行结果(注意,按照屏幕输出格式写):项目 2. 调试并运行下面程序,并写出运行结果:#include <stdio.h>int main(){int a , b , sum; /* 定义变量*/a=23; b=56; /* 为变量赋值*/sum=a+b; /* 计算两个变量的和*/printf( “sum is %d\n”,sum); /* 输出计算结果*/return 0;}运行结果:项目 3. 调试并运行下面程序,并写出运行结果:#include <stdio.h>int max(int,int);int main(){int a , b , c; /* 定义变量*/a=23; b=56; /* 为变量赋值*/c=max(a,b); /* 调用max 函数,将得到的值赋给c*/ printf( “max is %d\n ”,c); /* 输出 c 的值*/return 0;}int max(int x,int y) /* 定义max 函数,函数值为整型*/ {int z; /* 定义变量*/if(x>y)z=x;elsez=y;return(z); /* 将z 的值返回*/}运行结果:三、提高部分3.试想,如果求10 个数中的最大者,则程序该如何编写。
程序代码运行结果:...常熟理工学院电气与自动化工程学院3 《C 语言程序设计》实验指导书实验二数据及其运算班级学号姓名成绩一、实验目的4.掌握C数据类型的概念、熟悉整型、字符型和实型基本类型的常量的用法;学会三种基本类型变量的定义、赋值和使用方法。
《C语言程序设计(第五版)》习题答案
各章习题参考答案第1章习题参考答案1. 简述C程序的结构特点。
答:(1) 一个C语言源程序由一个或多个源文件组成。
每个源文件由一个或多个函数构成,其中有且仅有一个主函数(main函数)。
(2) 一个函数由函数首部(即函数的第一行)和函数体(即函数首部下面的大括号内的部分)组成。
函数首部包括函数类型、函数名和放在圆括号内的若干个参数。
函数体由声明部分和执行部分组成。
(3) C程序书写格式自由,一行内可以写多条语句,一个语句也可以分写在多行中,每个语句必须以分号结尾。
(4)程序的注释内容放在“/*”和“*/之”间,在‘/’和‘*’之间不允许有空格;注释部分允许出现在程序中的任何位置处。
2. 分析例1.3程序的结构。
答:下面是例1.3的程序,它的结构是:有且只有一个主函数main以及若干个其它函数,还有一个被主函数调用的sumab函数。
函数有首部,包括类型和名称,首部下的大括号中有变量定义、输入、计算和输出等语句。
#include <stdio.h>int sumab (int x, int y); /*函数声明*/int main () /*主函数*/{ int a,b,sum; /*定义变量*/printf("请输入变量a与b的值:"); /*提示信息*/scanf ("%d %d", &a, &b); /*输入变量a和b的值*/sum=sumab(a,b); /*调用sumab函数*/printf("a与b的和等于%d", sum);/*输出sum的值*/return 0;}int sumab (int x, int y) /*定义sumab函数,并定义形参x、y */{ int z;z=x+y;return z;}3. 分别编写完成如下任务的程序,然后上机编译、连接并运行。
(1) 输出两行字符,第1行是“The computer is our good friends!”,第2行是“We learnC language.”。
《C程序设计》实验报告答案
答案基本订正过错处,程序设计题部分附上源代码,基本无误,但由于时间紧迫,可能也会有小问题,仅供参考。
以/* */表示程序注释。
第一章C语言概述参考答案一、选择题:1-7 ADCBBDD一、选择题:1-5 DBCBD二、算法设计(略)第三章一、选择题1-5 DCCDB 6-10 BACAA21-25 ADABA选择题24题题目应为:(a==b++二、填空题C程序设计-顺序程序设计参考答案D答案改为65534第五章选择结构程序设计参考答案一、选择题1-5 BCDCA 6-10 BCDCB 11-15 DABDD二、填空题1. switch或多分支开关控制2.fabs(x-2)<1e-63. 14. 45995. 10 20 0三、写出程序运行的结果Array 1.97,b2.a=1,b=33.该程序书上有误,正确的是:main(){ char c;while((c=getchar())!=‟\n‟){ switch(c-…1‟){case 0:case 1:putchar(c+2);case 3:putchar(c+4);default}}printf(“\n”);}结果:645341由于程序不同,该题可以有两个答案四、程序设计1、下列程序实现从键盘接收3个数,输出最大数和最小数#include <stdio.h>main(){ int a,b,c,max,min;scanf(“%d,%d,%d”,&a,&b,&c); /*键盘输入3个数a,b,c*/max=min=a; /*假设第一个数a是最大数,也是最小数/if(b>a) max=b; /*分别用a和b,c进行两次比较*/else min=b;if(c>max) max=c;if(c<min) min=c;printf(“\nmax=%d,min=%d”,max, min);}1.输入一百分制的成绩,输出他的等级,90以上“A”等,80-89为“B”等,70-79为“C”等,60-69为“D”等,60以下为“E”等。
c语言程序设计第五版习题答案解析
c语言程序设计第五版习题答案解析首先,值得指出的是,《C语言程序设计》是一本经典的编程教材,它通过系统性的介绍和练习,帮助读者掌握C语言编程的基本原理和技巧。
而针对这本书中的习题,我们将逐一进行解答和解析,以便读者更好地理解和掌握其中的知识。
1. 第一章:C语言概述在第一章中,主要介绍了C语言的历史背景、特点和发展。
对于习题的解答,我们可以通过提问的方式帮助读者思考和回顾所学内容,例如:“C语言为什么被广泛应用于系统软件开发?”、“C语言的起源是什么?”2. 第二章:数据类型、运算符和表达式在第二章中,主要介绍C语言中的数据类型、运算符和表达式。
习题部分则涵盖了类型转换、算术运算、逻辑运算等内容。
针对这些习题,我们可以给出详细的解答步骤和原理解析,让读者了解C语言中各种运算符的优先级和使用规则。
3. 第三章:控制结构第三章主要介绍了C语言中的分支结构和循环结构。
针对习题部分,我们可以详细解答条件语句、循环语句的使用和注意事项,同时提供一些实际例子和应用场景,让读者更好地理解和掌握这些知识点。
4. 第四章:函数与程序结构在第四章中,重点介绍了函数的定义、调用和参数传递等。
针对习题,我们可以通过编写代码的方式,给出函数的实际应用案例,并解释其中的关键代码部分,帮助读者理解函数的作用和使用方法。
5. 第五章:指针与数组第五章主要介绍了C语言中指针和数组的概念和用法。
对于习题解答,我们可以给出指针和数组的定义、操作方法,并通过实例演示指针和数组在实际编程中的应用。
6. 第六章:字符输入输出第六章主要讲解了C语言中字符输入输出的函数和特点。
在解答习题时,我们可以提供一些常见的字符输入输出问题,并给出详细的解决思路和代码示例。
7. 第七章:类型第七章主要介绍了C语言中的类型定义和使用。
对于习题解答,我们可以通过解析代码和理论知识的结合,帮助读者理解类型的定义和使用场景。
8. 第八章:运算符和表达式在第八章中,主要介绍了C语言中的运算符和表达式。
C语言程序与设计 第5章_实验及习题答案
}
(2)利用随机数函数产生20个三位数,将这20个数从小到大排列并输出。
参照【例5-4】P127页选择法排序程序,只需做下列修改:
将N的值改为20
将语句:a[i] = rand ( ) % 100 ;改为:a[i] = rand ( ) %900+100;
也可参照【例5-4】和【例5-5】写出用冒泡法排序的程序。
scanf( "%d" ,&a[i][j] ) ;
}
for( i = 0 ; i <M; i++ )
{sum1+= a[i][i] ;sum2+= a[i][M-1-i] ;
}
for( i = 0 ; i <M; i++ )
{ for( j = 0 ; j <N; j++ )
printf( " %4d " ,a[i][j] ) ;
puts(s1) ;
puts(s2) ;
}
(3)期末班级成绩处理。设有学生5人,每人5科成绩,统计每个学生的总分、不及格课程门数,并按总分排名次,按下面格式输出排名后的成绩单。数据由初始化方式提供。
学号姓名科目1科目2科目3科目4科目5总分名次不及格门数
实现的程序可参考(P164~165)
习
一、选择题
{ for( j = 0 ; j <N ; j ++ )
printf( "%4d" , a[i][j] ) ;
printf( " \n" ) ;
}
printf("请输入要交换的两列列号: " ) ;
c语言程序设计实验指导书答案
c语言程序设计实验指导书答案C语言程序设计实验指导书是帮助学生理解和掌握C语言编程技能的重要工具。
本指导书旨在通过一系列实验,引导学生从基础语法到高级编程技巧,逐步提高编程能力。
以下是一些实验题目和相应的答案示例,以供参考。
实验一:C语言基础语法实验目的:- 熟悉C语言的基本语法结构。
- 掌握变量声明、数据类型和运算符的使用。
实验内容:1. 编写一个程序,输入两个整数,输出它们的和、差、积和商。
实验答案:```c#include <stdio.h>int main() {int num1, num2;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);printf("和是:%d\n", num1 + num2);printf("差是:%d\n", num1 - num2);printf("积是:%d\n", num1 * num2);if (num2 != 0) {printf("商是:%d\n", num1 / num2);} else {printf("除数不能为0。
\n");}return 0;}```实验二:控制结构实验目的:- 掌握条件语句和循环语句的使用。
实验内容:1. 使用循环语句计算1到100的和。
实验答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {sum += i;}printf("1到100的和是:%d\n", sum); return 0;}```实验三:数组和字符串- 掌握数组和字符串的声明、初始化和使用。
实验内容:1. 编写一个程序,输入一个字符串,然后反转该字符串并输出。
C语言程序设计教程课后习题参考答案
《C语言程序设计教程》课后习题参考答案习题11.(1)编译、链接.exe(2)函数主函数(或main函数)(3)编辑编译链接2.(1)-(5):DDBBC(6)-(10):ABBBC3.(1)答:C语言简洁、紧凑,使用方便、灵活;C语言是高级语言,同时具备了低级语言的特征;C语言是结构化程序设计语言,具有结构化的程序控制语句;C语言有各种各样的数据类型;C语言可移植性好;生成目标代码质量高,程序执行效率高。
(2)编辑、编译、链接、执行(3)一个C程序由一或多个函数组成,一函数若干条语句构成,每条语句的末尾必须以分号结束。
(4)标识符,关键字,运算符,分隔符,常量,注释符等4. 从键盘输入一个双精度小数,打印出它的余弦值。
#include <stdio.h>#include <math.h>main( ){double x;scanf(“%lf”, &x);printf(“%lf\n”, cos(x) );}第2章1.(1)BDE、ACFG(2)D(3)C(4)C2.(1)错(2)错(3)错(4)对(5)错3.(1)a=3,b=-27(2)a=11,b=6,c=6(3)3(4)1010110(5)-998(6)1)202)83)704)05)06)04.(1)#include <stdio.h>main( ){double r, h ,v;r = 2.5;h = 3.5;v = 3.14*r*r*h;printf(“v=%lf\n”, v);}(2)#include <stdio.h>main( ){char ch;ch = getchar( );printf(“%c\n”, ch + 32);}(3)#include <stdio.h>main( ){printf(“ *\n”);printf(“ ***\n”);printf(“ *****\n”);printf(“*******\n”);}(4)#include <stdio.h>main( ){double x;scanf(“%lf”, &x);printf(“%d , %lf\n”, (int)x, x – (int)x );}(5)#include <stdio.h>main( ){double a=3, b=5;double result = (-2 * a + ( 4*a – b )/( 2*a + b ) )/( (a - 4*b)/(a + b) );printf(“%lf\n”, result);}习题31.(1)D(2)AD(3)C(4)B(5)A(6)-(10):BDACB2.(1)3.141593,3.1416,3.142(2)c=K(3)| 123.46|,|123 |(4)x= 1.23,y= 50.00(5)03.(1)scanf(%f”, c); 改为:scanf(“%f”, &c);f = (9/5)*c+32;改为:f = (9.0/5)*c + 32;printf(“摄氏温度%f度相当于华氏温度%f度”, &c, &f); 改为:printf(“摄氏温度%f度相当于华氏温度%f度”, c, f); (2)补充定义:int h;h = 500/60改为: h = 500 / 60;m = 500% 60 改为:m = 500%60;printf(“500分钟是%d小时%d分钟,”&h, &m); 改为:printf(“500分钟是%d小时%d分钟” , h, m);4.(1)#include<stdio.h>main( ){char x,y;scanf(“%c%c”, &x, &y);printf(“%d\n”, (x-‘0’) + (y-‘0’) );}(2)#include <stdio.h>main( ){char x, y;char tmp;printf(“Input two characters:”);scanf(“%c%c”, &x, &y);printf(“Before swap: x=%c, y=%c\n”, x, y);tmp = x;x = y;y = tmp;printf(“After swap: x=%c, y=%c\n”, x, y); }(3)#include <stdio.h>main( ){char ch;ch = getchar( );printf(“%c\n”, ch - 32);}第4章1.(1)-(5):CAACA2.(1)BBB(2)AAABBBCCC(3)end(4)d=20(5)s=2,t=3(6)firstthird(7)y=0y=5y=10y=53.(1)y<z x<z x<y(2)ch>=’A’ && ch<=’Z’ch>=’a’&&ch<=’z’ch = ch-32(3)x>2&&x<=10x>-1&&x<=2(4)t=x;x=y;y=t;4.(1)#include <stdio.h>main( ){int x, y , z, t;scanf(“%d%d%d”, &x, &y, &z);if ( x>y ){ t=x; x=y; y=t;}if( x > z ){t = x; x = z; z= t; }if( y > z ){t = y; y= z; z = t;}printf(“%d %d %d\n”, x, y ,z);}(2)#include <stdio.h>main( ){int score;scanf(“%d”, &score);if ( score < 0 || score > 100 )printf(“成绩不合理\n”);else if( score>=90 )printf(“优秀\n”);else if( score>=80 )printf(“良好\n”);else if( score >= 70 )printf(“中等\n”);else if( score >= 60 )printf(“及格\n”);elseprintf(“不及格\n”);}(3)#include <stdio.h>main( ){int n;int g,s,b,q;//各位上的数值scanf(“%d”, &n);g = n%10;//个位s = n/10%10;//十位b = n/100%10;//百位q = n/1000%10;//千位if( n < 10 ) //一位数{printf(“%d\n”, 1);//位数printf(“%d\n”, g); //各位上的数值}else if ( n < 100 ) //两位数{printf(“%d\n”, 2);//位数printf(“%d %d\n”, g,s);}else if ( n < 1000 ) //三位数{printf(“%d\n”, 3);//位数printf(“%d %d %d\n”, g, s, b);}else if ( n < 10000 ) //四位数{printf(“%d\n”, 4);//位数printf(“%d %d %d %d\n”, g, s, b, q);}}(4)#include <stdio.h>main( ){int n;scanf(“%d”, &n);if( n % 3==0 && n%5==0 && n%7==0 )printf(“能同时被3、5、7整除\n”);else if( n%3==0 && n%5==0)printf(“能被3和5整除\n”);else if( n%3==0 && n%7==0 )printf(“能被3和7整除\n”);else if( n%5==0 && n%7==0 )printf(“能被5和7整除\n”);else if( n%3==0 || n%5==0 || n%7==0 ){if( n%3==0 )printf(“能被3整除\n”);else if( n%5==0 )printf(“能被5整除\n”);elseprintf(“能被7整除\n”);}elseprintf(“不能被3、5、7中任一个数整除\n”);}(5)#include <stdio.h>main( ){int carType;//车型。
c语言程序设计实验教程课后答案
c语言程序设计实验教程课后答案C语言程序设计实验教程课后答案C语言是一种广泛使用的计算机编程语言,以其高效、灵活和功能强大而著称。
学习C语言不仅能够帮助学生理解计算机程序设计的基础,而且能够为学习更高级的编程语言打下坚实的基础。
以下是一些常见的C语言程序设计实验教程课后问题及其答案。
问题1:编写一个C程序,计算并输出两个整数的和。
答案:```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两个整数的和是:%d\n", sum);return 0;}```问题2:编写一个C程序,判断一个整数是否为素数。
答案:```c#include <stdio.h>#include <math.h>int isPrime(int n) {if (n <= 1) return 0;for (int i = 2; i <= sqrt(n); i++) {if (n % i == 0) return 0;}return 1;}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (isPrime(num)) {printf("%d 是素数。
\n", num);} else {printf("%d 不是素数。
\n", num);}return 0;}```问题3:编写一个C程序,实现简单的学生成绩管理系统。
答案:```c#include <stdio.h>struct Student {char name[50];int score;};int main() {struct Student students[3] = {{"Alice", 85},{"Bob", 90},{"Charlie", 78}};int i;printf("学生成绩列表:\n");for (i = 0; i < 3; i++) {printf("%s: %d\n", students[i].name, students[i].score);}return 0;}```问题4:编写一个C程序,实现字符串的反转。
《C语言程序设计》实验指导书答案
实验一(第1章实验)实验目的:1.掌握运行C语言程序的全过程。
2.熟悉编译环境Visual C++或者Dev C++或者Turbo C2.0//3.0。
3.初步熟悉C语言程序的语法规定。
4.了解简单函数的使用方法。
实验内容:1.编程且上机运行:求3个整数的和。
2.编程且上机运行:求2个数的和、差、积和商。
3.编程且上机运行:输入3个数,求最大值。
4.编程且上机运行:输入圆的半径,求圆的面积和周长。
5.在屏幕上输出:“hello world!”6.输入并编辑本章中给出的C程序例子,在自己用的环境中形成一个C语言源程序文件;对这个源程序进行加工,得到对应的可执行程序,看一看它的效果。
实验结果:1.#include <stdio.h>#include <stdlib.h>main( ){ int i,j,k;printf("input i,j,k:");//输入整数数据,以半角逗号间隔,比如:1,2,3scanf("%d,%d,%d",&i,&j,&k);//不能缺少地址符号“&”printf("%d+%d+%d=%d\n",i,j,k,i+j+k);system("Pause");}2.#include <stdio.h>#include <stdlib.h>main( ){ int i,j;printf("input i,j(not 0):");//输入整数数据,以半角逗号间隔,j不为0,因为做除数scanf("%d,%d,%d",&i,&j);//不能缺少地址符号“&”printf("%d+%d=%d\n",i,j,i+j);printf("%d-%d=%d\n",i,j,i-j);printf("%d*%d=%d\n",i,j,i*j);printf("%d/%d=%d\n",i,j,i/j);system("Pause");}3. #include <stdio.h>#include <stdlib.h>main( ){ int i,j,k;printf("input i,j,k:");//输入整数数据,以半角逗号间隔scanf("%d,%d,%d",&i,&j,&k);//不能缺少地址符号“&”if(i>j){if(j>k)printf("max:%d",i);else if(i>k)printf("max:%d",i);elseprintf("max:%d",k);}else{if(j<k)printf("max:%d",k);elseprintf("max:%d",j);}system("Pause");}4. #include <stdio.h>#include <stdlib.h>#define pi 3.14main( ){ float r;printf("input r:");scanf("%f",&r);//不能缺少地址符号“&”printf("circle area is:%6.2f",pi*r*r);system("Pause");}5.#include <stdio.h>#include <stdlib.h>#define pi 3.14main( ){printf("hello world!");system("Pause");}6.略实验二(第3章实验一)实验目的:理解C语言的类型系统。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5.4 实验五函数与预处理一、实验目的与要求1. 掌握C语言函数的定义方法、函数的声明及函数的调用方法。
2. 理解函数实参与形参的对应关系以及“值传递”的方式。
3. 掌握全局变量和局部变量动态变量、静态变量的概念和使用方法。
4. 掌握动态存储分配的方法。
5. 掌握宏定义和文件包含处理方法。
6. 实验4学时二、实验内容1.程序验证与改错题(1) 程序验证题①下面程序执行的结果是什么void swap(int x, int y){int temp;temp=x;x=y;y=temp;}void main(){int a,b;scanf(“%d%d”, &a,&b);if(a>b)swap(a, b);printf(“%d\t %d”, a,b);}思考:为什么a,b的值没有交换?答:修改后的函数为#include<stdio.h>void swap(int &x, int &y){int temp;temp=x;x=y;y=temp;}void main(){int a,b;scanf("%d%d",&a,&b);swap(a,b); //if语句被去掉//printf("%d\t %d\n", a,b);}因为调用函数中改变的是形参而非实参,加上&,其意义是改变实参的地址。
If语句中,只有当a>b时才交换a,b的值去掉后在任何情况下都交换a,b的值②调用函数fun计算:m=1+2+3+4+…+9+10,并输出结果。
请验证下面的程序是否符合题目要求。
#include”stdio.h”int fun(int n){int m, i;for (i=1; i<=n; i++){m+=i;}return m;}void main(){printf("m=%d\n", fun(10));}在上面程序的基础上,修改程序. 计算m=1-2+3-4+…+9-10。
答:#include<stdio.h>int fun(int n){int m=0,i;for (i=1;i<=n;i++){if(i%2==1)m+=i;elsem-=i;}return m;}void main(){printf("m=%d\n",fun(10));}(2)程序改错题下列程序的功能是利用自定义函数计算一无符号的整数各位数字的乘积。
#include<stdio.h>unsigned f(unsigned num){unsigned k=0;do{k*=num/10;num/=10;}while(k);return k;}void main(){int x;printf(“input x=:\n”);scanf(“%d”, x);printf(“%d”, f(x));}答:#include<stdio.h>unsigned f(unsigned num){unsigned k=1;do{k*=num%10;num/=10;}while(num!=0);return k;}void main(){int x;printf("input x=:\n");scanf("%d",&x);printf("%d", f(x));}2.一般编程题编程题1编写一函数,把输入的4个数字字符转换成一个int数据存放,如输入4123这字符转换为4123这个整数,并通过主函数验证结果。
答:#include<stdio.h>int f(char c){int a;a=int(c)-48;return a;}void main(){int a,b=0;char c;while((c=getchar())!='\n'){a=f(c);b=b*10+a;}printf("%d\n",b);printf("%d+%d=%d\n",b,b,b+b);printf("\n");}编程题2编写程序求:1*1*1+2*2*2+3*3*3+4*4*4+5*5*5提示:主函数用来现实结果,f1( )函数用来求一个数的立方,f2( )函数用来求和。
#include <stdio.h>int f1(int n){……}int f2(int m){……}void main(){……}答:1解(使用库函数)#include<stdio.h>void main(){int i=4;char temp;int result=0;temp=getchar();while(temp!='\n'){result*=10;result+=((int)temp-48);temp=getchar();}printf("%c\n",temp);printf("%d\n",result);}2解(使用stdlib 库函数中的atoi ()函数)# include <stdio.h># include <stdlib.h>void main (){int num;char str[30];gets(str);num = atoi(str);printf("num to int:%d\n",num);}编程题3定义两个带参数的宏,将两个参数的值相加和相减,并写出程序,输入两个数作为使用宏时的实参。
输出相加和相减后的和与差。
答:#include <stdio.h>#define P(m,n) m+n;#define Q(m,n) m-n;void main(){int m,n,p,q;scanf("%d %d",&m,&n);p=P(m,n);q=Q(m,n);printf("%d=%d+%d\n",p,m,n);printf("%d=%d-%d\n",q,m,n);}编程题4编程输出2到10000之间的所有完数。
所谓完数是指因子之和与它本身相等的数。
如6=1+2+3,6是一个完数。
要求:定义函数factor(m) 判断m是否为完数;由主函数调用它,来对所有2到10000之间的所有数进行判断。
#include <stdio.h>#include <math.h>int factor(int m){int i,s=0;……}void main(){int i,m,sum;……}答:#include <stdio.h>#include <math.h>int factor(int m){int i,s=0;for(i=1;i<m;i++){if(m%i==0)s+=i;}if(s==m)return s;elsereturn 0;}void main(){int i,m,sum;m=10000;for(i=2;i<=m;i++){sum=factor(i);if(sum>0){printf("%d ",sum);}}printf("\n");}3.较难编程题编程题1用函数调用实现求两个数的最大公因子和最小公倍数答:#include <stdio.h>#include <math.h>int f(int m,int n){int i;for(i=1;;i++){if(m==n)break;if(m>n)m=m-n;elsen=n-m;}return n;}int g(int x,int y,int z){int i;i=x*y/z;return i;}void main(){int a,b,c,d;scanf("%d %d",&a,&b);c=f(a,b);d=g(a,b,c);printf("最大公因子:%d\n",c);printf("最小公倍数:%d\n",d);}编程题2用递归方法求1+2+3+...+n并将其中素数去除后之和。
#include <stdio.h>#include <math.h>int isprime (int number){……}long fact(int n){……}void main(){int m,sum;……}答:#include <stdio.h>#include <math.h>int isprime (int number){int i;for(i=2;i<number;i++){if(number%i==0)break;}if(i==number)return 0;elsereturn number;}long fact(int n){long result,a;if(n==1)result=1;else{a=isprime(n);result=a+fact(n-1);}return result;}void main(){int m,sum;scanf("%d",&m);sum=fact(m);printf("%d\n",sum); }。