济南大学C语言上机实验答案
C语言上机练习参考答案

第1章 C语言概述1-1编写程序,在屏幕上显示一个如下输出:1-2---------------------------------1-3Programming in C is fun!1-4I love C language.1-5---------------------------------Program#include <>main(){ printf("---------------------------------\n");printf("Programming in C is fun!\n");printf("I love C language.\n");printf("---------------------------------\n");}1-6编写程序,在屏幕上显示一个如下图案:1-7* * * *1-8 * * *1-9 * *1-10 *Program (1)#include <>main(){ printf("* * * *\n");Program (2)1-11已知某个圆的半径,编写一个程序,用来计算并显示面积。
1-12要求:将π定义为符号常量,并假设一个恰当的半径值。
ProgramOutputThe area of circle is:1-13 已知两个整数20和10,编写程序,自定义函数add( )将这两个数相加,自定义函数sub( )计算这两个数的差,并按照下面形式显示计算结果: 1-1420+10=30 1-1520-10=10 ProgramOutput20 + 10 = 3020 – 10 = 101-16 已知变量a 、b 和c 的值,编写程序,用来计算并显示x 的值,其中cb a -=x1-17请分别用以下数值运行该程序1-18(1)a=250,b=85,c=251-19(2)a=300,b=70,c=80 Program (1)Output (1)x =Program (2)Output (2)x =第2章 常量、变量及数据类型 & 第3章 运算符和表达式 3-1 编写程序,求华氏温度100o F 对应的摄氏温度。
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语言实验教程实验答案

7.x、y有如下函数关系,编写程序输入x,输出y值。
x (x<1)
y = 2x–1 (1≤x<10)
3x–11 (x≥10)
参考答案:
#include "stdio.h"
main()
{ double x,y;
scanf ("%lf",&x);
if (x<1)
y=x;
else if(x<10)
y=2*x-1;
printf("area=%f",area);
}
运行结果:(具体情况根据自己输入的数据而定)
如在键盘上输入:3,4,5↙
则运行结果为:
area=6.000000
3.已知圆半径、圆柱高、求圆周长、圆柱体积。
程序清单如下:
#include "stdio.h"
main()
{
float r,h,l,v,pi;
3.分析下面程序,写出运行结果,再输入计算机中运行,将得到的结果与分析得到的结果比较对照。
#include "stdio.h"
main()
{
int i , j , m , n ;
i=8; j=10;
m=++i; n=j++;
printf("%d,%d,%d,%d",i,j,m,n);
}
运行结果:
9,11,9,10
pi=3.1415926;
scanf("%f,%f",&r,&h);
l=2*pi*r;
v=pi*r*r*h;
printf("圆周长为:%6.2f\n",l);
济南大学C语言实验答案

printf(“\nThis is a 4 integer!”); printf(“\nThe integer is %d %d %d %d!”, b,c,d,e); printf(“\nThe inverse is %d %d %d %d!”, e,d,c,b);
实验 4 循环结构程序设计
1. 从键盘输入若干整数,以 0 结束,判断并输出其中最大的数。 参考程序: #include "stdio.h" void main() { int n,max; printf(“Please input some integers(ending in ‘0’):”); scanf(“%d”,&n); max=n; while(n!=0) { if(n>=max) max=n;
scanf("%f%d",&base,&year); switch(year) { case 1: rate=0.009;break; case 2: rate=0.01;break; case 3: rate=0.0111;break; default: rate=0.012; } sum=base*pow(1+rate, year); printf("sum is %.2f\n",sum); } 6. 输入一个不多于 5 位的正整数,要求:① 求出它是几位数;② 分别打印出 每一位数字;③ 按逆序打印出各位数字。 要准备以下测试数据: 1 位正整数 2 位正整数 3 位正整数 4 位正整数 5 位正整数 除此之外,程序还应当对不合法的输入作必要的处理,如负数或超过 5 位的正 整数。 参考程序: #include <stdio.h> void main() { int a,b,c,d,e,m; printf(“\nPlease input a integer:”); scanf(“%d”,&m); if(m>=0&&m<=99999) { a=m/10000; b=m/1000-a*10; c=m/100-a*100-b*10; d=m/10-a*1000-b*100-c*10; e=m%10000; if(a!=0) { printf(“\nThis is a 5 integer!”); printf(“\nThe integer is %d %d %d %d %d!”,a,b,c,d,e); printf(“\nThe inverse is %d %d %d %d %d!”,e,d,c,b,a); } else if(b!=0)
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上机实验(经典附答案)

1.根据下列函数接口,实现该函数.voidSortP(int a[],int m, int flag)函数的功能:如果flag==0,则函数实现对数组a的前m个元素进行降序排列,如果flag!=0,则对数组a的前m个元素进行升序排列.#include<stdio.h>void main(){voidSortP(int a[],int m, int flag);int a[5],m=3,flag;inti;for(i=0;i<5;i++)scanf("%d",&a[i]);scanf("%d",&flag);SortP(a,3,flag);for(i=0;i<5;i++)printf("%d\n",a[i]);}voidSortP(int a[],int m, int flag){inti,t,j;if(flag==0){for(i=0;i<m-1;i++)for(j=0;j<m-i-1;j++){if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}}}else{for(i=0;i<m-1;i++)for(j=0;j<m-i-1;j++){if(a[j]<a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}}}}2.任意输入三个整数,求其中非负数的和。
#include<stdio.h>void main(){int a[3],i,sum=0;for(i=0;i<3;i++)scanf("%d",&a[i]);for(i=0;i<3;i++)if(a[i]>=0)sum=sum+a[i];printf("%d",sum);}3.任意输入三个整数a,b,c,将他们从大到小输出。
C语言上机练习参考答案

第1章 C语言概述1-1编写程序,在屏幕上显示一个如下输出:1-2---------------------------------1-3Programming in C is fun!1-4I love C language.1-5---------------------------------1-6编写程序,在屏幕上显示一个如下图案:1-7* * * *1-8* * *1-9* *1-10*1-11已知某个圆的半径,编写一个程序,用来计算并显示面积。
1-12要求:将π定义为符号常量,并假设一个恰当的半径值。
OutputThe area of circle is: 78.50 1-13已知两个整数20和10,编写程序,自定义函数add( )将这两个数相加,自定义函数sub( )计算这两个数的差,并按照下面形式显示计算结果: 1-1420+10=30 1-1520-10=10Output20 + 10 = 30 20 – 10 = 10 1-16 已知变量a 、b 和c 的值,编写程序,用来计算并显示x 的值,其中cb a -=x 1-17 请分别用以下数值运行该程序 1-18 (1)a=250,b=85,c=25 1-19(2)a=300,b=70,c=80Output (1)x = 4.17Output (2)x = -30.00第2章 常量、变量及数据类型 & 第3章 运算符和表达式3-1 编写程序,求华氏温度100o F 对应的摄氏温度。
计算公式如下: 3-29)32(5-⨯=f c 3-3 式中:c 表示摄氏温度,f 表示华氏温度。
(c 定义为实型,f 定义为整型)OutputCelsius degree (corresponding to 100 Fahrenheit) is: 37.78.3-4 一个物体从100m 的高空自由落下,编写程序,求它在前3s 内下落的垂直距离。
C语言上机实验 答案

C语言上机实验答案c语言上机实验答案实验一上机操作初步(2学时)一、实验方式:一人一机二、实验目的:1、熟悉vc++语言的上机环境及上机操作过程。
2、了解如何编辑、编译、连接和运行一个c程序。
3、初步了解c程序的特点。
三、实验内容:表明:前三为题必搞题目,后两为题Suippes题目。
1、输出入下信息:(实验指导书p79)*************************verygood*************************2、排序两个整数的和与内积。
(实验指导书p81)3、从键盘输入一个角度的弧度值x,计算该角度的余弦值,将计算结果输出到屏幕。
(书p3)4、在屏幕上表明一个文字菜单模样的图案:=================================1输入数据2修改数据3查询数据4打印数据=================================5、从键盘上输入两个整数,交换这两个整数。
四、实验步骤与过程:五、实验调试记录:六、参考答案:1、#includevoidmain(){printf(“********************\\n”);printf(“verygood\\n”);printf(“********************\\n”);}2、#includevoidmain(){inta,b,c,d;printf(“pleaseentera,b:”);scanf(“%d,%d”,&a,&b);c=a+b;d=a*b;printf(“%d+%d=%d\\n”,a,b,c);printf(“%d*%d=%d\\n”,a,b,d);}3、#include#includevoidmain(){doublex,s;printf(“pleaseinputvalueofx:”);scanf(“%lf”,&x);s=cos(x);printf(“cos(%lf)=%lf\\n”,x,s);}4、#includevoidmain(){printf(“==================================\\n”);printf(“1输出数据2修正数据\\n”);printf(“3查阅数据4列印数据\\n”);printf(“===================================\\n”);}5、#includevoidmain(){intx,y,t;printf(“pleaseenterxandy:”);scanf(“%d%d”,&x,&y);t=x;x=y;y=t;printf(“afterswap:x=%d,y=%d\\n”,x,y);}实验二直观的c程序设计(4学时)一、实验方式:一人一机二、实验目的:1、掌控c语言的数据类型。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2、编写程序,能显示如下图形:
* * * * * * * * * *
printf(“*\n” “**\n” “***\n” “****\n”);
#include<stdio.h> void main() { printf(“*\n”); printf(“**\n”); printf(“***\n”); printf(“****\n”); }
printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%15.6f,e=%15.12f\n",a,b,c1,c2,d,e); printf("f=%f,g=%f\n",f,g);
??:d的取值为什么是3157.890137 而不是3157.890121呢?
2_9. 分析以下程序的应得结果,并与上机运行结果进行比较。
#include <stdio.h> void main( ) scanf(“%d%d,&a,&b”); { int a,b,sum; scanf(“%d%d”,&a,&b); cj=f(a,b); printf(“cj is %d\n", cj); } int f(int x,int y) { int z; z=x*y; return z; }
切记:不要同时在VC中打开两个C源程序,做完一个程序记得 要先关闭其工作空间(不是仅关闭打开的程序文件),才能新建 或打开第二个C源程序。
2_2.编写程序,输入圆半径r,求圆周长、圆面积、圆球表面积、圆球体积。 #include<stdio.h> #define PI=3.1416 #define PI 3.1416 void main() 此处,float可以替换为double,格式 { 控制符"f"相应的替换为"lf" float r,zc,mj,bmj,tj; printf("please input radius:\n"); scanf("%f",&r); zc=2*PI*r; mj=PI*r*r; tj=4.0/3*PI*r*r*r tj=4/3*PI*r*r*r bmj=4*PI*r*r; tj=4*PI*r*r*r/3; printf("r=%.2f,zc=%.2f,mj=%.2f,bmj=%.2f,tj=%.2f\n",r,zc,mj,bmj,tj); }
2_1. 编写程序,从键盘输入一个大写字符,将它转换为对应的小写字母后输出。
#include<stdio.h> void main() { char x,y; printf("please input a capital:\n"); scanf("%c",&x); y=x+32; printf("it's lowercase is %c\n",y); }
数据类型所占存储空间的大小 #include<stdio.h> void main() { int x,y; float a; scanf(“%d,%d”,&x,&y); a=(float)(x+y)/2; printf("The average is:%f",a); }
(9)2.3,5.4,运行结果-429496729,出错!
3_1. 编写程序,输入一个字符存入变量ch中,根据该字符的ASCII码值判断并输出 字符的类型,即字母(alpha)、数字(numeric)或其他字符(other)。
#include<stdio.h> void main() if(表达式);× { char ch; printf("please input a char:"); if语句括号后面不要加分号 scanf("%c",&ch); if(ch>='A'&&ch<='Z'||ch>='a'&&ch<='z') 'ch' '65' × printf("%c is alpha\n",ch); 'a':表示字符常量a,单引号内 else if(ch>='0'&&ch<='9') 部只能有一个字符,字符变量 printf("%c is numeric\n",ch); 的外面不能加单引号。 else 例如:a, 'a' 是完全不同的,a printf("%c is other\n",ch); 表示变量,而'a'表示字符常量 } 如何判断ch是字母? if (ch>='A'&&ch<='Z'||ch>='a'&&ch<='z') 其中‘A‟表示A的ASCII码。 为什么不能直接写if (ch>=„A‟&&ch<=„z‟) ?
printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%15.6f,e=%15.12f\n",a,b,c1,c2,d,e); printf("f=%f,g=%f\n",f,g);
??:e的取值为什么是-6.869999885559?
2_10. 以下程序的功能为计算由键盘输入的任意两个整数的平均值
#include<stdio.h> void main() { float x,y,a; scanf("%f,%f",&x,&y); a=(x+y)/2; printf("The average is:%f",a); }
2_10. 补充内容:测试各基本数据类型所占用的存储空间大小(VC环境中)。 课本P266第8题 #include<stdio.h> void main( ) { int c,f,i,d,s,l,ld; sizeof( ):用以测试一个数据或数据类型所占 c=sizeof(char); 存储空间字节数。 i=sizeof(int); 格式: sizeof(数据类型)或 sizeof(表达式) s=sizeof(short); l=sizeof(long); f=sizeof(float); d=sizeof(double); ld=sizeof(long double); printf("char=%d, int=%d, short int=%d, long int=%d,float=%d, double=%d, long double=%d\n",c,i,s,l,f,d,ld); }
(7)33000,31542,运行结果-497,出错!
#include<stdio.h> void main() { short x,y; float a; scanf("%hd,%hd",&x,&y); a=(float)(x+y)/2; printf("The average is:%f",a); }
#include<stdio.h> void main() { short x,y,a; scanf("%x,%"y,&x,&y); a=(x+y)/2; printf("The average is:"a); }
(6)1,0,运行结果为0,出错!
#include<stdio.h> void main() { short x,y,a; scanf("%hd,%hd",&x,&y); scanf( "%hd,%hd",&x,&y) a=(x+y)/2; printf("The average is:%hd",a); printf("The average is:%hd",a); }
2_3.输入一个华氏温度,要求输出摄氏温度。公式为: c
5 F 32 9
#include <stdio.h> void main() { float c,f; printf("please input f:\n"); scanf("%f",&f); c=5.0/9*(f-32) 或 c=5*(f-32)/9 c=1.0*5/9*(f-32); printf("c=%.2f\n",c); }
或: #include<stdio.h> void main() { printf(“*\n**\n***\n****\n”); }
切记:不要同时在VC中打开两个C源程序,做完一个程序记得 要先关闭其工作区,才能新建或打开第二个C源程序。
3、编写程序,从键盘输入两个整数,输出两个整数的积。
#include <stdio.h> void main( ) inta,b,cj; { int a,b,cj; scanf(“%d%d”,&a,&b); cj=a*b; printf(“cj is %d\n", cj); }
#include<stdio.h> void main() { 未作修改前运行结果 int a,b; float d,e; char c1,c2; double f,g; a=61;b=62; c1='a';c2='b'; f=3157.890121;g=0.123456789; d=3.56;e=-6.87; printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n",a,b,c1,c2,d,e); printf("f=%15.6f,g=%15.12f\n",f,g); }