您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > C语言程序设计上机指导1~15章答案
1第三部分实验项目答案3.1C程序设计初步知识1、改错题(1)以下程序计算x*y的值并将结果输出。请将程序中的9处错误改正。#includestdio.hvoidmain(){intx=3,y=4,z;z=x*y;printf(z=%d\n,z);}(2)以下程序输入圆的半径,求圆面积。请将程序中的5处语法错误和逻辑错误改正。#includestdio.hvoidmain(){intr;floats;printf(Enterr:);scanf(%d,&r);s=3.14159*r*r;printf(s=%f\n,s);}2、填空题(1)下面程序能对两个整型变量的值进行交换,请填空:#includestdio.hvoidmain(){inta=3,b=4,t;t=a;a=b;b=t;printf(a=%d,b=%d\n,a,b);}(2)下面程序的输出结果是16.00,请填空:#includestdio.hvoidmain(){inta=9,b=2;floatx=6.6,y=1.1,z;z=a/2+b*x/y+1/2;printf(%5.2f\n,z);}3、程序设计题(1)编程实现从键盘输入三个大写字母,把它们转换成小写字母后输出。#includestdio.hvoidmain(){charc1,c2,c3;2scanf(%c%c%c,&c1,&c2,&c3);printf(%c,%c,%c\n,c1+32,c2+32,c3+32);}(2)已有定义语句:inta=1,b=2,c=3;floatd=4;编程计算表达式dcba)(的值。#includestdio.hvoidmain(){inta=1,b=2,c=3;floatd=4,e;e=a/((b+c)*d);printf(%f\n,e);}3.2顺序结构程序设计1、改错题(1)以下程序计算并输出长方形面积和体积,请改正程序中的错误。#includestdio.hvoidmain(){doublea,b,c,s,v;printf(inputa,b,c:\n);scanf(%lf%lf%lf,&a,&b,&c);s=a*b;//计算长方形面积v=a*b*c;//计算长方体体积printf(s=%f,v=%f\n,s,v);}(2)下列程序的功能是计算表达式x=2ab(a+b)2的值,请改正程序中的错误。#includestdio.hvoidmain(){inta,b;floatx;scanf(%d%d,&a,&b);x=2*a*b*(a+b)*(a+b);printf(x=%f\n,x);}2、填空题(1)请填写以下程序,使其输入为9876543210时,输出为a=98,b=765.00,c=4321.00。#include“stdio.h”voidmain(){inta;floatb,c;scanf(“%2d%3f%4f”,&a,&b,&c);printf(“a=%d,b=%6.2f,c=%8.2f\n”,a,b,c);3}(2)请按以下输入输出形式填空。输入形式:inputa,b:34.5输出形式:a+b=7.5#include“stdio.h”voidmain(){inta;floatb;printf(“inputa,b:”);scanf(“%d%f”,&a,&b);printf(“a+b=%3.1f\n”,a+b);}3、程序设计题(1)用scanf函数输入两个整数1500和350,求出它们的商和余数并输出。#includestdio.hvoidmain(){inta,b;printf(inputa,b:);scanf(%d%d,&a,&b);printf(%d/%d=%d\t%d%%%d=%d\n,a,b,a/b,a,b,a%b);}(2)编程实现对任意输入的四位整数,分别求出其各位数字,并按从后到前的顺序依次输出。例如,输入为1234时,输出结果为4,3,2,1。(提示:利用求整和求余运算分别计算出个、十、百和千位数字,再输出。)#includestdio.hvoidmain(){inta,b,c,d,x;printf(输入4位整数:);scanf(%d,&x);a=x%10;b=x/10%10;c=x/100%10;d=x/1000;printf(%d=%d%d%d%d\n,x,a,b,c,d);}3.3选择结构程序设计1、改错题(1)以下程序的功能是输入三个整数,输出其中的最大值。请改正程序中的逻辑错误。#includestdio.hvoidmain(){inta,b,c,max;printf(输入3个整数:);4scanf(%d%d%d,&a,&b,&c);max=a;if(cb){if(ba)max=c;}else{if(ba)max=b;}printf(3个数中最大的数是:%d\n,max);}(2)以下程序的功能是输入1~12月的月份编号,输出该月份对应的英文名称。例如,输入“2”,输出“February”。请改正程序中的逻辑错误。#includestdio.hvoidmain(){charch;printf(输入月份编号:);scanf(%c,&ch);switch(ch){case'1':printf(January\n);break;case'2':printf(February\n);break;case'3':printf(March\n);break;case'4':printf(April\n);break;case'5':printf(May\n);break;case'6':printf(June\n);break;case'7':printf(July\n);break;case'8':printf(Augest\n);break;case'9':printf(September\n);break;case'10':printf(October\n);break;case'11':printf(November\n);break;case'12':printf(December\n);break;default:printf(Error!\n);}}2、填空题(1)输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。#includestdio.hvoidmain(){inta,b,x,y;scanf(%d%d,&a,&b);x=a*a+b*b;if(x100){y=x/100;printf(%d\n,y);}elseprintf(%d\n,a+b);}(2)根据以下函数关系,对输入的不同的x值,计算出相应的y值。50x0y=x0=x101010=x20-0.5x+2020=x40#includestdio.hvoidmain(){intx,c;floaty;scanf(%d,&x);if(x0)c=-1;elsec=c/10;switch(c){case-1:y=0;break;case0:y=x;break;case1:y=10;break;case2:case3:y=-0.5*x+20;break;default:y=-2;}if(x40)printf(y=%f\n,y);elseprintf(error\n);}3、程序设计题(1)用switch编程实现:-1(x0)y=0(x=0)1(x0)#include“stdio.h”voidmain(){floatx;inty;scanf(“%f”,&x);switch(x0){case1:y=-1;break;case0:switch(x==0){case1:y=0;break;default:y=1;}}printf(“y=%d\n”,y);}(2)从键盘输入3个整数,计算并输出这3个整数的和、平均值(保留2位小数)、最大值6和最小值。#include“stdio.h”voidmain(){inta,b,c,sum,max,min;floataverage;printf(“输入三个整数:”);scanf(“%d%d%d”,&a,&b,&c);sum=a+b+c;average=sum/3.0;max=min=a;if(cb){if(ba)max=c;}else{if(ba)max=b;}if(cb){if(ba)min=c;}else{if(ba)min=b;}printf(“sum=%d\taverage=%6.2f\tmax=%d\tmin=%d\n”,sum,average,max,min);}3.4单层循环程序设计1、改错题(1)以下程序可以按倒序打印26个英文字母,请改正程序中的错误。#includestdio.hvoidmain(){charc;c='z';while(c='a'){printf(%3c,c);c--;}}(2)已知鸡兔共有30只,脚共有90个,下面程序的功能计算并输出鸡兔各有多少只,请改正程序中的错误。#includestdio.hvoidmain(){intx,y;for(x=1;x=30;x++){y=30-x;if(2*x+4*y==90)printf(%d,%d\n,x,y);}}72、填空题(1)以下程序求111111的个、十、百位上的数字之和,请填空。#includestdio.hvoidmain(){inti,x=1,y=0;for(i=1;i=111;i++)x=x*111%1000;do{y=y+x%10;x=x/10;}while(x!=0);printf(%d\n,y);}(2)某学校有近千名学生,现在操场上排队,5人一行余2人,7人一行余3人,3人一行余1人,求该校学生总数。#include“stdio.h”voidmain(){intn=999;while(n800){if(n%5==2&&n%7==3&&n%3==1)break;n--;}printf(“%d\n”,n);}3、程序设计题(1)计算1-3+5-7+…-99+101的值。#include“stdio.h”voidmain(){inti,t=-1,s=0;for(i=1;i=101;i+=2){t=(-1)*t;s=s+t*i;}printf(“s=%d\n”,s);}(2)输入若干学生成绩,以负数作结束符,输出其中的最高分和平均分。#include“stdio.h”voidmain(){intgrade,max,n=0,sum=0;scanf(“%d”,&grade);max=grade;8while(grade0){sum+=grade;scanf(“%d”,&grade);if(grademax)max=grade;n++;}printf(“max=%d,average=%5.2f\n”,max,1.0*sum/n);}3.5嵌套循环程序设计1、改错题(1)以下程序的功能是计算下式的值。请改正程序中的错误。(1)×(1+2)×(1+2+3)×(1+2+3+4)×……×(1+2+……+10)#includestdio.hvoidmain(){inti,j;floatx,y;y=1;for(i=1;i=10;i++){x=0;for(j=1;j=i;j++)x=x+j;y=y*x;}printf(%f\n,y);}(2)以下程序的功能是求算式xyz+yzz=532中x,y,z的值。请改正程序中的错误。#includestdio.hvoidmain(){intx,y,z;for(x=1;x10;x++)for(y=1;y10;y++)for(z=1;z10;z++)if(100*x+10*y+z+100*y+10*z+z==532)printf(x=%d,y=%d,z=%d\n,x,y,z);}2、填空题(1)打印下面图形。××××××××××9××××××××#include“stdio.h”voidmain(){inti,j,k;
本文标题:C语言程序设计上机指导1~15章答案
链接地址:https://www.777doc.com/doc-3156735 .html