C_上机实验答案
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语言实验上机实验第四版参考答案c语言程序设计上机实验指导与习题参考答案(第四版)实验1c语言程序初步一、实验目的(1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。
(2)了解在该系统上如何编辑、编译、连接和运行一个c程序。
(3)通过运行简单的c程序,初步了解c程序的特点。
(4)在教师的指导下,学会使用在线评判系统。
二、实验内容1.运行第一个c程序[题目:thefirstcprogram]将下列程序输入visualc++,编译、连接和运行该程序。
#include\main(){printf(\}[具体操作步骤](1)在编辑窗口中输出程序。
(2)留存程序,取名为a1.c。
(3)按照第一章中介绍的方法,编译、连接和运行程序。
(4)按照第三章了解的方法,将代码递交至在线评判系统,系统回到“通过”,则该题顺利完成。
2.在在线评判系统中提交实现了计算a+b功能的程序[题目1001:排序a+b]由键盘输入两个整数,计算并输出两个整数的和。
实现该功能的程序如下,#include\main(){inta,b;scanf(\printf(\}(1)在程序编辑窗口中输出程序。
(2)留存程序,取名为a2.c。
(3)按照前二章中介绍的方法,编译、连接和运行程序。
(4)在程序运行过程中,输入1530l(l则表示输出回车符)(5)如果看到如下输出结果,则表明15+30的结果正确,如果得不到如下结果,则需检查并更正程序。
45(6)按照第三章中了解的方法步入在线评判系统。
(7)显示题目列表,点击题号为1001,题名为“计算a+b”的题目。
(8)查阅回去题目建议后,页面页面下端的“sumbit”,参考第二章递交程序的方法递交程序a2.c。
(9)查看评判结果,如果得到“accepted”则该题通过,否则返回第一步检查程序是否正确。
3实验2基本数据类型、运算和表达式一、实验目的(1)掌握c语言数据类型,熟悉如何定义一个整型和实型的变量,以及对它们赋值的方法。
大学大一c语言程序设计实验室上机题全部代码答案(实验报告)

大学大一c语言程序设计实验室上机题全部代码答案(实验报告)大学大一C语言程序设计实验室上机题全部代码答案(实验报告)实验目的:本实验旨在让大一学生通过实际操作掌握C语言的基本语法和常见程序设计题型,提高编程能力。
实验要求:1. 学生需要在实验室中完成上机题,并编写相应的代码。
2. 要求代码具有良好的结构和规范,能够正确运行,并符合题目要求。
3. 学生需要记录代码的思路和过程,并在实验报告中进行详细说明。
实验过程:本次实验共包括以下几个上机题,分别是:1. 题目:输入两个整数,计算它们的和。
实现思路:- 首先,定义两个整型变量a和b,用来保存输入的两个整数。
- 然后,使用scanf函数分别读取两个整数的值。
- 接下来,定义一个整型变量sum,用来保存两个整数的和。
- 使用sum = a + b计算两个整数的和。
- 最后,使用printf函数将结果输出到屏幕上。
2. 题目:输入一个整数n,计算1到n之间所有整数的和。
实现思路:- 首先,定义一个整型变量n,用来保存输入的整数。
- 然后,使用scanf函数读取整数n的值。
- 接下来,定义一个整型变量sum,用来保存1到n之间所有整数的和。
- 使用for循环语句,从1循环到n,累加每个整数的值。
- 最后,使用printf函数将结果输出到屏幕上。
3. 题目:输入一个整数n,判断它是否是质数。
实现思路:- 首先,定义一个整型变量n,用来保存输入的整数。
- 然后,使用scanf函数读取整数n的值。
- 接下来,定义一个布尔型变量isPrime,用来保存n是否是质数的判断结果。
- 使用for循环语句,从2循环到n-1,判断n是否能被其中任意一个整数整除。
- 如果n能被任意一个整数整除,则将isPrime设为假;否则,将isPrime设为真。
- 最后,根据isPrime的值,使用printf函数输出相应的判断结果。
4. 题目:输入一个正整数n,输出n的所有因子。
实现思路:- 首先,定义一个整型变量n,用来保存输入的正整数。
C++上机课题及部分答案(2021年整理精品文档)

(完整版)C++上机课题及部分答案编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整版)C++上机课题及部分答案)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整版)C++上机课题及部分答案的全部内容。
上机考试题(1)定义一个学生成绩类Score,描述学生成绩的私有数据成员为学号(No)、姓名(Name [8])、数学(Math)、物理(Phi)、数据结构(Data)、平均分(ave)。
定义能输入学生成绩的公有成员函数Write(),能计算学生平均分的公有成员函数Average(),能显示学生成绩的公有成员函数Display()。
在主函数中用Score类定义学生成绩对象数组s[3]。
用Write()输入学生成绩,用Average()计算每个学生的平均分,最后用Display()显示每个学生的成绩。
实验数据:No Name Math Phi Data Ave1001 Zhou 80 70 601002 Chen 90 80 851003 Wang 70 75 89(2)建立一个存放素数的类Prime,具体要求如下。
①私有数据成员。
int a[25]:存放指定范围内的所有素数。
int n1,n2:存放指定范围的下限和上限int num:存放素数的个数。
②公有成员函数Prime(int m1,int m2):构造函数,用参数m1、m2初始化n1、n2,同时初始化num.void primef():求指定范围内的所有素数,把它们依次存放在数组a中。
并将求出的素数个数赋给num。
void show():显示求出的素数的个数及所有的素数,每行输出5个素数。
c语言上机实验题及参考答案

5、两个乒乓球队进行比赛,各出3人,甲队为A,B,C 3人,乙队为X,Y,Z 3人。已抽签决定比赛名单。有人向队员打听比赛的名单。A说他不和X比,C说他不和X、Z比。请编程序找出3队赛手的名单。(C语言源程序文件名为45.c,本程序运行结果:A--Z B--X C--Y)
2 14 14
5 10 15
8 6 16
11 2 17)
2、编写程序:输入两个正整数,求其最大公约数和最小公倍数。(如输入12和8,则最大公约数为4,最小公倍数为24)(C语言源程序文件名为42.c。要求求最大公约数用欧几里得的辗转相除法实现)。
3、编写程序实现以下功能:输入一个正整数,打印出它是否素数。(C语言源程序文件名为43.c)
例如:有定义int a=3;执行输出语句:printf(“a=%3d”,a);则输出结果显示为:a= 3(3左边有两个空格)
n(代表一个正整数)
对实数,表示输出n位小数。
例如:有定义float x=1.2;执行输出语句:printf(“x=%6.2f”,x);则输出结果显示为:x= 1.20(数字左边有两个空格)。
三、附加题:
9、编程实现:从键盘上输入一个三位正整数m,输出将m的个位,十位,百位反序而成的三位数(例如:输入m的值123,则输出m的值为321)(要求:文件名为15.c,提示:可用算术运算符“/”和“%”先分离出m的各个位数,再重新组合成新的数,例如用表达式“123%10”就能求出123的个位数3)。
三、实验题目:
if语句基本形式:if(条件){语句一;}
C语言程序设计练习题(答案)

C语言程序设计练习题(答案)1.1上机实训项目实验1实验步骤1、进入VC环境从“开始”→“程序”→“Microsoft Visual Studio 6.0”→“Microsoft Visual C++ 6.0”,这时进入VC集成环境的主菜单窗口,屏幕显示如图1_1所示。
图1-1 VC集成环境的主菜单窗口2、VC环境下C程序的编辑、连接和运行(1)新建一个源程序①在VC环境中选择“文件”菜单,然后单击“新建”菜单项。
如图1-2所示图1-2 选择新建② 在弹出的新建对话框中设置好相应的内容,如图2-2所示。
要事先准备好保存文件的目录,例d:\lx 目录。
在图1-3中“文件”一栏的源程序文件的扩展名一定要输入C 语言程序的扩展名“.c ”。
设置好后,单击“OK ”,就回到了VC++的编辑界面,即将进行输入和编辑的源程序文件example.c 文件存放在D 盘的LX 目录下。
图1-3 新建对话框的设置③ 在图1-4的工作区中,输入源程序2.设置源程序的文件名,扩展名一定要为“.c ”且一定要输入扩展名1.单击该处3.设置存放目录图1-4 输入、编辑源程序④输入源程序文件后可在主菜单栏中选择“文件”(FILE),并在其下拉菜单中选择“保存”(SAVE),如图1-5所示。
图1-5 保存源程序⑤源程序的编译如图2-6所示,单击主菜单的“编译”(Build),在其下拉菜单中选择“编译example.c”(Compile example.c),或者单击工具栏上的“编译”按钮,如图1-6所示。
在单击“编译”后,屏幕上会出现一个如图1-7所示的对话框。
内容是“This build command requires an activeproject worksapce,Would you like to create a default project worksapce?”,要创建一个默认的项目工作区,单击“是(Yes)”,表示同意,将开始编译;单击“No ”,表示不同意,将取消编译。
C语言上机实验

实验一(第1章实验)实验目的:1.掌握运行C语言程序的全过程。
2.熟悉编译环境。
3.初步熟悉C语言程序的语法规定。
4.了解简单函数的使用方法。
实验内容:1.编程且上机运行:求3个整数的和。
2.编程且上机运行:求2个数的和、差、积和商。
3.编程且上机运行:输入3个数,求最大值。
4.编程且上机运行:输入圆的半径,求圆的面积和周长。
5.在屏幕上输出:“hello world!”实验结果:实验二(第3章实验)1.实验目的:理解C语言的类型系统。
实验内容:写程序测试数据-2在类型char,int,unsigned int,long int,unsigned long int 中存储情况。
实验过程:实验结果:参见各种类型的存储实现描述。
2.实验目的:了解混合类型计算中类型的转换规则。
实验内容:写程序测试多种类型数据一起运算时类型的转换及表达式结果的类型。
注意unsigned int和int数据运算时类型转换的方向。
实验过程:/** 类型转换问题* 试问下面两个表达式等价吗?*/#include <stdio.h>#include <stdlib.h>int main() {unsigned int ui,uj;ui = 1;uj = 2;if (ui < uj)printf("\n%u < %u is true !\n", ui, uj);elseprintf("\n%u < %u is false !\n", ui, uj);if (ui - uj < 0)printf("\n%u - %u <0 is true !\n", ui, uj);elseprintf("\n%u - %u <0 is false !\n", ui, uj);system("pause");return 0;}实验结果:参见类型转换规则。
《C语言》上机实验题及参考答案

《C语言》上机实验题及参考答案作者名:不详来源:网友提供05年7月21日1、编程实现对键盘输入的英文名句子进行加密。
用加密方法为,当内容为英文字母时其在26字母中的其后三个字母代替该字母,若为其它字符时不变:2、编程实现将任意的十进制整数转换成R进制数(R在2-16之间)。
3、从键盘输入一指定金额(以元为单位,如345.78),然后显示支付该金额的各种面额人民币数量,要求显示100元、50元、10元、5元、2元、1元、1角、5分、1分各多少张。
4、随机产生20个[10,50]的正整数存放到数组中,并求数组中的所有元素最大值、最小值、平均值及各元素之和。
5、编程在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,空格用来分隔不同单词。
6、模拟n个人参加选举的过程,并输出选举结果:假设候选人有四人,分别用A、B、C、D表示,当选某候选人时直接输入其编号(编号由计算机随机产生),若输入的不是A、B、C、D则视为无效票,选举结束后按得票数从高到低输出候选人编号和所得票数。
7、任何一个自然数m的立方均可写成m个连续奇数之和。
例如:1^3=12^3=3+53^3=7+9+114^3=13+15+17+19编程实现:输入一自然数n,求组成n3的n个连续奇数。
8、已知abc+cba=1333,其中a,b,c均为一位数,编程求出满足条件的a,b,c所有组合。
9、编制一个完成两个数的四则运算程序。
如:用户输入34+56则输出结果90.00。
要求运算结果保留两位小数,用户输入时一次将两个数和操作符输入。
10、输入一个五位以内的正整数,(1)判断它是一个几位数;(2)请按序输出其各位数字;(3)逆序输出其各位数字。
如输入:56439,输出:5位数5,6,4,3,99,3,4,6,511、编写子函数:(1)用冒泡法将一个数组排成升序的函数---SUB1;(2)在升序数组中插入一个数,并且保持该数组仍为升序数组的函数---SUB2。
C语言培训上机实验题目

安装Visual C ++6.0下载请从群里下载Microsoft Visual Studio.rar。
将下载的文件Microsoft Visual Studio.rar解压后即可使用。
请直接运行文件“Microsoft Visual Studio\Common\MSDev98\Bin\MSDEV.EXE”实验一认识C语言【实验目的】1.熟悉C程序设计编程环境Visual C ++,掌握运行一个C程序设计的基本步骤,包括编辑、编译、连接和运行。
编辑:编写源程序文件.c编译:生成目标文件.obj连接:生成可执行文件.exe运行:执行.exe文件。
2.掌握C语言程序设计的基本框架,能够编写简单的C程序。
3.了解程序调试的思想,能找出并改正C程序中的语法错误。
【实验内容】1-1 在磁盘上新建一个文件夹,用于存放C程序,文件夹的名字可以是学号,如D:\3050888。
1-2 编程示例,在屏幕上显示一个短句“Hello World!”。
源程序# include <stdio.h>void main( ){printf("Hello World! \n");}运行结果Hello World!作为第一个实验,在Visual C++编程环境下,以上述C语言源程序为例,介绍运行一个C 程序的基本步骤,请读者按照以下步骤操作。
(1)启动VC++执行“开始”—>“程序”—>“Microsoft Visual Studio 6.0”—> “Microsoft Visual C++ 6.0”,进入VC++编程环境(如图1.1所示)。
图1.1 VC++窗口(2)新建文件执行“文件/File”—>“新建/New”,单击“文件/Files”选项卡(如图 1.2所示),先在“文件/File name”栏中输入test,把C源(程序)文件命名为test.cpp,在“目录/Location”框中选择你已经建立的文件夹,如,D:\3050888,然后选中“C++ Sourse Files”,单击“确定”按钮,在D:\3050888下就新建了文件test.cpp,并显示编辑窗口和信息窗口(如图1.3所示)。
C语言程序设计 上机实验指导与习题 参考答案(第四版)

C 语言程序设计上机实验指导与习题参考答案(第四版)(学生改编)实验 1:C语言程序初步一、实验目的(1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。
(2)了解在该系统上如何编辑、编译、连接和运行一个 C程序。
(3)通过运行简单的 C 程序,初步了解 C程序的特点。
(4)在教师的指导下,学会使用在线评判系统。
二、实验内容1.运行第一个 C 程序题目:ThefirstCProgram将下列程序输入visualc ,编译、连接和运行该程序。
includequotstdio.hquotmain printfquotThefirstCProgramnquot具体操作步骤(1)在编辑窗口中输入程序。
(2)保存程序,取名为a1.c。
(3)按照第一章中介绍的方法,编译、连接和运行程序。
,则该题完成。
4按照第三章介绍的方法,将代码提交到在线评判系统,系统返回“通过”2.在在线评判系统中提交实现了计算 ab 功能的程序题目 1001:计算ab由键盘输入两个整数,计算并输出两个整数的和。
实现该功能的程序如下,inclu dequotstdio.hquotmain int ab scanfquotddquotampaampbprintfquotdquotab(1)在程序编辑窗口中输入程序。
(2)保存程序,取名为a2.c。
(3)按照前二章中介绍的方法,编译、连接和运行程序。
(4)在程序运行过程中,输入 15 30↙↙表示输入回车符(5)如果看到如下输出结果,则表明1530 的结果正确,如果得不到如下结果,则需检查并更正程序。
45(6)按照第三章中介绍的方法进入在线评判系统。
(7)显示题目列表,点击题号为 1001,题名为“计算ab”的题目。
(8)查看完题目要求后,点击页面下端的“sumbit” ,参照第二章提交程序的方法提交程序a2.c。
(9)查看评判结果,如果得到“accepted”则该题通过,否则返回第一步检查程序是否正确。
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 mainprintf "The first C Program\n"[具体操作步骤]以Turbo C 上的操作为例1Windows 进入后按照第一章中介绍的方法进入Turbo C2在编辑窗口中输入程序3保存程序取名为a1c4按照第一章中介绍的方法编译连接和运行程序2 在JudgeOnline 系统中提交实现了计算ab 功能的程序[题目1001计算ab]由键盘输入两个整数计算并输出两个整数的和实现该功能的程序如下void mainint a bscanf "dd" a b1 printf "d" a b1在程序编辑窗口中输入程序2保存程序取名为a2c3按照前二章中介绍的方法编译连接和运行程序4在程序运行过程中输入15 30↙↙表示输入回车符5 如果看到如下输出结果则表明1530 的结果正确如果得不到如下结果则需检查并更正程序456 按照第三章中介绍的方法进入JudgeOnline 实验系统7 显示题目列表点击题号为1001题名为计算ab的题目8 查看完题目要求后点击页面下端的sumbit 参照第二章提交程序的方法提交程序a2c9 查看评判结果如果得到accepted则该题通过否则返回第一步检查程序是否正确2实验2 基本数据类型运算和表达式一实验目的1掌握C 语言数据类型熟悉如何定义一个整型和实型的变量以及对它们赋值的方法2 掌握不同的类型数据之间赋值的规3 学会使用C 的有关算术运算符以及包含这些运算符的表达式特别是自加和自减-- 运算符的使用4 进一步熟悉C 程序的编辑编译连接和运行的过程二实验内容1 变量的定义[题目1117变量定义按要求完成程序]下面给出一个可以运行的程序但是缺少部分语句请按右边的提示补充完整缺少的语句void mainint a b 定义整型变量a 和bint i j 定义实型变量i 和ja 5b 6i 314 j iabprintf "a db di fj f\n" a b i j[具体操作步骤]1将代码补充完整2在TC 或VC上运行通过3在JudgeOnline 实验系统上提交2 赋值表达式与赋值语句[题目1118赋值表达式与赋值语句写出程序运行结果] 阅读下面程序写出运行结果void mainfloat aint b cchar d ea 35b ac 330d c3e \\printf "fddcc" abcde运行结果为35000003330J\[提示]赋值语句具有类型转换的功能但可能会改变数据3 基本运算[题目1119基本运算写出程序运行结果]阅读下面程序写出运行结果void mainint a b cfloat d 15 e fa 357b 1510c be 1510f d10printf "dddfff" abcdef运行结果为0211500000010000001500000[提示]除法分整除与普通除法之分4实验3 基本输入与输出一实验目的1熟练掌握putchargetcharprintf scanf 函数的使用方法2 掌握各种类型数据的输入输出的方法能正确使用各种格式转换符二实验内容[题目1126字符的输入与输出]编程实现由键盘输入一个字符后在屏幕上输出该字符[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]a↙↙[正确输出] [正确输出]a参考程序include "stdioh"mainchar chch getcharputchar ch[题目1127计算加法]编程实现由键盘输入一个加法式输出正确的结果两个加数均为整数[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]1020 ↙- 1560↙[正确输出] [正确输出]30 45参考程序include "stdioh"mainint a bscanf "dcd" abprintf "d" ab[题目1014求圆面积]由键盘输入圆半径r 请计算该圆的面积注取314159结果保留两位小数位另外程序只要能对r 在0 到10000 范围的情况输出正确答案即可[第一组自测数据] [键盘输入]5652 ↙[键盘输入][正确输出] 112↙1335502 [正确输出][第二组自测数据] 39408[提示]结果保留两位小数可采用printf 函数的格式控制字符来实现参考程序include "stdioh"mainfloat arearscanf "f"rarea 314159rrprintf "02f"area2[题目1015计算摄氏温度值]从键盘输入一个华氏温度值要求按格式输出其对应的摄氏温度值精确到小数点后两位数学公式描述为5C F 329[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]100↙100↙[正确输出] [正确输出]3778 3778[提示]注意公式中的除为普通除法参考程序includevoid mainfloat fcscanf "f"fc 509 f-32printf "2f"c3实验4 选择结构程序设计一实验目的1了解C 语言表示逻辑的方法以0 代表假以非0 代表真2 学会正确使用逻辑运算符和逻辑表达式3 熟练掌握if 语句和switch 语句4 结合程序掌握一些简单的算法二实验内容[题目1120判断点是否在圆]由键盘输入一个点的坐标要求编程判断这个点是否在单位圆上点在圆上输出Y 不在圆上输出N 使用小数点后3 位精度进行判断[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]07070707 ↙8>0505↙[正确输出] [正确输出]Y N[提示] 1平面上的点与圆的关系分为在圆内在圆上在圆外三种本题要求判断是否在圆上2判断两实数相等采用判断这两实数的差的绝对值小于规定误差精度本题为0001 的方法实现参考程序include "stdioh"include "mathh"void mainfloat abscanf "ff"abif fabs aabb-1 1e-3printf "Y\n"else printf "N\n"[题目1017求数的位数]由键盘输入一个不多于9 位的正整数要求输出它是几位数[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]349213 ↙10000↙[正确输出] [正确输出]6 5[提示]划定一位数二位数九位数的范围后用if else if else 语句实现判断4参考程序mainint nplacescanf "ld"nif n 99999999 place 9else if n 9999999 place 8else if n 999999 place 7else if n 99999 place 6else if n 9999 place 5else if n 999 place 4else if n 99 place 3else if n 9 place 2else place 1printf "ld\n"place[题目1018数的排序]由键盘输入三个整数a b c按从小到大的顺序输出这三个数[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]654590 ↙963 ↙[正确输出] [正确输出]456590 369参考程序includemainint abctscanf "ddd"abcif a b t aa bb tif a c t aa cc tif b c t bb cc tprintf "ddd"abc[题目1016字符变换]由键盘输入5 个字符将其中的大写字母变成小写其它类型的字符不变并按输入顺序逐个输出[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]ApPLe ↙aB 5 ↙[正确输出] [正确输出]apple ab 5[提示]下面代码实现由键盘读入一个字符并按题意处理后输出char aa getcharif a A a Z a a32putchar a5现在题目要求处理5 个字符怎么做呢请自己思考参考程序includemainchar abcdescanf "ccccc"abcdeif a Za A a a32if b Zb A b b32if c Zc A c c32if d Zd A d d32if e Ze A e e32printf "ccccc"abcde[题目1019数的整除]由键盘输入5 个整数逐个判断它们能否被27 整除能的输出YES不能的输出NO 注意输出时一个判断结果占一行5 个数的判断共占5 行[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]8 27 17577 325 54 ↙8 27 17577 325 54 ↙[正确输出] [正确输出]NO NOYES YESYES YESNO NOYES YES[提示]整除即除得余数为0参考程序include "stdioh"mainint abcdescanf "d d d d d"abcdeif a27 0 printf "YES\n" else printf "NO\n"if b27 0 printf "YES\n" else printf "NO\n"if c27 0 printf "YES\n" else printf "NO\n"if d27 0 printf "YES\n" else printf "NO\n"if e27 0 printf "YES\n" else printf "NO\n"[题目1020正负奇偶判断]由键盘输入非零整数x 判断该数正负正数输出positive 负数输出negative 接着判断该数的奇偶性奇数输出odd偶数输出even[第一组自测数据] negative[键盘输入] odd-43 ↙[第二组自测数据][正确输出] [键盘输入]698 ↙positive[正确输出] even参考程序include "stdioh"mainint nscanf "d"nif n 0 printf "negative\n"else printf "positive\n"if n2 0 printf "even\n"else printf "odd\n"[题目1023简单计算器]下面程序是实现一个简单的运算器保留两位小数点如果由键盘输入1050计算机可以输出结果6000如果输入8 *6计算机输出4800如果输入204 计算机输出500 如果输入8-6计算机输出200 请在空处填上适当的代码运行通过后并提交include "stdioh"void mainfloat abcscanf "fcf"switch opcasecase - _case _case __default printf "error"returnprintf "result " c[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]452↙501-23 ↙[正确输出] [正确输出]90 27107参考程序includeint mainchar opscanf "fcf"aopbswitch opcase c abbreakcase -c a-bbreakcase c abbreakcase c abbreakdefaultprintf "error"breakprintf "result 2f"c8实验5 循环结构程序设计一一实验目的1熟悉掌握用while 语句do-while 语句和for 语句实现循环的方法2 掌握在程序设计中用循环实现一些常用算法如穷举迭代递推等二实验内容[题目1024计算阶乘]输入正整数n计算n 结果用长整型数表示注n 123n[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]5 ↙8 ↙[正确输出] [正确输出]120 40320参考程序includemainlong in 1ascanf "ld"afor i 1i ai n niprintf "ld\n"n[题目1025计算数列和]有数列1357911现要求由键盘输入n计算输出该数列的前n 项和[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]2 ↙ 5 ↙[正确输出] [正确输出]4 259参考程序includemainlong nsum 0it 1scanf "ld"nfor i 1i nisum sumtt t2printf "ld\n"sum或includemainlong nsumscanf "ld"nsum nnprintf "ld"sum注评判系统不对程序实现细节进行分析只对运行结果进行评测[题目1026 加一行字符中的数字]由键盘输入一行字符总字符个数从1 个至80 个均有可能以回车符表示结束将其中每个数字字符所代表的数值累加起来输出结果[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]abc123↙A6H7T65↙[正确输出] [正确输出]6 24[提示] 1可以使用下面程序段逐个读入键盘输入的一行字符char chwhile ch getchar \n2 数字字符转为对应的数值可用a ch-0参考程序includemainchar cint s 0awhile c getchar \nif c 0c 9a c-48s saprintf "d"s10[题目1029求最大公约数]由键盘输入两个正整数mn mn 用长整数表示计算它们的最大公约数[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]1624↙1725↙[正确输出] [正确输出]8 1[提示]公约数是既能整除m 又能整除n 的数题目要求满足这一条件的最大的一个参考程序includemainlong rmntempscanf "ldld"mnwhile m 0r nmn mm rprintf "ld\n"n或includemainlong mntisscanf "ldld"mnt m nnmfor i t-1i 1i--if mi 0ni 0s i breakprintf "d"s[题目1030字符变换]由键盘输入一个句子总字符个数从1 个至80 个均有可能以回车符表示结束将其中的大写字符变成小写其它类型的字符不变最后输出变换后的句子[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]How Are You ↙ThiS IS My fIrSt C ProgrAm ↙[正确输出] [正确输出]how are you this is my first c program11参考程序includemainchar cwhile c getchar \nif c Ac Zc c32putchar c[题目1037计算数列和]有数列编程实现由键盘输入n计算输出数列前n 项和结果保留四位小数[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]20 ↙30 ↙[正确输出] [正确输出]326603 880403参考程序includemainint itnfloat a 2b 1s 0scanf "d"nfor i 1i nis sabt aa abb tprintf "4f\n"s[题目1044输出最小值]从键盘输入十个整数输出最小值[ 自测数据][键盘输入]12 45 76 87 5 87 43 55 99 21 ↙[正确输出]512参考程序include "stdioh"mainint itminscanf "d" minfor i 1i 10iscanf "d" tif t min min tprintf "d\n"min*[题目1031统计单词个数]由键盘输入一个句子总字符个数从1 个至80 个均有可能以回车符表示结束以空格分割单词要求输出单词的个数[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]How Are You ↙There are many students and many[正确输出] trees↙3 [正确输出]7参考程序includemainint inum 0word 0char cfor i 0 c getchar \niif c word 0else if word 0word 1numprintf "d"num*[题目1042百万富翁]一个百万富翁遇到一个陌生人陌生人找他谈了一个换钱的计划该计划如下我每天给你m 元而你第一天只需给我一分钱第二天我仍给你m 元你给我2 分钱第三天我仍给你m 元你给我4分钱依次类推你每天给我的钱是前一天的两倍直到一个月38 天百万富翁很高兴欣接受这个契约现要求编写一个程序由键盘输入m计算多少天后百万富翁开始亏钱[第一组自测数据] 18[键盘输入] [第二组自测数据]100↙[键盘输入][正确输出] 10000↙13[正确输出] 25参考程序includeincludemainint nmiscanf "d"mfor i 1i 38iif 001 pow 2i-1 -1 -im 0 breakprintf "d"i-114实验6 循环结构程序设计二一实验目的1进一步熟悉掌握用while 语句do-while 语句和for 语句实现循环的方法2 掌握在程序设计中使用多重循环二实验内容[题目1028求素数]输出2 到200 之间包括2 200 的所有素数注要求1 行1 个素数按由小到大的顺序输出[提示]采用双重循环外层循环产生2 到200 之间的数内层循环对数进行判断是否为素数参考程序includeincludemainint mkifor m 2m 200mk sqrt mfor i 2i kiif mi 0 breakif i k printf "d\n"m[题目1035打印菱形]由键盘输入正数n要求输出2n1 行的菱形图案要求菱形左边紧靠屏幕左边[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]3 ↙ 2 ↙[正确输出] [正确输出]15参考程序include "stdioh"include "mathh"mainint nijkscanf "d"nfor i 1i 2n1ik abs n1-ifor j 1j kj printf " "for j 1j 2n1-2kj printf ""printf "\n"[题目1038打印图案]由键盘输入正数n要求输出中间数字为n 的菱形图案要求菱形左边紧靠屏幕左边[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]4 ↙ 3[正确输出] [正确输出]1 1121 121 12321 12321 1234321 121 12321 1 1211参考程序includeincludemainint nijkhscanf "d"nfor i -n1i n-1ifor j 0j abs i jprintf " "for k 1k n-abs i k printf "d"kfor h n-abs i -1h 1h-- printf "d"hprintf "\n"16实验7 数组一实验目的1掌握一维数组和二维数组的定义赋值和输入输出方法2 掌握与数组有关的算法二实验内容[题目1039倒序]由键盘输入10 个整数倒序输出数字间由一个空格分隔[ 自测数据][键盘输入]70 5 14 20 19 2 99 67 13 66 ↙[正确输出]66 13 67 99 2 19 20 14 5 70参考程序includemainint a [10]int ifor i 0i 10i scanf "d"a[i]for i 9i 0i-- printf "d\n"a[i][题目1040统计不同数字个数]由键盘输入20 个整数统计不同数字的个数[ 自测数据][键盘输入]70 5 14 22 19 2 99 67 13 66 5 93 44 38 22 11 39 22 33 11↙[正确输出]16[提示]上述答案中因为5 有1 个重复数字11 有1 个重复数字22 有2 个重复数字故不同数字有16个分别是70 5 14 22 19 2 99 67 13 66 93 44 38 11 39 3317参考程序include"stdioh"mainint a [20]int itp 0for i 0i 20iscanf "d"a[i]for t 0t itif a[t] a [i] breakif t ipprintf "d"p[题目1062打印矩阵]由键盘输入一个3×4 的矩阵要求输出它的转置矩阵[ 自测数据][键盘输入] [正确输出] 1 6 9 3 1 1 11 1 02 6 1 91 9 8 9 9 0 83 2 9参考程序includemainint a [3][4]b[4][3]ijfor i 0i 3ifor j 0j 4jscanf "d"a[i][j]b[j][i] a [i][j]for i 0i 4ifor j 0j 3jprintf "d "b[i][j]printf "\n"*[题目1047冒泡排序]由键盘输入10 个数用冒泡法对10 个数从小到大排序并按格式要求输出代码如下请填充完整数字间由一个空格分隔incude "stdioh"mainint a[10] i j t18for i 0i 10iscanf "d"___________for ___________for j 0j ____jif ______________________for i 0i 10iprintf "d "a[i][ 自测数据][键盘输入]70 5 14 20 19 2 99 67 13 66 ↙[正确输出]2 5 13 14 19 20 66 67 70 99参考程序includemainint a [10]int ijtfor i 0i 10iscanf "d"a[i]for i 0i 9ifor j 0j 9-ijif a[j] a [j1]t a [j] a [j] a[j1] a[j1] tfor i 0i 10iprintf "d "a[i]*[题目1046计算高精度加法]由键盘输入两个位数很长的整数一行一个数每个数最长不超过80 位试计算并输出这两个数的和[ 自测数据][键盘输入]1XXXXXXXXXX23456789 ↙987654321098765 ↙[正确输出]1XXXXXXXXXX4455555419参考程序include "stdioh"include "stringh"mainint a [100] 0 b[100] 0 c[100] 0char s[101]int i 0n1 0n2 0 0e 0gets sn1 strlen sfor i n1-1i 0i-- a[n1-1-i] s[i]-0gets sn2 strlen sfor i n2-1i 0i-- b[n2-1-i] s[i]-0if n1 n2 n1else n2for i 0i ic[i] a[i]b[i]e 10e a[i]b[i]e 10if c[] 0 printf "d"c[]for i -1i 0i--printf "d"c[i]*[题目找矩阵中的鞍点]由键盘输入一个3 ×4 3 行4 列的矩阵输出矩阵中的鞍点即在矩阵行中最大列中最小的数若没有鞍点输出NO 字样[ 自测数据][键盘输入]87 90 110 98 ↙70 97 210 65 ↙98 45 120 30 ↙[正确输出]11020参考程序includemainint ijka[3][4]jflagfor i 0i 3ifor j 0j 4jscanf "d"a[i][j] for i 0i 3ia [i][0]j 0for j 0j 4jif a[i][j]a [i][j] j jflag 1for k 0k 3kif a [k][j]flag 0 breakif flagprintf "d" breakif flagprintf "NO"21实验8 字符数组的应用一实验目的1掌握字符数组和字符串函数的使用2 掌握与字符串处理有关的算法二实验内容[题目1121定义存贮字符串的字符数组]在下面程序中填充定义字符数组的语句使程序完整include "stringh"void mainchar s[80] 定义字符数组sstrcpy s "abcdefghij klmn"printf "s" s参考程序[题目1123字符串的输入与输出]下面程序实现从键盘读入字符串后输出到屏幕请填充必要的语句include "stdioh"void mainchar s[50]printf "Whats your name"gets s 由键盘读入字符串printf "Your name is "printf "s" s 打印字符串参考程序[题目1122字符串的合并]从键盘输入3 个字符串每个字符串以回车符做为结束标志将3 个字符串以输入先后顺序合并到字符串s 中请填空使用程序完整include "stdioh"include "stringh"mainchar s[100] ""char a [30]gets a strcat s a22gets a strcat s agets a strcat s a可以写多行代码printf "s" s[ 自测数据][键盘输入] [正确输出]123 123abc456abc456参考程序[题目1050寻找字符串]由键盘输入两个字符串假设第一个字符串必包含第二个字符串如第一个字符串为ABCDEF第二个为CDE则CDE 包含在ABCDEF 中现要求编程输出第二字符串在第一行字符串中出现的位置如果第二个字符串在第一个字符串中出现多次则以最前出现的为准[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]ABCDEFG ↙hellhello ↙DE ↙hello ↙[正确输出] [正确输出]4 5[提示]方法1建立双重循环外层循环变量指示第一个串的查找起始位置内层循环从起始位置开始判断第二个字符中是否出现在此处方法2 使用字符串函数strstr参考程序include "stdioh"mainint ijchar a [80] b[80]gets a gets bfor i 0a[i] \0ifor j 0b[j] \0jif a[ij] b[j] breakif b[j] \0 breakif a[i] \0 printf "d"i1else printf "Not Found"23实验9 函数的基本应用一实验目的1掌握定义函数的方法2 掌握函数实参与参的对应关系以及值传递的方式3 掌握函数的嵌套调用和递归调用的方法4 掌握全局变量和局部变量动态变量静态变量的概念和使用方法二实验内容[题目1059函数定义]下面是使用辗转相除法求最大公约数的程序请补充完整程序中函数的定义与调用include "stdioh"int f int m int nint rwhile r mn 0m nn rreturn nmainint a b nscanf "dd" a bprintf "d\n" f a b[题目1083编写函数计算阶乘]下面程序实现由键盘读入整数n计算并输出n 请补充完整计算阶乘的函数long fanc int along in 1for i 1i ai n nireturn nvoid mainint nscanf "d" n24printf "ld" fanc n[题目1124函数中的变量]写出下面程序的运行结果int f1 int xstatic int z 3y 0yzreturn xyzmainint a 1kfor k 0k 3k printf "4d"f1 a 程序运行结果为6 8 10*[题目1084编写递归调用函数实现十进制数转二进制数]下面程序实现由键盘输入一个正整数不大于100000000 输出其对应的二进制数原码表示请填空include "stdioh"void fun int iif i 1fun i2printf "d" i2mainint nscanf "d" nfun n25实验10 指针与结构体一实验目的1通过实验进一步掌握指针的概念会定义和使用指针变量2 能正确使用数组的指针和指向数组的指针变量3 能正确使用字符串的指针和指向字符中的指针变量4 掌握结构体类型变量的定义和使用二实验内容[题目1091交换两数由大到小输出]下面程序交换两数使两数由大到小输出请填空include "stdioh"void swap int p1 int p2int temptemp p1p1 p2p2 tempint mainint ab int papbscanf "dd" a bpa a pb bif a b swap pa pbprintf "d d\n"ab[题目1065数组中的指针]设有如下数组定义int a[3][4] 1357 9111315 17192123计算下面各项的值设数组a 的首地址为2000一个int 类型数占四个字节注意地址则输出地址变量则输出变量值要求一行一个答案不允许多余空行及空格1a[2][1] 2 a[1] 3 a 4 a 15 a 16 a 17 a[2] 18 a 1 19 a2 226参考程序include "stdioh"mainprintf "19\n"printf "2016\n"printf "2000\n"printf "2016\n"printf "2004\n"printf "2016\n"printf "2036\n"printf "2020\n"printf "21"[题目1092函数实现求字符串长度]下面程序以指针方式传递参数由函数实现求字符串长度请填空完成include "stdioh"include "stringh"int f char preturn strlen pint mainchar s[80]int iscanf "s" si f sprintf "d" i[题目1125定义结构体类型]要求定义一个名为student 的结构体类型其包含如下成员1字符数组name 最多可存放10 个字符2 字符变量sex用于记录性别3 整数类型变量num用于记录学号4 float 类型变量score 用于记录成绩并使下列代码完整定义结构体类型struct studentchar name[20]char sex。
华中科技大学C++上机实验答案(全)

实验一/*要求从键盘输入三个不等的整数后按ENTER键,在屏幕上由大到小的输出。
*/ #include<iostream>using namespace std;int main(){int a,b,c,max,min;cout<<"请输入三个不同的整数:"<<endl;cin>>a>>b>>c;if(a>b){max=a;min=b;}else{max=b;min=a;}if(c>max)cout<<c<<'\t'<<max<<'\t'<<min<<endl;else if(c<min)cout<<max<<'\t'<<min<<'\t'<<c<<endl;else cout<<max<<'\t'<<c<<'\t'<<min<<endl;return 0;}实验二//输入两个数,将它们交换后输出。
#include<iostream>using namespace std;int main(){int a,b,temp;cout<<"输入a,b:";cin>>a>>b;cout<<"a="<<a<<'\t'<<"b="<<b<<endl;temp=a;a=b;b=temp;cout<<"a="<<a<<'\t'<<"b="<<b<<endl;return 0;}//求一个三角形的面积(例题程序)#include<iostream>#include<cmath>using namespace std;int main(){float a,b,c,s,area;cout<<"a,b,c=";cin>>a>>b>>c;s=(a+b+c)/2.0;area=sqrt(s*(s-a)*(s-b)*(s-c));cout<<"area="<<area<<endl;return 0;}//求一个三角形的面积(修改后的程序)#include<iostream>#include<cmath>using namespace std;int main(){int a,b,c,s,area;cout<<"a,b,c=";cin>>a>>b>>c;if(a<b+c&&b<a+c&&c<a+b){s=(a+b+c)/2.0;area=sqrt(s*(s-a)*(s-b)*(s-c));cout<<"area="<<area<<endl;}else cout<<"不能够成三角形"<<endl;return 0;}/*用sizeof运算符计算C++中char,short,int,long,float,double等基本数据类型所占的字节数,并按以下格式输出:sizeof(char)=1 bytesizeof(short)=2 bytessizeof(int)=4 bytes……..*/#include<iostream>using namespace std;int main(){cout<<"sizeof(char)="<<sizeof(char)<<"byte"<<endl;cout<<"sizeof(short)="<<sizeof(short)<<"byte"<<endl;cout<<"sizeof(int)="<<sizeof(int)<<"byte"<<endl;cout<<"sizeof(long)="<<sizeof(long)<<"byte"<<endl;cout<<"sizeof(float)="<<sizeof(float)<<"byte"<<endl;cout<<"sizeof(double)="<<sizeof(double)<<"byte"<<endl;return 0;}//修改后的程序#include<iostream>using namespace std;int main(){cout<<"char"<<'\t'<<sizeof(char)<<"byte"<<endl;cout<<"short"<<'\t'<<sizeof(short)<<"byte"<<endl;cout<<"int"<<'\t'<<sizeof(int)<<"byte"<<endl;cout<<"long"<<'\t'<<sizeof(long)<<"byte"<<endl;cout<<"float"<<'\t'<<sizeof(float)<<"byte"<<endl;cout<<"double"<<'\t'<<sizeof(double)<<"byte"<<endl;return 0;}//用数组列表输出#include<iostream>using namespace std;int main(){char datatype[]="char\tshort\tint\tlong\tfloat\tdouble";cout<<datatype<<endl;cout<<sizeof(char)<<'\t'<<sizeof(short)<<'\t'<<sizeof(int)<<'\t'<<sizeof(long)<<'\t'<<siz eof(float)<<'\t'<<sizeof(double)<<endl;return 0;}/*编写满足下列要求的程序:根据输入的球半径,分别计算球的表面积、体积和质量(假设球的密度为7.8kg/dm3),并输出计算结果。
大学大一c语言程序设计实验室上机题全部代码答案(实验报告)

C语言实验报告实验1-1:hello world程序:源代码:#include<stdio.h>main(){printf("hello world!\n");system("pause");}实验1-2:完成3个数据的输入、求和并输出计算结果的程序:源代码:#include<stdio.h>main(){int i,j,k,sum;scanf("%d%d%d",&i,&j,&k);sum=i+j+k;printf("sum=%d",sum);system("pause");实验1-3:在屏幕上输出如下图形:ABBBCCCCC源代码:#include<stdio.h>main(){printf(" A\n");printf(" BBB\n");printf(" CCCCC\n");system("pause");}实验2-1:计算由键盘输入的任何两个双精度数据的平均值源代码:#include<stdio.h>main(){double a,b;scanf("%lf%lf",&a,&b);printf("%.1lf\n",(a+b)/2);system("pause");}实验2-2:写一个输入7个数据的程序,把输入的数据代入a + b * (c – d ) / e * f – g 表达式进行运算源代码:#include<stdio.h>main(){float a,b,c,d,e,f,g,x;scanf("%f%f%f%f%f%f%f",&a,&b,&c,&d,&e,&f,&g);x=a + b * (c - d ) / e * f - g;printf("x=%f",x);system("pause");}实验2-3:编写一个C语言程序,测试下列各表达式:i, ji + 1 , j + 1i++ , j++++i , ++ji+++++j源代码:#include<stdio.h>main(){int i=1,j=1;printf("%d %d\n",i+1,j+1);printf("%d %d\n",i++,j++);printf("%d %d\n",++i,++j);printf("%d\n",(i++)+(++j));system("pause");}实验2-4:输入存款金额money,存期year和年利率rate,根据下列公式计算存款到期时的利息interest (税前),输出时保留2位小数。
c语言上机实验

实验3(1)程序#include <stdio.h>int main(){int a=3,b=5,c=7,x=1,y,z;a=b=c;x+2=5;z=y+3;return 0;}程序错误;提示语言--------------------Configuration: fd - Win32 Debug--------------------Compiling...fd.cppC:\Documents and Settings\Administrator\桌面\fd.cpp(2) : error C2447: missing function header (old-style formal list?)执行cl.exe 时出错.fd.exe - 1 error(s), 0 warning(s)修改为:#include <stdio.h>int main(){int a=3,b=5,c=7,x=1,y,z;a=b=c;x=5+3;z=y+3;return 0;}分析结果:在赋值和运算中是从右到左。
分析:A 变量名可以是数字,英文字母(大小写均可)。
下划线。
B大小写可以区分是成不同文件。
C 赋值运算的特点是自右向左的。
实验4(1)整数除的危险性#include <stdio.h>int main(){int a=5,b=7,c=100,d,e,f;d=a/b*c;e=a*c/d;f=c/b*a;}程序在运行结果为:0 0 0;分析原因:A 5/7*100,结果是5/7等于0,再0乘上100等于0。
B 5*100/7,结果是5*100等于500,再500/7等于0。
C 100/7*5 结果是100/7等于0,再0*5等于0。
结论:原因在于,当整除不成立时,结果为0,所以结论会影响下一次的运行。
(2)#include <stdio.h>main(){int a=5,b=8;printf(“a++=%d”,a++);printf(“a=%d”,a);printf(“++b=%d”,++b);printf(“b=%d”,b);}得到结论为分析结果:i++“先引用,后增值”:++i“先增值,后引用”所以a++是5,因为先引用,a是6,因为是增值的结果,++b是9,是因为先增值,b是9,是因为后引用的结果。
C语言程序设计实验指导书课后答案

实验一(1)编程求37+29的值,实习VC环境。
#include<stdio.h>void main(){int a,b,sum;a=37;b=29;sum=a+b;printf("sum=%d",sum);}(2)从键盘输入三个整数,求出最大数并输出。
#include<stdio.h>void main(){int a,b,c,y;int max(int x,int y);printf("input a,b,and c:");scanf("%d,%d,%d",&a,&b,&c);y=max(a,b);y=max(y,c);printf("\nmax=%d\n",y);}int max(int x,int y){int z;if(x>y) z=x;else z=y;return(z);}(3)通过上机实践,运行下列程序并分析输出结果。
A 程序代码#include<stdio.h>void main(){char ch='a';printf("%c对应的ASCII码是:%d\n",ch,ch);}程序输出结果:a对应的ASC||码是:97B 程序代码#include<stdio.h>void main(){int a=168;float b=123.456;float x=35.567,y;printf("a=%5d\n",a);printf("a=%-5d\n",a);printf("b=%6.2f\n",b);printf("b=%e\n",b);y=(int)(x*100+0.5)/100.0;printf("x=f,y=%f\n",x,y);}程序输出结果:a=168a=168b=123.46b=1.234560e+002x=f,y=35.567001C程序代码#include<stdio.h>void main(){int a=168;printf("十进制数%d对应的八进制数是%o\n",a,a);printf("十进制数%d对应的十六进制数是%x\n",a,a); }程序输出结果:十进制数168对应的八进制数是250十进制数168对应的十六进制数是a8实验二2.1顺序结构2.1.1已知a=1.5,b=5.3,c=2.9,计算s=-4ac的结果并输出。
C语言上机实验答案

实验一 上机操作初步 (2 学时 )一、实验方式:一人一机二、实验目的:1、 熟悉VC+语言的上机环境及上机操作过程。
2、 了解如何编辑、编译、连接和运行一个 C 程序。
3、 初步了解C 程序的特点。
三、实验内容: 说明:前三题为必做题目,后两题为选做题目。
1 、输出入下信息: ( 实验指导书 P79)*************************Very Good*************************2、 计算两个整数的和与积。
(实验指导书 P81)3、 从键盘输入一个角度的弧度值x ,计算该角度的余弦值,将计算结果输出到屏幕。
(书 P3)4、 在屏幕上显示一个文字菜单模样的图案:1 输入数据2 修改数据3 查询数据4 打印数据5、从键盘上输入两个整数,交换这两个整数四、实验步骤与过程:五、实验调试记录:六、参考答案:1 、 #include <stdio.h>void main( )printf( “ Very Good\n ” );2、 #include <stdio.h>void main( ) { int a,b,c,d;printf( printf( );{ printf( );Please enter a,b: ”);scanf( “%d,%d” ,&a,&b); c=a+b; d=a*b;printf( printf( }“ %d+%d=%d”\n ,a,b,c); “ %d*%d=%d\”n ,a,b,d);3、#include <stdio.h> #include <math.h> void main( ){ double x,s; printf( scanf( “ Please input value of x: ”); “%lf ”,&x);s=cos(x);printf(}“ cos(%lf)=%lf\n ”,x,s);4、#include <stdio.h>void main( ) { printf(printf( printf( printf(}“==================================”\n) ; “ 1 输入数据 2 修改数据\n ”);“ 3 查询数据 4 打印数据\n ”);“===================================”\ n);5、#include <stdio.h> void main( ){ int x,y,t;printf( scanf( “ Please enter x and y: ”); “%d%”d ,&x,&y);t=x; x=y; y=t;printf(}“ After swap:x=%d,y=%d\n ” ,x,y);实验二简单的C程序设计(4学时)、实验方式:一人一机、实验目的:1、掌握C语言的数据类型。
大一C语言上机实验试题及答案

大一C语言上机实验试题及答案一、选择题(每题2分,共10分)1. C语言中,用来定义变量的关键字是()。
A. varB. defineC. intD. let答案:C2. 下列哪个选项不是C语言中的运算符?A. %B. &&C. =D. :答案:D3. 在C语言中,用于定义一个函数的关键字是()。
A. functionB. defC. intD. void答案:A4. 下列哪个选项是正确的C语言数组定义?A. int arr[] = {1, 2, 3};B. int arr[3] = {1, 2, 3};C. int arr[3] = {1, 2};D. int arr = {1, 2, 3};答案:B5. C语言中,用于输出字符串的函数是()。
A. printfB. printC. coutD. printf_s答案:A二、填空题(每题3分,共15分)1. 在C语言中,用于声明一个整型变量的关键字是____。
答案:int2. 以下代码段的输出结果是____。
```c#include <stdio.h>int main() {int a = 10;printf("%d", a++);return 0;}```答案:103. 在C语言中,用于声明一个浮点型变量的关键字是____。
答案:float4. 若有以下代码段:```cint x = 5, y = 3;int result = x / y;```则变量result的值是____。
答案:15. 在C语言中,用于声明一个字符型变量的关键字是____。
答案:char三、编程题(每题10分,共20分)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语言程序设计习题与上机实验(实验答案)

第三部分上机实验与指导(答案)实验三选择结构程序设计1、main(){float score;char grade;printf(“Please input a student’ score:”);scanf(“%f”, &score);while(score>100 || score<0){printf(“\nInput error, try again!”);scanf(“%f”, &score);}switch ( (int)(score/10) ){case 10:case 9: grade=’A’;break;case 8: grade=’B’;break;case 7: grade=’C’;break;case 6: grade=’D’;break;case 5:case 4:case 3:case 2:case 1:case 0: grade=’E’;}printf(“score is %5.1f, score grade is %c.\n”, score, grade);}2、#include <stdio.h>main( ){float x, y ;printf(“Please input x:”);scanf(“%f”, &x);if (x < 0)y = 0;else if (x < 10)y = x ;else if ( x < 20 )y = 10;else if ( x < 40)y = 0.5 * x + 20;else{ printf(“Input Error!”);exit (0);}printf (“y=%g”, y);}3、include <stdio.h>void main(void){int choice;/* 显示菜单及输入提示信息*/printf("----------------------------------------------- \n") ;printf(" The Menu of Data Management \n") ;printf(" 1. Input Data \n") ;printf(" 2. Output Data \n") ;printf(" 3. Insert Data \n") ;printf(" 4. Delete Data \n") ;printf(" 0. Quit System \n") ;printf("----------------------------------------------- \n") ;printf(" Please enter your choice:\n") ;/* 接收从键盘输入的数;*/scanf("%d", &choice);/* 根据输入数据显示不同信息*/switch (choice){case 1: printf("Input Data ") ; break;case 2: printf("Output Data ") ; break;case 3: printf("Insert Data ") ; break;case 4: printf("Delete Data ") ; break;case 0: printf("Thanks!"); break;default: printf("Input Error! ");exit(0);}}实验四循环结构程序设计1、#include <stdio.h>main( ){char ch;int i;for (i=0; i<10;i++);{ch = getchar();if (ch >= ‘a’ && ch <= ‘z’){ch = ch - 32;}putchar (ch);}}2、从键盘输入一个长整数,计算其各位数之和并输出。
C_上机实验(含作业)总的目的、要求和评分标准

上机实验(含作业)总的目的、要求和评分标准一、实验目的实验作为教学的一个重要环节,其目的在于更深入地理解和掌握课程教学中的有关基本概念,应用基本技术解决实际问题,从而进一步提高分析问题和解决问题的能力。
C程序设计课程实践性很强,即要求独立编写程序,学会独立上机调试程序。
学会独立上机调试程序。
也就是要善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行。
计算机技术是实践性很强的技术,要求从事这一领域的人不仅能了解和熟悉有关理论和方法,还要求自己动手实践。
对程序设计来说,要求会编写程序并上机调试通过。
因此调试程序本身是程序设计课程的一个重要的内容和基本要求,应给予充分的重视。
调试程序的经验固然可以借鉴他人的现成经验,但更重要的是通过自己的直接实践来积累,而且有些经验是只能“会意”难以“言传”。
因此,在实验时不但要达到通过程序完成每一次的实验任务,而且应当在已通过的程序基础上作进一步的修改、提高和完善。
甚至于“自设障碍”,即把正确的程序改为有错的(如用scanf函数为输入变量输入数据时,漏写“&”符号,double变量使用格式符“%f”;使数组下标出界;使整数溢出等等),观察和分析所出现的情况。
这样的学习才会有真正的收获。
实验目的可归纳如下:⒈验证自己已建立起来的概念或所编写的程序是否正确;⒉加深对课堂所学内容的理解和语法规则的记忆;⒊理解和掌握运用计算机高级语言进行编程的思想方法;⒋掌握常用算法的设计与应用实现;⒌熟悉Turbo C 2.0程序开发环境,掌握C程序常用的调试手段;⒍学会上机调试程序的方法,不断积累调试经验,提高排错能力;⒎使自己具有独立的应用编程和熟练的程序调试能力。
二、要求:⒈做好每一次上机前的准备以提高上机效率:①预先认真阅读相关实验内容,做到心中有明确的目的要求和任务,要有备而来;②按照实验内容规定的习题题目,事先在实验预习报告上编写好源程序及运行程序所需的典型数据,并经人工静态检查认为无误;手编程序应书写整齐,应在每个题目之间留出一定的空间,以备记录上机调试情况和运行结果等;对程序中自己有疑问的地方,应作出记号,以便上机时给以注意。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
L a b3R e p e t i t i o n S t r u c t u r e⒈从500开始,求被3、5、7除余数均为2的前50个数。
void main(){int i,j;j=500,i=1;for(;j>=500&&i<=50;j++){if(j%3==2&&j%5==2&&j%7==2){printf("%d",j);i++;printf(" ");}}}⒉打印形状为正方形和直角三角形的乘法九九表。
void main(){int i,j,a;for(i=1;i<=9;i++){for(j=1;j<=9;j++){a=j*i;printf("%d*%d=%-3d",a);printf(" ");}printf("\n");}}#include<stdio.h>void main(){int i,j,k,a;for(i=1;i<=9;i++){for(j=1;j<=i;j++){a=j*i;printf("%d*%d=-3%d",j,i,a);printf(" ");}for(k=1;k<=9-i;k++){printf(" ");}printf("\n");}}⒊由键盘输入一个正整数,判断它是否为素数(只能被1和自身整除的数)。
void main(){int num,n;printf("enter a number");scanf("%d",&num);for(n=2;n<=num-1;n++){if(num%n==0){printf("not a prime number");break;}}if(n==num)printf("prime number");}⒋按下面的近似公式计算常量e的值,e的计算公式如下:e=1+1/1!+1/2!+1/3!+……+1/n!由键盘输入误差δ,当最后一个子项1/n!的值小于δ时,计算结束。
void main(){int i=1;float a,sum=1,n=1;printf("enter a:\n");scanf("%f",&a);for(;1/n>=`a;i++){sum=sum+1/n;n=n*i;}printf("sum=%f",sum);}#include <stdio.h>void main(){- 1 -int i=1;float x,e=1,t=1;printf("enter x:\n");scanf("%f",&x);while(1/t>=x){ e=e+1/t;i++;t=t*i;}printf("e=%f",e);}⒌百马百担问题。
有100匹马,驮100担货,大马驮3担,中马驮2担,两个小马驮1担。
问有大、中、小马各多少匹?#include <stdio.h>void main(){int i,j;for(i=0;i<=34;i++){for(j=0;j<(100-i*3)/2+1;j++)if((100-i-j)%2==0 && 3*i+2*j+(100-i-j)/2==100)printf("%d %d %d\n",i,j,100-i-j);}}_⒍编写程序输出以下的图形:12 34 5 67 8 9 10void main(){int i,j,k,a=1;for(i=1;i<=4;i++){for(j=1;j<=4-i;j++)printf(" ");for(k=1;k<=i;k++){printf("%d",a);printf(" ");a++;}printf("\n");}}L a b4F u n c t i o n(P a r tⅠ)⒈求m!/(n!*(m-n)!) 的值。
要求:求某个数的阶层必须用自定义的函数实现。
#include<stdio.h>int fl(int x,int y,int z);void main(){int m,n,k;printf("enter m and n:\n");scanf("%d %d",&m,&n);k=fl(m,n,m-n );printf("%d",k);}int fl(int x,int y,int z){int a=1,b=1,c=1,i,j;for(i=1;i<=x;i++)a=a*i;for(i=1;i<=y;i++)b=b*i;for(i=1;i<=z;i++)c=c*i;j=a/(b*c);return(j);}⒉用二分法求下面方程2x3-4x2+3x-6=0的根,要求误差小于10-5。
#include<stdio.h>#include<math.h>float root(float x1,float x2);float f(float x);void main(){float x1,x2,f1,f2,x;do{- 2 -printf("enter x1 and x2:\n");scanf("%f,%f",&x1,&x2);f1=f(x1);f2=f(x2);}while(f1*f2>0);x=root(x1,x2);printf("x=%f\n",x);}float f(float x){float y;y=2*x*x*x-4*x*x+3*x-6;return(y);}float root(float x1,float x2){float x0,f0,f1,f2;do{x0=(x1+x2)/2;f0=f(x0);if((f0*f(x1))<0){x2=x0;f2=f0;}else{x1=x0;f1=f0;}}while(fabs(f0)>=1e-5);return(x0);}⒊随机产生50个200至500之间的整数,输出所有的整数,判断每个整数是否为素数;若是素数,则在输出整数时,用*标记。
要求每行输出10个数。
要求:判断一个整数是否为素数,必须用自定义的函数实现。
#include<stdio.h>#include<stdlib.h>#include<time.h>void prime(int x);void main(){int m,i;srand(time(NULL));for(i=1;i<=50;i++){m=200+(rand()%301);prime(m);if(i%10==0)printf("\n");}}void prime(int x){int j;for(j=2;j<=x-1;j++){if(x%j==0)break;}if(j==x)printf("*%d*",x);elseprintf(" %d ",x);}⒋通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!”,否则提示重做,显示“Not correct! Try again!”,最多给三次机会,如果三次仍未做对,则显示“Not correct. You have tried three times!Test over!”程序结束。
#include <stdio.h>int add_judgement(int,int,int );void main(){int i=1,x,y,z,flag=0;printf("Plese chuti\n");scanf("%d+%d",&x,&y);printf("please input z:\n");while(i<=3){ scanf("%d",&z);flag=add_judgement(x,y,z);if(flag==1){ printf("Right\n");break;}else{ if(i<=2)printf("Not,correct.Try again!\n");printf("Please input z:\n");i++; }}if(i>3)printf("Not correct.You have tried three times!Test over!");- 3 -}int add_judgement(int a,int b,int c){int flag;if(c==a+b)f lag=1;elsef lag=0;return flag;}_⒌输入两个正整数,求其最大公约数和最小公倍数。
要求:求最小公约数必须用自定义的函数实现。
此题答案略L a b5F u n c t i o n(P a r tⅡ)⒈编程计算X n(要求:用递归函数)。
#include<stdio.h>long fac(int x,int y);void main(){int x,n;long y;printf("enter x and n:\n");scanf("%d %d",&x,&n);y=fac(x,n);printf("%ld\n",y);}long fac(int x,int y){long a;if(y==1)a=x;elsea=fac(x,y-1)*x;return(a);}⒉编程计算Ackermann函数Ack(m,n)(要求:用递归函数)。
对于m≥0,n ≥0,Ack(m,n)定义如下:Ack(0,n)=n+1Ack(m,0)= Ack(m-1,1)Ack(m,n)= Ack((m-1), Ack(m,n-1)) #include<stdio.h>int Ack(int m,int n);void main(){int m,n,a;printf("enter m and n:\n");scanf("%d,%d",&m,&n);a=Ack(m,n);printf("Ack=%d",a);}int Ack(int m,int n){int b;if(m==0&&n>0)b=n+1;elseif(m>0&&n==0)b=Ack(m-1,1);elseif(m>0&&n>0)b=Ack((m-1),Ack(m,n-1));return(b);}L a b6A r r a y(P a r tⅠ)⒈产生1000—5000之间的100个随机整数,找出其中的素数,用冒泡法对找出的素数进行排序。