C语言程序设计实验与习题答案
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语言程序设计案例教程(含实验)设计性实验的程序参考答案实验项目一 C程序的编辑、编译、连接和运行题目:编写程序,要求屏幕上显示如下信息:************************ This is a C program .************************程序:#include <stdio.h>void main(){printf(“***********************”);printf(“* This is a C program .*”);printf(“***********************”);}实验项目二数据类型、运算符、表达式题目(1)程序填空:输入1 个实数x,计算并输出其平方根(保留1 位小数)。
填空1.double x,root;2.root=sqrt(x);(2)输入一个大写英文字母,输出相应的小写字母。
填空1.ch=ch+32;实验项目三顺序结构程序设计题目(1)编写程序,输入三角形的三边长a、b、c,求三角形面积area。
程序代码:#include <stdio.h>#include <mach.h>main(){float a,b,c,s,arer;printf(" 请输入三角形的三个边a,b,c:\n");scanf("%f,%f,%f",&a,&b,&c);s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c));printf("三角形的边为a=%7.2f, b=57.2f, c=%7.2f\n",a,b,c);printf("三角形的面积area=%7.2\n ",area);(2)设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。
C语言程序设计实验与习题(1-4)

ffB v vbvv bgbb实验一C程序运行环境及简单程序的运行2.程序改错并调试改正后的程序⑴下列程序的功能为:计算x*y的值并将结果输出,程序中有8处错误,尝试改正并上机调试之(程序以文件名sy1_2.cpp#include <stdio.h>void main{ int x=2;y=3;aA=x*yprint ("a=%d",a);printf(‘\n’);}⑵下列程序的功能为:输入圆的半径,计算圆面积并将结果输出;程序中有9处错误,尝试改正并上机调试之(程序以文件名sy1_3.cpp存盘)。
#include stdio.h;int mian();float r; area;printf("input r:\n"); scanf("%f",r);area=3.14159r*r;printf("r=%f , area=%f\n"3.编写程序并上机调试⑴输入三个整数a、b、c,显示出其中的最大值。
4.分析与总结⑴总结C程序的结构和书写规则。
⑵阅读:附件1-C语言程序的跟踪调试。
特别提示:当程序在编译时发现很多错误,此时应从上到下逐一改正,或改一个错误,就重新再编译,因为有时一个错误会引起很多错误信息。
12习题一一、选择题参考答案:1~5 C B A C D 6~10 C C A C B 11~14 A A C B二、综合题绘制NS 算法流程图。
(1)输入10个数,求其中的最大值。
(2)输入3个数,将它们升序排列输出。
(3)输入2个数,求它们的最大公约数。
(4)输入一元二次方程的系数a 、b 、c ,判断其根。
实验二顺序结构程序设计1.阅读程序,尝试写出程序的运行结果,然后输入并调试程序,对照其实际输出与分析的结果是否一致,若不一致,请找出原因。
⑴以下程序用于测试C中不同类型数据所占内存字节数,运行并体会sizeof运算符的使用方法。
C语言程序设计实验实验指导书及答案

常熟理工学院电气与自动化工程学院《C语言程序设计》实验指导书实验一熟悉C程序运行环境班级学号姓名成绩一、实验目的1. 熟悉C语言Visual C++6.0调试环境。
2. 掌握C程序的编辑、调试及运行。
二、实验内容项目1. 调试并运行下面程序,并写出运行结果:#include <stdio.h>int main(){printf(“Good morning!\n”);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;}运行结果:2项目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的值返回*/}运行结果:三、提高部分1.试想,如果求10个数中的最大者,则程序该如何编写。
程序代码运行结果:实验二数据及其运算班级学号姓名成绩一、实验目的1. 掌握C数据类型的概念、熟悉整型、字符型和实型基本类型的常量的用法;学会三种基本类型变量的定义、赋值和使用方法。
c语言程序设计实验.设计.习题.答案.顺序结构与逻辑运算

}
实验四部分
4-1-a该程序的功能是:输入两个数:a、b,判断a*a+b*b的值,若a*a+b*b的值等于3或1,则y=a+b;若a*a+b*b的值等于0,则y=b-a;若a*a+b*b的值等于其他值,则输出“eerror”;最后输出y的值。
运行结果画面:
#include<stdio.h>
main()
{
int a,M;
scanf("%d",&a);
M=a>0?a:-a;
printf("abs(a)=%d\n",M);
}
4-4运行结果画面:
#include<stdio.h>
main()
{
int c,t,m;
printf("input the number of coat and trousers your want buy:\n");
scanf("%d",&x);
h=x/60;
m=x%60;
printf("%d小时%d分钟",h,m);
}
3-7我使用的算法:进行千分位转换,四舍五入。
运行结果画面:
#include<stdio.h>
main()
{
double x;
scanf("%lf",&x);
printf("%7.2f\n",x);
怎样终止调试状态(程序复位)?在菜单栏中选择“调试”,然后选择“StopDebugging”。
单步调试状态下,向下运行一条语句的操作方法(分两种情况回答,第一种,跟踪到自定义函数内部,第2种,不跟踪到自定义函数内部):第一种选择“Step Into”,跟踪到自定义函数内部;第2种选择“Step over”,不跟踪到自定义函数内部
c语言程序设计实验与习题指导颜晖答案

c语言程序设计实验与习题指导颜晖答案【篇一:c语言程序设计谭浩强版何钦铭颜晖版习题答案全集】【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
组成所有的排列后再去掉不满足条件的排列。
2.程序源代码:main(){int i,j,k;printf(\n);for(i=1;i5;i++) /*以下为三重循环*/for(j=1;j5;j++)for (k=1;k5;k++){if (i!=ki!=jj!=k) /*确保i、j、k三位互不相同*/printf(%d,%d,%d\n,i,j,k);}}【程序2】题目:企业发放的奖金根据利润提成。
利润(i)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于 40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于 100万元时,超过100万元的部分按1%提成,从键盘输入当月利润i,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。
注意定义时需把奖金定义成长整型。
2.程序源代码:main(){long int i;int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf(%ld,i);bonus1=100000*0.1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i=100000)bonus=i*0.1;else if(i=200000)bonus=bonus1+(i-100000)*0.075;else if(i=400000)bonus=bonus2+(i-200000)*0.05;else if(i=600000)bonus=bonus4+(i-400000)*0.03;else if(i=1000000)bonus=bonus6+(i-600000)*0.015;elsebonus=bonus10+(i-1000000)*0.01;printf(bonus=%d,bonus);}-----------------------------------------------------------------------------【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。
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语言程序开发》实验报告和参考答案

《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岁。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.程序填空(1)以下程序的功能是计算1~50之间能被7整除的整数之和。
#include<stdio.h>void main(){int i,sum= 0;for(i=1; 50;i++)if( i%7==0) sum+=i;printf("sum=%d\n",sum);}(2) 下面程序接收来自键盘的输入,直到输入<Ctrl>+Z(值为-1)键为止。
这些字符被原样输出,但若有连续一个以上的空格时只输出一个空格。
请填空。
#include <stdio.h>void main(){char cx;char front=’’;while ( (cx=getchar())!=’\n’){if (cx!=’’)putchar(cx);if (cx= =’’)if (front!=’’)putchar(cx);front=cx;}}3.程序改错(1)下列程序的功能是求1+3+5+…99的和。
#include <stdio.h>void main( ){ int s,i; ★ //int s=0,i;i=1;while(i<=99)s=s+i;★ //{s=s+i;i++;}printf("1+3+5+…99的和是:%d\n",s);}(2)下面程序的功能是输入一个正整数,判断是否是素数,若为素数输出1,否则输出0。
#include <stdio.h>void main(){ int i,x,y=0; ★ //y=1scanf("%d",&x);for(i=2;i<=x/2&&y;i++)if ((x%i)!=0) y=0; ★ //x%i==0printf("%d\n",y);}4.设计性实验(1)题/* 方法(1)精度控制*/#include <stdio.h>#include <math.h>{ int s;float n,t,pi;t=1; pi=0; n=1.0; s=1;while((fabs(t))>=1e-6){ pi=pi+t;n=n+2;s=-s;t=s/n;}pi=pi*4;printf("pi=%10.6f\n",pi);}/* 方法(2)次数控制*/#include <stdio.h>#include <math.h>main(){ int s;long times;float n,t,pi;t=1; pi=0; n=1.0; s=1;for(times=1;times<=1e9;times++) { pi=pi+t;n=n+2;s=-s;t=s/n;pi=pi*4;printf("pi=%10.6f\n",pi);}(2)题main(){int i,j,frame;double wheattal=0;double wheatfnu=1;printf("Please input frame’s numbers:");scanf("%d",&frame);for(i=0;i<frame;i++){wheattal+=wheatfnu;wheatfnu+=wheatfnu;}printf("\n Total wheattatol’s timeter=%e\n",wheattal/1.40e8); }(3)题/*方法一:使用递推公式n=n+2*/main()int i,n=1;double s=0,t=1;for(i=1;i<=20;i++){t*=n;s+=t;n+=2;}printf("s=%lf",s);getch();}/*方法二:使用通项公式2*i+1*/ main(){int i;double s=0,t=1;for(i=1;i<=20;i++){t*=2*i+1;s+=t;}printf("s=%lf",s);getch();}/*方法三*/#include "stdio.h"main(){long total,sum,m,n,t;total=0;for(m=1;m<=20;m++){sum=1;t=1;for(n=1;n<=m;n++) { sum=sum*t; t=t+2;}total=total+sum;}printf("total=%ld",total);}2.程序填空(1)以下程序的功能是计算1~50之间能被7整除的整数之和。
#include<stdio.h>void main(){int i,sum= 0;for(i=1; 50;i++)if( i%7==0) sum+=i;printf("sum=%d\n",sum);}(2) 下面程序接收来自键盘的输入,直到输入<Ctrl>+Z(值为-1)键为止。
这些字符被原样输出,但若有连续一个以上的空格时只输出一个空格。
请填空。
#include <stdio.h>void main(){char cx;char front=’’;while ( (cx=getchar())!=’\n’){if (cx!=’’)putchar(cx);if (cx= =’’)if (front!=’’)putchar(cx);front=cx;}}3.程序改错(1)下列程序的功能是求1+3+5+…99的和。
#include <stdio.h>void main( ){ int s,i; ★ //int s=0,i;i=1;while(i<=99)s=s+i;★ //{s=s+i;i++;}printf("1+3+5+…99的和是:%d\n",s);}(2)下面程序的功能是输入一个正整数,判断是否是素数,若为素数输出1,否则输出0。
#include <stdio.h>void main(){ int i,x,y=0; ★ //y=1scanf("%d",&x);for(i=2;i<=x/2&&y;i++)if ((x%i)!=0) y=0; ★ //x%i==0printf("%d\n",y);}4.设计性实验(1)题/* 方法(1)精度控制*/#include <stdio.h>#include <math.h>main(){ int s;float n,t,pi;t=1; pi=0; n=1.0; s=1;while((fabs(t))>=1e-6){ pi=pi+t;n=n+2;s=-s;t=s/n;}pi=pi*4;printf("pi=%10.6f\n",pi);}/* 方法(2)次数控制*/#include <stdio.h>#include <math.h>main(){ int s;long times;float n,t,pi;t=1; pi=0; n=1.0; s=1;for(times=1;times<=1e9;times++) { pi=pi+t;n=n+2;s=-s;t=s/n;}pi=pi*4;printf("pi=%10.6f\n",pi);}(2)题main(){int i,j,frame;double wheattal=0;double wheatfnu=1;printf("Please input frame’s numbers:");scanf("%d",&frame);for(i=0;i<frame;i++){wheattal+=wheatfnu;wheatfnu+=wheatfnu;}printf("\n Total wheattatol’s timeter=%e\n",wheattal/1.40e8); }(3)题/*方法一:使用递推公式n=n+2*/main(){int i,n=1;double s=0,t=1;for(i=1;i<=20;i++){s+=t;n+=2;}printf("s=%lf",s);getch();}/*方法二:使用通项公式2*i+1*/ main(){int i;double s=0,t=1;for(i=1;i<=20;i++){t*=2*i+1;s+=t;}printf("s=%lf",s);getch();}/*方法三*/#include "stdio.h"{long total,sum,m,n,t;total=0;for(m=1;m<=20;m++){sum=1;t=1;for(n=1;n<=m;n++) { sum=sum*t; t=t+2;}total=total+sum;}printf("total=%ld",total);}2.程序填空(1)求任意两个整数之间所有的素数。
#include <stdio.h>void main(){int i1,i2,i,j,flag;printf("input two integer(i1,i2):");scanf("%d%d", &i1 , &i2 );printf("prime number:\n");for(i= i1 ;i<= i2 ;i++){flag=1;for(j=2;j<=i-1;j++){if(i%j==0){flag= 0 ;break;}}if(flag==1)printf("%d\t",i);}printf("\n");}(2)以下程序的功能是输出下三角九九乘法表。
#include <stdio.h>void main(){ int i,j;for(i=1;i<= 9;i++){ for(j=1;j<= i;j++)printf("%d*%d=%d\t",i,j, i*j);printf("\n");}}3.程序改错(1)下列程序的功能是输出所有的“水仙花数”。