C语言程序设计实验答案
《C语言程序设计实践教程》答案-完整版

4.2练习题一、选择题1.D2.B3.A4.B和D5.C6.A7.B二、填空题1.//或/* */2.主或main3.函数首部和函数体4.编译和连接5.公号5.2练习题一、选择题1.A2.D3.B4.B5.C6.C7.D8.A9.B10.B11.D12.B13.A或B14.C15.B17.D18.D19.C20.D21.B22.A23.D24.C25.C26.B27.C28.D29.A30.B二、填空题1.102,102.#define 宏名字符串3.14.n=15.-46.a=1,b= ,c=27.c=A8.n1=%d\nn2=%d9.a+b>c&&a+c>b&&b+c>a10.ch>=’a’&&ch<=’z’|| ch>=’A’&&ch<=’Z’11.712.013.1111000014.8,46.2练习题一、选择题1.A2.C3.D4.C5.A7.A8.D9.B10.C11.A12.A13.C14.B15.正确答案为:12345678二、填空题1.102.y=1 x%i==03.屏幕中间输出一个由星号组成的菱形4.15.136.(cx=getchar())!=-1 front=cx; 7.m%n8.49.*p px=&x py=&y三、读程序,写结果1.-12.3,1,-1,3.a=16,y=604.x=12,y=45.597.2练习题一、选择题1.B2.C3.C4.A5.D6.C8.D9.C10.D11.D12.D13.A14.B15.C16.B17.B18.A19.A20.D21.B22.D23.C24.D25.D26.C二、填空题1.‘a’02.a[k] a[k] a[k]3.0 64.A B C D EA5.1,66.k=p;7.i<j8.189.4,some string * test 10.you&me三、读程序,写结果1.5 4 8 2 02.10 24 15 6 3.love china! H w l 4.66 66 555.Front一、选择题1. A2. A3. B4. B5. B6. A7. D8. C9. A10. A11. A12. B13. B14. A15. B16. B17. C二、填空题1.122.Itis3.fun(n-1)*n fun(k)4.s[i]-t[i]5.n%m i-1 x[d]6.x=n x%10 x7.m=f(a,4)+f(b,4)-f(a+b,3)8.a=1,b=1三、读程序,写结果1.s=72.s=373.bij12一、选择题1. B2. C3. B4. D5. B6. A7. B8. D9. D10. B11. D12. A13. B14. C15. C16. C17. A18. D19. B20. D二、填空题1.b->day (*b).day2.DDBBCC3.zhang 170.000000wang 150.0000004.995.max=i min=i stud[max].name,stud[max].score stud[min].name,stud[min].score6.&r 1 feof(fp) break7.BBB AAA 1238.rewind三、读程序,写结果1.2002,shangxian2.32。
大学大一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。
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语言程序设计实验三答案

实验三 选择结构程序设计一、实验目的与要求1. 理解C 语言表示逻辑量的方法,学会正确使用逻辑运算符和逻辑表达式。
2. 掌握利用if 结构实现选择结构的方法。
3. 掌握利用switch 结构实现多分支选择结构。
4. 结合程序掌握一些简单的算法,学习调试程序5. 实验4学时二、实验内容1.程序改错题改正下面程序中的错误。
输入实数x ,计算并输出下列分段函数f(x)的值(保留1位小数)。
)100(1=x x==)(x f y)100(≠x x输入输出示例1(改正后程序的运行结果)Enter x :100f )=输入输出示例2(改正后程序的运行结果)Enter x :23f )=源程序(有错误的程序)#include<>#include<>void main(void){double x;printf("Enter x: \n");scanf("=%f", x);if (x = 100) {y = 1/sqrt(x)}else (x != 100) {y = x;}printf("f(%.2f) = %.1f\n",x,y);}答:#include<>#include<>void main(void){double x,y;printf("Enter x:\n");scanf("%lf",&x);if (x=100)y = 1/sqrt(x);elsey= x;printf("f(%.2lf)=%.1lf\n",x,y);}2.一般编程题编程题1输入任意三个整数a,b,c ,求3个数中的最大值和最小值。
答:#include <>void main(){int a,b,c;printf("请输入三个整数:");scanf("%d %d %d",&a,&b,&c);if (a>=b)t=a,a=b,b=t;if (a>=c)t=a,a=c,c=t;if (b>=c)t=b,b=c,c=t;printf("最小值为:%d\n",a);printf("最大值为:%d\n",c);}编程题2输入x ,计算并输出下面分段函数f(x)的值(保留2位小数)。
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语言程序设计练习指导书实验答案

(2)以下程序输入圆的半径,求圆面积。请将程序中的5处语法错误和逻辑错误改正。
#include "stdio.h"
void main()
{ int r;
float s;
printf("Enter r:");
scanf("%d", &r);
s=3.14159*r*r;
}
}
(2)已知鸡兔共有30只,脚共有90个,下面程序的功能计算并输出鸡兔各有多少只,请改正程序中的错误。
#include "stdio.h"
void main()
{ int x,y;
for(x=1;x<=30;x++)
{ y=30-x ;
if(2*x+4*y==90)printf("%d,%d\n",x,y) ;
0 x<0
y= x 0<=x<10
10 10<=x<20
-0.5x+20 20<=x<40
#include "stdio.h"
void main()
{ int a=1,b=2,c=3;
float d=4,e;
e=a/((b+c)*d);
printf("%f\n",e);
}
3.2 顺序结构程序设计
1、改错题
(1)以下程序计算并输出长方形面积和体积,请改正程序中的错误。
printf("s=%f\n",s);
}
2、填空题
C语言程序设计及实验指导练习及习题参考答案(8--10)

C语言程序设计及实验指导练习及习题参考答案(8--10) 8练习参考答案1、练习8-1.如果有定义:intm,n=5,某p=&m;与m=n等价的语句是BA.m=某p;B.某p=某&n;C.m=&n;D.m=某某p;8-2.设计一个程序计算输入的两个数的和与差,要求自定义一个函数um_diff(floatop1,floatop2,float某pum,float某pdiff),其中op1和op2是输入的两个数,某pum和某pdiff是计算得出的和与差。
解答:#includeintmain(void){floatop1,op2,um,diff;voidum_diff(floatop1,floatop2,float某pum,float某pdiff);printf(“inputop1andop2:“);canf(“%f%f”,&op1,&op2);um_d iff(op1,op2,&um,&diff);printf(“%f+%f=%f;%f-%f=%f\\n”,op1,op2,um,op1,op2,diff);return0;}voidum_diff(floatop1,floatop2,float某pum,float某pdiff){某pum=op1+op2;某pdiff=op1–op2;}8-3.两个相同类型的指针变量能不能相加?为什么?解答:不能。
因为指针变量是一种特殊的变量,指针变量的值存放的是所指向变量的地址,两个地址相加并不能保证结果为一个有效的地址值,因而在C语言中指针变量相加是非法的。
8-4.根据表8.2所示,这组数据的冒泡排序其实循环到第6遍(即n-2)时就已经排好序了,说明有时候并不一定需要n-1次循环。
请思考如何改进冒泡排序算法并编程实现(提示:当发现一遍循环后没有数据发生交换,说明已经排好序了)。
解答:设置一个标志变量flag,进入一轮循环前设置为0,在循环中有发生数据交换就改写flag值为1。
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 ”,表示不同意,将取消编译。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
-前言-/*非常感谢度娘以及各位网上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)#include<>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){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,两个数之间逗号建个。
*/ printf("x=%,y=%",x,y); /*个数的输出宽度7,小数位2*/}main(){int a,b;long m,n;float p,q;scanf("a=%d,b=%d\n%f,%f",&a,&b,&p,&q);scanf("%ld",&m);scanf("%ld",&n);printf("a=%d,b=%d\n m=%ld,n=%ld\n",a,b,m,n);printf("p=%f,q=%f\n",p,q);}d\n",c1,c2); }3.---------------------------------------------------#include<>main(){int a=790,b,c;b=790/60;c=790%60;printf("%d小时%d分钟",b,c);}4.---------------------------------------------------#include<>main(){int a,b,c,d;scanf("%d%d%d",&a,&b,&c);d=a;a=c;c=b;b=d;printf("%d,%d,%d\n",a,b,c);}5.--------------------------------------------------#include<>main(){double a;scanf("%lf",&a);printf("%.2f\n",a);}=================================实验四逻辑运算判断选取控制=================================1. a. 错误原因分析:Switch分号错误switch(a*a+b*b) { case 3: case 1:y=a+b;break; case 0:y=b-a;break; } b. 错误原因分析:switch语句使用错误,后跟括号。
Default放在后边。
switch (a) { case 10:y=a-b;break; case11:x=a*b;break; default:x=a+b;} c. 错误原因分析:没有输出语句。
switch(a+b) {case 10:x=a+b;break; case 11:y=a-b;break; }(1)main ( )int x,y;scanf("%d",&x );if (x>-5&&x<0) y=x ;if (x==0) y=x-1 ;if(x>0&&x<10) y=x+1;printf ("%d",y);}(2)main(){int x,y;scanf("%d",&x);if((x>-5)&&(x<0)) y=x;else if (x==0) y=x-1;else if(x>0&&x<10) y=x+1; printf("%d",y);}main ( )int a,M;scanf("%d",&a);M=a>0a:-a;printf("abs(a)=%d",M);}main(){int c,t,m;printf("input the number of coat and trousers your want buy:\n");scanf("%d%d",&c,&t);if(c==t) if(c>=50) m=c*80; else m=c*90; else if(c>t)if(t>=50) m=t*80+(c-t)*60; else 90*t+(c-t)*60;else if(c>=50) 80*t+(t-c)*45;else m=c*90+(t-c)*45;printf("%d",m);}5.---------------------------------------------------#include<>intmain(void){int a, b, c;scanf("%d%d%d",&a,&b,&c);if(a + b <= c || a + c <= b || b + c <= a) printf("不构成三角形\n");else if (a == b && b == c)printf("等边三角形\n");else if (a == b || b == c || a == c) printf("等腰三角形\n");elseprintf("不等边三角形\n");return 0;}6.--------------------------------------------------#include""main(){long a;scanf("%ld",&a);if(a%5==0)if(a%7==0)printf("yes\n|");else printf("no\n");}=================================实验五循环结构=================================1.---------------------------------------------------#include""main(){ int n;while(1){ printf("Enter a number:");scanf("%d",&n);if(n%2==1){ printf("I said");continue;}break;}printf(" that!");}2.----------------------------------------------------#include <>main(){int c;while ( (c=getchar () ) !='\n'){if ( (c<='X'&&c>='A'||c<='x'&&c>='a') )c += 2;else if (c=='y'||c=='Y'||c=='z'||c=='Z')c=c-24;printf("%c",c);}putchar ('\n') ;}3.----------------------------------------------------#include<>int main(){int m, k;for( m = 1; m <= 4; m ++){if ( m == 1 || m == 4 ){for( k = 1; k <= 6; k++)printf("*");printf("\n");}elseprintf("* *\n");}return 0;}#include<>main(){ int a,b,c;printf(" * 1 2 3 4 5 6 7 8 9\n");printf(" -----------------------------\n");for(a=1;a<=9;a++){printf("%3d",a);for(b=1;b<=a;b++){c=a*b;printf("%3d",c);}printf("\n");}}5.--------------------------------------------------#include<>main(){double e=2,w=,t;double n=1,s=1;t=1/w;while(s<t){s=s*(n+1);e=e+1/s;n++;}printf("e=%lf,n=%d\n",e,(int)(n-1));}6.--------------------------------------------------------#include <>void main(){ int i,j,k=0,r,s=0,t=1000,a=0;for(i=2;i<=t;i++){ a=0; r=0;{ for(j=1;j<i;j++){ k=0; if(i%j==0){ k=j; } r+=k; }if(r==i) a=r; }if(a!=0){if(a==6)printf("%d",a);elseprintf("+%d",a);}s+=a;}printf("=%d\n",s);}=================================实验六数组================================= #include<>main(){int grade[6];int i,mumber;for(i=1;i<=5;++i)grade[i]=0;printf("enter your number\n");for(i=1;i<=20;++i){scanf("%d",&mumber);if(!mumber) break;++grade[mumber];}printf("\n\nresult of search\n");printf("---------------\n");for(i=1;i<=5;++i)printf("%4d %d\n",i,grade[i]); }#include""main(){int n,k,xx[20];int i,j,t;printf("\nPlease enter a number");scanf("%d",&n);printf("\nPlease enter %d numbers:",n);for(i=0;i<n;i++) scanf("%d",&xx[i]);printf("%\nPlease enter another number:"); scanf("%d",&k);for(i=0;i<k;i++){t=xx[0];for(j=1;j<n;j++)xx[j-1]=xx[j];xx[n-1]=t;}printf("\nAfter moving:\n");for(i=0;i<n;i++) printf("%3d",xx[i]);printf("\n");}#include <>main(){int i,a[100]={90,180,270,380,590,530,140,750,380},b[6]; for(i=0;i<6;i++)b[i]=0;for(i=0;i<9;i++){switch(a[i]/100){case 0:b[0]++;break;case 1:b[1]++;break;case 2:b[2]++;break;case 3:b[3]++;break;case 4:b[4]++;break;default :b[5]++;break;}}printf("The result is:");for(i=0;i<6;i++)printf("%d",b[i]);printf("\n");}#include <>main(){int i,j,t,p,q,s,n,a[11]={6,3,42,23,35,71,98,67,56,38}; for(i=0;i<10;i++){for(j=i+1;j<10;j++)if(a[i]>a[j]){t=a[i];a[i]=a[j];a[j]=t;}printf("%d ",a[i]);}printf("\ninput number:\n");scanf("%d",&n);for(i=0;i<10;i++)if(n<a[i]){for(j=9;j>=i;j--)a[j+1]=a[j];break;}a[i]=n;for(i=0;i<=10;i++)printf("%d ",a[i]);printf("\n");}5.---------------------------------------------------#include<>int main(){char a[100], b[100];int i=0, j=0, n=0;gets(a);gets(b);while(a[j]!=0){while((a[j+i]==b[i])&&b[i]!=0) i++;if(b[i]==0) n++;i=0;j++;}printf("%d", n);}=================================实验七字符处理=================================该程序的功能是:输入字符串,删除其中的数字,保留剩下的字符。