c语言实验答案桂林航天工业高等学校

申明敬告: 本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。

文档介绍

c语言实验答案桂林航天工业高等学校

实验答案:实验一答案:二、录入并运行1.WelcometolearningClanguage!2.10,5,93.a*b=6004.a=6,b=7二、调试程序1.错误:缺main()改为:添加main()2.错误:k2未定义改为:intk2=-1;3.错误:第4行,printf()缺分号第6行,程序末尾,缺}改为:将缺的分号,花括号,添加上。4.错误:ch2未赋值,不符合题意。改为:charch2=’b’;四、仿写程序略实验二答案:二、录入并运行1.a,97b,982.BASCII:66JASCII:743.x=2,y=2,z=64.Value=13.0000005.460minutes=7hoursandminutes二、调试程序1.观察pi:3.14radius:5.0area:31.400002改为:area=pi*radius*radius;2.略3.错误:for(i=0,j=10;i<=10;i++,j++)printf("i=%d",i);printf("j=%dn",j);改为:for(i=0,j=10;i<=10;i++,j++){printf("i=%d",i);printf("j=%dn",j);}4.略四、仿写程序略实验三答案:一、读程序n1.a=-12y=78.5000002.i=01/2is:0.5000003.ab□c□□□□def□□□□□□□gh□□□□□□□ij□k4.i=8,j=7,k=75.i=-8i=9二、完成程序1.floatx,y;2.longinta;intb;floatc;3.doublea,b;4.charc;三、调试程序1.错误:j定义为int型,应改为:longintj;2.在定义w变量时有错。改为:intw;3.错误在:应将f1,f2定义为:double型;doublef1,f2;4.错误在于:c变量没有赋值。C=36;四、写程序略实验四答案:一、读程序1.outputinteger:15,□□□□□15,15□□□□□7654.315000,7654.312.Olympics,Olympics□□,□□□□□□□Oly,Oly□□□□□□□3.Jn(假设输入的是字符n)n4.-32767333.223.3e+025.:10smallerthan20二、完成程序1.c=getchar();或scanf(“%c”,&c);c+12.c1+323.(a+b)*4/(a*b)4.#includeprintf(“%.2f,%.2fn”,s,a+s)5.#include三、调试程序1.在main()上,增加文件包含语句。#include2.在printf(“nk=%d”,k);中,输出控制字符串和变量类型不匹配,所以,输出结果错误。改为:nprintf(“nk=%f”,k);3.scanf("%f",&r);4.printf("t=%.2fn",t);四、写程序1.参考源代码:#includemain(){inta=34,b=56,c=7890;floatd=7.256,e=12.45,f=-956.28;printf("a=%4d,b=%-3d,c=**%dn",a,b,c);printf("d=%3.1fn",d);printf("e=%7.2fn",e);printf("f=%6.1fn",f);}2---4代码略。实验五答案:一、读程序1.a1=1a2=1b1=0b2=12.x=3,y=1x=0,y=0x=-3,y=-13.a=10,b=30,c=104.x=25.123434二、完成程序1.x>yu>z2.ch>=’A’&&ch<=’Z’ch=ch-323.a+b>c&&b+c>a&&c+a>ba==b&&b==c或a==b&&a==c或a==c&&b==ca==b||b==c||c==a4.r=0.08;break;三、调试程序1.错误:复合语句少了{};改正:{t=x;x=y;y=x;}2.错误:22&&x<=10x>-1&&x<=23.错误:if0)y=1;elsey=0;改为:if0)y=1;}elsey=0;4.错误:switch(c){case10:ncase9:cscore=’A’;break;case8:cscore=’B’;case7:cscore=’C’;default:cscore=’D’;}改为:switch(c){case10:case9:cscore=’A’;break;case8:cscore=’B’;break;case7:cscore=’C’;break;default:cscore=’D’;}四、写程序1.输入4个数x,y,z,w,要求按由大到小的顺序输出。参考源代码:main(){intx,y,z,wt;scanf("%d%d%d,%d",&x,&y,&z,&w);if(xmain(){charc;scanf("%c",&c);if(c==”Y”||c==”y”)printf("nContinuen");elseif(c==”N”||c==”n”)printf("nStopn");elseprintf("nEnterError,Retry!n");}3.编写一个程序,从键盘输入某个雇员的每周工作时间(以小时计)(wh)和每小时的工资数(wage),计算并输出他的周工资。若雇员每周工作小时超过40小时,则超过部分按原工资的1.5倍加班工资来计算。若雇员每周工作小时超过50小时,则超过部分按原工资的3倍的加班工资来计算。(用if…elseif语句)参考源代码:n#includemain(){intwh;floatwage,total;printf("Pleaseinputworktimeandahourwagen");scanf("%d%f",&wh,&wage);if(wh>50)total=40*wage+(50-40)*wage*1.5+(wh-50)*wage*3;else(wh>40)total=40*wage+(wh-40)*wage*1.5;elsetotal=wh*wage;printf(“nThetotalwagesis:%.2fn”,total);}4.写一个程序完成两个实数的四则运算。(用switch语句)参考源代码:#includemain(){floatx1,x2,y;charc;printf("nPleaseinputtwonumberand+/-/*//:n");scanf("%f%c%f",&x1,&c,&x2);switch(c){case'+':y=x1+x2;break;case'-':y=x1-x2;break;case'*':y=x1*x2;break;case'/':y=x1/x2;break;}printf("nPleaseinputtheresult:n");scanf("Result=%.2f",&y);}实验六答案:一、读程序1.1232.a=2,b=93.a=1,b=94.a=2,b=85.Thetotalis1534二、完成程序1.a!=b2.ch=ch-32+2ch=’B’3.i<=n4.(n%10)*(n%10)5.count<=7t=t*2三、调试程序1.错误:循环条件k=0,应改为:k!=02.错误:循环体中,没有循环变量改变语句,应增加一句i++;3.错误在:s=s+1/n;应改为:s=s+1.0/n;4.错误:c=c;应改为:c=c+4;四、写程序1.编写一个程序,显示ASCII码65~122(十进制)的字符表,控制一行输出10个字符。#includenmain(){intc=65;inti=0;printf(“n”);while(c<=122){printf(“%c“,c);c++;i++;if(i%10==0)printf(“n”);}}2.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。#include"stdio.h"main(){charc; intletters=0,space=0,digit=0,others=0; printf("pleaseinputsomecharactersn"); while((c=getchar())!='n') { if(c>='a'&&c<='z'||c>='A'&&c<='Z')  letters++; elseif(c=='')  space++; elseif(c>='0'&&c<='9')  digit++; else  others++;}printf("allinall:char=%dspace=%ddigit=%dothers=%dn",letters,space,digit,others);}3.一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?#include"stdio.h"main(){floatsn=100.0,hn=sn/2;intn=2;while(n<=10) {  sn=sn+2*hn;/*第n次落地时共经过的米数*/  hn=hn/2;/*第n次反跳高度*/n++; }printf("thetotalofroadis%fn",sn);printf("thetenthis%fmetern",hn);}4.求1+2!+3!+...+20!的和main(){floatn,s=0,t=1;intn=1;while(n<=20) { t*=n; s+=t;nn++; }printf("s=%en",s);}实验七答案:一、读程序1.2126115812.输出国际象棋棋盘3.□□□□□□□□□□□□□1□□□□□□□□□□□2□□□2□□□□□□□□□3□□□3□□□3□□□□□□□4□□□4□□□4□□□4□□□□□5□□□5□□□5□□□5□□□5□□□6□□□6□□□6□□□6□□□6□□□64.k=45.153,370,371,4076.90=2*3*3*5二、完成程序1.t=-t;2.m%nch=’B’3.k='x';k<='z';k++4.m%10三、调试程序1.错误:缺少循环变量改变语句,应增加:i++;2.错误:for(j=0;j<=4;j++),应改为:for(j=0;j<=i;j++)3.错误在:if((n%5==0)&&(n%6==0))改为:if((n+3)%5==0)&&((n-3)%6==0)4.错误:for(j=0;j<=5;j++)改为:for(j=1;j<=5;j++)四、写程序1.小明今年12岁,他母亲比他大26岁,编程计算出他母亲在几年后比他的年龄大一倍,那时他们两人的年龄各多少岁?#include"stdio.h"main(){inty;intmingage=12,motherage=38;for(y=1;y!=0;y++){mingage=mingage+y;motherage=motherage+y;if(motherage==2*mingage){printf("nthemingageis:%dn",mingage);printf("nthemotherageis:%dn",motherage);break;n}}}2.编写一个程序求出200~300之间的整数,且满足条件:它们3个数字之积为42,3个数字之和为12。#include"stdio.h"main(){inti,j,k,n; for(n=200;n<=300;n++) {  i=n/100;/*分解出百位*/  j=n/10%10;/*分解出十位*/  k=n%10;/*分解出个位*/  if(i+j+k==12&&i*j**k==42)   {   printf("%5d,",n);   } }printf("n");}3.一百万富翁遇到一个陌生人,陌生人找他谈一个换钱的计划,该计划如下:我每天给你10万元,而你第一天只需给我1分钱,第二天我仍给你10万元,你给我2分钱,第三天我仍给你10万元,你给我4分钱……你每天给我的钱是前一天的2倍,直到满1个月(30天),百万富翁很高兴,欣然接受了这个契约。请编写一个程序计算这一个月中陌生人给了百万富翁多少钱?百万富翁给陌生人多少钱?#include"stdio.h"main(){inti;longintt=1,stor=0,rtos=0;stor=100000*30; for(i=1;i<=30;i++) {rtos=rtos+t;t=2*t;}   printf("nrichtostranger:%ldn",rtos);printf("nstrangertorich:%ldn",stor);}4.打印出以下图案。*************************n#includemain(){inti,j;for(i=0;i<4;i++){printf("n");for(j=0;j<5-i;j++)printf("");for(j=0;j0;i--){printf("n");for(j=0;j<6-i;j++)printf("");for(j=0;jmain()n{floata[30],max,min,sum=0;inti;for(i=0;i<30;i++)scanf("%f",&a[i]);max=min=a[0];sum=sum+a[0];for(i=1;i<30;i++){sum=sum+a[i];if(a[i]>max)max=a[i];elseif(a[i]main(){inta[5][5],i,j,k;for(i=0;i<5;i++)for(j=0;j<5;j++)scanf("%d",&a[i][j]);for(i=0;i<5;i++){for(k=0;k<3*i;k++)printf("");for(j=i;j<5;j++)printf("%3d",a[i][j]);printf("n");}}实验九数组(2)一、读程序1.SearchSuccessful!Theindexis52.104682461223.str=Istr=Iamastudent1.6nIlovechina!5.56.abcd7.AQM二、完成程序1.x[i]i++2.s[j]=s[i]3.t[k]==c4.strcmp(str,temp)>05.i<2len[i]=j三、调试程序1.语句chara=“CLanguageProgram” ;改为:chara[]=“CLanguageProgram” ;2.语句b=a ;改为:strcpy(b,a);3.语句for(i=5;a[i]!=’’;i--)改为:for(i=5;i>=1;i--)4.语句if(str[0]#includemain(){chara[]="Computer",t;inti,n;printf("beforeTransformation:%sn",a);n=strlen(a);for(i=0;iinthcf(intu,intv){intt,r ;if(us2.str[i]mystrlen(a);3.a[i]=a[n-i-1];4.nx*x+1三、调试程序1.语句ss(str1[0],c);改为:ss(str1,c);2.语句swap2(&b[0],&b[1]);改为:swap2(b[0],b[1]);3.语句returnage(n-1)+2;改为:if(n==1)return10elsereturnage(n-1)+2;四、写程序参考源代码:1.#includevoidfun(char[],char);voidmain(){chars[100],c;gets(s);c=getchar();fun(s,c);puts(s);}voidfun(chars[],charc){inti,j;for(i=0;s[i]!='';i++){if(s[i]==c){for(j=i;s[j]!='';j++)s[j]=s[j+1];}}}2.longfibo(intn){if(n==1||n==2)return1L;elsereturnfibo(n-1)+fibo(n-2);n}main(){intm;Scanf(“%d”,&m)printf(“%ldn”,fibo(m));}实验十二函数(3)一、读程序1.k=8i=3,k=52.X=321Y=456Z=03.8,174.265.30251.92.30,30,10,20二、完成程序1.intx;2.staticintf=13.externa,b;三、写程序参考源代码:1.#includefloatmax=0,min=0;floataverage(floatarray[],intn){inti;floataver,sum=array[0];max=min=array[0];for(i=1;imax)max=array[i];elseif(array[i]intletter,digit,space,others;intcount(charstr[]){inti;for(i=0;str[i]!='';i++)if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z'))letter++;elseif(str[i]>='0'&&str[i]<='9')digit++;elseif(str[i]=='')space++;elseothers++;}main(){chartext[80];printf("ninputstring;n");gets(text);printf("string:");puts(text);letter=0;digit=0;space=0;others=0;count(text);printf("letter:%d,digit:%d,space:%d,others:%dn",letter,digit,space,others);}实验十三指针(1)一、读程序1.a=11,*p=112.a=0b=63.k=0k=1k=3k=64.3,23,25.n1=1,n2=66.1577.10,4,810,2,5n二、完成程序1.num=*pbnum=*pc2.s*=*(p+i);三、调试程序1.语句intp,q;改为:int*p,*q;2.语句scanf(“%d,%d”,*p,*q);改为:scanf(“%d,%d”,p,q);3.语句int*p=&a,a;改为:inta,*p=&a;4.语句p=&a;改为:p=a;5.语句int*p;改为:intp;四、写程序参考源代码:1.main(){intj,k,a[12],*p;p=a;for(j=0;j<12;j++)scanf("%d",p++);p=a;for(j=0;j<12;j++){printf("%d",*p++);if(j%4==0)printf("n");}2.#includemain(){inti,x,*p;inta[15]={1,4,7,9,11,13,15,17,23,45,67,78,89,93,96};p=a;scanf("%d",&x);for(i=0;i<15;i++,p++)if(*p==x){printf("searchsuccessful!,theindexis:%dn",i);break;}if(i>=15)printf("can'tsearch!n");}实验十四指针(2)一、读程序1.192.1231011121.72.012345678998765432105.123456n6.BasicPascalFortranCJava二、完成程序1.&a[0][0]+11*p2.*sptr++3.p+1*q>max4.*pa=*pbmystrcat(a,b);三、调试程序1.语句pa=va[0];改为:pa=&va[0];2.语句while(a!=’’)putchar(*a++);改为:while(*a!=’’)putchar(*a++);3.语句p=*p1;改为:*p=*p1;4.语句for(p=a;p#include#defineLEN20char*copy_str(char*from,intn){charto[LEN],*p=to;from=from+n-1;while(*from!=’’){*p=*from;p++;from++;}*p=’’;returnto;}main(){intn;char*str[LEN],*p;printf(“pleaseinputthestring:”);gets(str);printf(“pleaseinputthenumberofcopyingfrom:”);scanf(“%d”,&n);while(n<1||n>LEN){Printf(“error!npleaseinputagain1~%d:”,LEN);scanf(“%d”,&n);}p=copy_str(str,n);printf(“thenewstring:”);puts(p);}2.#includenchar*day_name(intn){Staticchar*name[]={"Monday","Tuesday","Wednesday","Thurday","Firday","Saturday","Sunday"};return(name(n-1));}main(){inti;printf("pleaseinputdayno:");scanf("&d",&i);while(i<0||i>7){printf("Error!Pleaseinputagain(1~7):");scanf("&d",&i);}printf("DayName:%sn:",day_name(i));}实验十五结构体一、读程序1.62.10,x3.Initdatas:namescore1score2zhang7065Afterchanged:namescore1score2zhang80954.4,35.date1=6,date2=3,date3=0二、完成程序1.Structtriangle2.03.*s=&stu4.sum=sum+stuarr[i].score[j] ;5.next=NULLp->next6.s=(structnode*)malloc(sizeof(structnode));三、调试程序1.M后面应加 ;2.语句printf(“n%dn”,sizeof(date)+sizeof(max));改为:printf(“n%dn”,sizeof(too)+sizeof(max));3.语句inty;改为:int*y;4.语句elsep1->next=p1->next;改为:elsep2->next=p1->next;四、写程序参考源代码:1.#include#includestructpersonn{charname[20];intcount;}leader[3]={{“li”,0},{“zhang”,0},{“wang”,0}};voidmain(){intI,j;charleader_name[20];for(i=1;i<=10;i++){scanf(“%s”,leader_name);for(j=0;j<3;j++)if(strcmp(leader_name,stu[i].name)==0)stu[i].count++;}printf(“n”);for(i=0;i<3;i++)printf(“%5s:%dn”,stu[i].name,stu[i].count);}实验十六位运算与文件一、读程序1.132.85bd382.Theb(decimal)is60Theb(decimal)is593.X=11Y=17Z=114.Hello5.Hell二、完成程序1.&03602.|0xf3.|4.“bi.dat”, “w”5.!feof(fp)6.FILE*fp;structstudentr三、写程序参考源代码:1.#includen#includemain(){FILE*fp;charstr[100],filename[10];inti=0;if((fp=fopen("test.txt","w"))==NULL){printf("cannotopenthefilen");exit(0);}printf("pleaseinputastring:n");gets(str);while(str[i]!='!'){if(str[i]>='a'&&str[i]<='z')str[i]=str[i]-32;fputc(str[i],fp);i++;}fclose(fp);fp=fopen("test","r");fgets(str,strlen(str),fp);printf("%sn",str);fclose(fp);}2.#include#includestructstu{charname[10];intnum;intage;charadd[15];}boya[2],boyb[2],*pp,*qq;main(){FILE*fp;charch;inti;pp=boya;qq=boyb;if((fp=fopen(“stu_list”,”wb+”))==NULL){printf(“cannotopenfilestrikeanykeyexit!”);getch();exit(1);}printf(“ninputdatan”);for(i=0;i<2;i++,pp++)scanf(“%s%d%d%s”,pp->name,&pp->num,&pp->age,pp->addr);pp=boy1;fwrite(pp,sizeof(structstu),2,fp);rewind(fp);fread(qq,sizeof(structstu),2,fp);printf(“nnnametnumberageaddrn”);for(i=0;i<2;i++,qq++)printf(“%st%5d%7d%sn”,qq->name,qq->num,qq->age,qq->addr);fcolse(fp);}n
查看更多

相关文章

您可能关注的文档