C语言程序的设计实验-答案_第1页
C语言程序的设计实验-答案_第2页
C语言程序的设计实验-答案_第3页
C语言程序的设计实验-答案_第4页
C语言程序的设计实验-答案_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE..-前言-/*非常感谢度娘以及各位网上C语言高手的支持,才能让敝人完成此文档的整理。本文档集合了本人、度娘、众网友的力量,其中代码的正确率约为90%〔不正确的有标注。为回报度娘及众网友的帮助,本文档免费下载。*//*配"电子科技大学出版社〔周信东主编"的C语言程序设计实验*//*努力吧,骚年以及学妹们!*//*整理edby口玉刀一ofGUET.*/=====================实验一C语言程序初步=====================1.已知a=5,b=4,c=6,求出s并换行#include"stdio.h"main<>{inta,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>;}2.输入一个数字求他的平方#include<stdio.h>main<>{ intr,s; scanf<"%d",&r>; s=r*r; printf<"s=%d\n",s>;}3.〔1#include<stdio.h>main<>{ printf<"*\n">; printf<"***\n">; printf<"*\n">;}〔2#include<stdio.h>main<>{ intv; inta,b,c;//a,b,caersides,visvolumeofcube a=3;b=3;c=5; v=a*b*c; printf<"v=%d\n",v>;}=================================实验二数据类型、运算符和表达式=================================〔1//总觉得打印结果怪怪的,DOYOUTHINKSO?main<>{ chars1='3',s2='4',s3='5'; intc1=101,c2=102; printf<"3%c\t4%c\t5%c\n",s1,s2,s3>;//3%c为输出3和%c printf<"s1=%d\ts2=%d\ts3=%d\n",s1,s2,s3>;//注意哦,s1,s2,s3是char!而%d:输入输出为整形%ld长整型%hd短整型%hu无符号整形%u%lu%s:输入输出为字符串%c字符%f:输入输出为浮点型%lf双精度浮点型printf<"c1=%d\t~%c\n",c1,c1>;//换码符'\t',表示水平制表位〔horizeontaltab,它的作用是将光标移到最接近8的倍数的位置 printf<"c2=%d\t~%c\n",c2,c2>;//注意c1,c2的类型}〔2//运行结果为8.300000%是求余数先运算x-y,把结果转换为int型的有利于四则运算main<>{ floatx=8.3,y=4.2,s; inta=7; s=x+a%5*<int><x-y>%2/3; printf<"s=%f",s>;}〔3main<>{ inti,j,p,q; i=3;j=6; p=i++; q=--j; printf<"%d,%d,%d,%d\n",i,j,p,q>; p=i--+3; q=++j-4; printf<"%d,%d,%d,%d",i,j,p,q>;}〔4main<>{ intm=15,n=9,s; m*=3+2; printf<"%d",m>; n+=n-=n*=n;printf<"%d",n>; printf<"%d\n",<s=6*5,m+n+s>>; printf<"%d\n",s>;}2.〔1#include<stdio.h>#defineMM40main<>{ inta=3,b=6,t; t=MM/<3+6>; printf<"%d%d",t,MM>;}//原来printf语句打成了print,printf语句中少了一个%d.〔2#include<stdio.h>main<>{ intm; doublex; scanf<"%d",&m>; x=3.14*m*m; printf<"%f",x>;}//注意分号,%f转义〔3main<>{ intm=8,n=5; printf<"%d",m*=m-n>; printf<"%d,%d,%d",m=m+1,n-1,m+n>;}main<>{ inta=9,b=5; a+=b; b=a-b; a-=b; printf<"%d%d",a,b>;}//4.输入a,b,c三个变量,计算数学公式<a*b>/cmain<>{ inta,b,d; floats,c; scanf<"%d%d%f",&a,&b,&c>; d=a*b; s=d/c; printf<"%f",s>;}=================================实验三顺序结构和输入输出方法=================================1.〔1main<>{ intm=345,t; floatn=2.56; t=2.56*100; printf<"m=%d,n*100=%d\n",m,t>;}〔2main<>{ inta,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>;}2.〔1main<>{ intm,n; floatx=3.5,y=6.2; scanf<"%d,%d",&m,&n>; printf<"%6d,%6d",m,n>;/*每个数的输出宽度为6,两个数之间逗号建个。*/ printf<"x=%7.2f,y=%7.2f",x,y>;/*个数的输出宽度7,小数位2*/}〔2main<>{ inta,b; longm,n; floatp,q; scanf<"a=%d,b=%d\n%f,%f",&a,&b,&p,&q>; scanf<"%ld",&m>; scanf<"%ld",&n>; printf<"a=%d,b=%d\nm=%ld,n=%ld\n",a,b,m,n>; printf<"p=%f,q=%f\n",p,q>;}//打印结果有误!!3.main<>{inti,j,k,ss,m=1,n=1;scanf<"%d%d",&i,&j>;m+=i++; n*=--j; ss=<k=m+2,n-5,k+n>; printf<"%d",ss>;}4.#include<stdio.h>main<>{ charc1,c2; c1=getchar<>; c2=getchar<>; putchar<c1>; putchar<c2>; printf<"c1=%c,c2=%c",c1,c2>; printf<"%d.%d\n",c1,c2>;}#include<stdio.h>main<>{ inta=790,b,c; b=790/60; c=790%60; printf<"%d小时%d分钟",b,c>;}#include<stdio.h>main<>{ inta,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>;}#include<stdio.h>main<>{ doublea; scanf<"%lf",&a>; printf<"%.2f\n",a>;}=================================实验四逻辑运算判断选取控制=================================1.1.a.错误原因分析:Switch分号错误switch<a*a+b*b>{case3:case1:y=a+b;break;case0:y=b-a;break;}b.错误原因分析:switch语句使用错误,后跟括号。Default放在后边。switch<a>{case10:y=a-b;break;case11:x=a*b;break;default:x=a+b;}c.错误原因分析:没有输出语句。switch<a+b>{case10:x=a+b;break;case11:y=a-b;break;}2.〔1main<>{intx,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<>{ intx,y; scanf<"%d",&x>; if<<x>-5>&&<x<0>>y=x; elseif<x==0>y=x-1;elseif<x>0&&x<10>y=x+1;printf<"%d",y>;}3.main<>{inta,M; scanf<"%d",&a>; M=a>0?a:-a; printf<"abs<a>=%d",M>;}4.main<>{ intc,t,m; printf<"inputthenumberofcoatandtrousersyourwantbuy:\n">; scanf<"%d%d",&c,&t>; if<c==t>if<c>=50>m=c*80;elsem=c*90;elseif<c>t> if<t>=50>m=t*80+<c-t>*60;else90*t+<c-t>*60; elseif<c>=50>80*t+<t-c>*45; elsem=c*90+<t-c>*45; printf<"%d",m>;}#include<stdio.h>intmain<void>{ inta,b,c; scanf<"%d%d%d",&a,&b,&c>; if<a+b<=c||a+c<=b||b+c<=a> printf<"不构成三角形\n">; elseif<a==b&&b==c> printf<"等边三角形\n">; elseif<a==b||b==c||a==c> printf<"等腰三角形\n">; else printf<"不等边三角形\n">; return0;}#include"stdio.h"main<>{ longa; scanf<"%ld",&a>; if<a%5==0> if<a%7==0> printf<"yes\n|">; elseprintf<"no\n">;}=================================实验五循环结构=================================#include"stdio.h"main<>{intn;while<1> {printf<"Enteranumber:">; scanf<"%d",&n>; if<n%2==1> {printf<"Isaid">; continue; } break; } printf<"Thanks.Ineededthat!">;}#include<stdio.h>main<>{ intc; while<<c=getchar<>>!='\n'> { if<<c<='X'&&c>='A'||c<='x'&&c>='a'>> c+=2; elseif<c=='y'||c=='Y'||c=='z'||c=='Z'> c=c-24; printf<"%c",c>; } putchar<'\n'>;}#include<stdio.h>intmain<>{ intm,k; for<m=1;m<=4;m++> { if<m==1||m==4> { for<k=1;k<=6;k++> printf<"*">; printf<"\n">;} else printf<"**\n">;} return0;}4.#include<stdio.h>main<>{inta,b,c;printf<"*123456789\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">;}}#include<stdio.h>main<>{ doublee=2,w=0.000001,t; doublen=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>>;}#include<stdio.h>voidmain<>{inti,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>;}=================================实验六数组=================================1.#include<stdio.h>main<>{ intgrade[6]; inti,mumber; for<i=1;i<=5;++i> grade[i]=0; printf<"enteryournumber\n">; for<i=1;i<=20;++i> { scanf<"%d",&mumber>; if<!mumber>break; ++grade[mumber]; } printf<"\n\nresultofsearch\n">; printf<"\n">; for<i=1;i<=5;++i> printf<"%4d%d\n",i,grade[i]>;}2.#include"stdio.h"main<>{intn,k,xx[20];inti,j,t;printf<"\nPleaseenteranumber">;scanf<"%d",&n>;printf<"\nPleaseenter%dnumbers:",n>;for<i=0;i<n;i++>scanf<"%d",&xx[i]>;printf<"%\nPleaseenteranothernumber:">;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<"\nAftermoving:\n">;for<i=0;i<n;i++>printf<"%3d",xx[i]>;printf<"\n">;}3.#include<stdio.h>main<>{ inti,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> { case0:b[0]++;break; case1:b[1]++;break; case2:b[2]++;break; case3:b[3]++;break; case4:b[4]++;break; default:b[5]++;break; } } printf<"Theresultis:">; for<i=0;i<6;i++> printf<"%d",b[i]>; printf<"\n">;}4.#include<stdio.h>main<>{inti,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<"\ninputnumber:\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">;}#include<stdio.h>intmain<>{ chara[100],b[100]; inti=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>;}=================================实验七字符处理=================================1.该程序的功能是:输入字符串,删除其中的数字,保留剩下的字符。#include<stdio.h>main<>{ chara[40],b[40]; inti,j; printf<"Enterthestring:">; scanf<"%s",a>; i=j=0; while<a[i]!='\0'> { if<!<a[i]>='0'&&a[i]<='9'>> { b[j]=a[i]; j++; } ++i; } b[j]='\0'; printf<"%s",b>;}2.#include"string.h"#include"stdio.h"main<>{ charstr1[50]="everyone!";charstr2[50]="hello";strcpy<str2+strlen<str2>,str1>;printf<"%s",str2>;}//本代码有些奇怪,在有的vc上可以执行,有的却不行。#include"stdio.h"main<>{ inti,pos;charstr[]="Thisisaprogram";for<i=0;str[i]!='\0';i++> { if<str[i]=='a'>{pos=i;break;} }printf<"Thepositionis%d\n",pos>;}4.#include"stdio.h"main<>{ inti,pos;charstr[]="Thisisaprogram";for<i=0;str[i]!='\0';i++> { if<str[i]=='a'>{pos=i;break;} }printf<"Thepositionis%d\n",pos>;}程序运行结果如下图所示:#include"stdio.h"main<>{inti,j,k=0;chars[255];while<<s[k]=getchar<>>!=''>k++;for<j=0;s[j]!='';j++>{ if<s[j]<='Z'&&s[j]>='A'> {s[j]+=32; } if<s[j]<='w'&&s[j]>='a'>s[j]+=3; elseif<s[j]=='x'||s[j]=='y'||s[j]=='z'> s[j]-=23;}printf<"译码后结果:">;for<i=0;s[i]!='';i++>printf<"%c",s[i]>;printf<"\n">;getchar<>;}#include"stdio.h"main<>{inti=0;charstr1[255],str2[255];printf<"\nInputstring1:">;scanf<"%s",str1>;printf<"\nInputstring2:">;scanf<"%s",str2>;while<1>{ if<str1[i]==str2[i]> {i++; continue; } else break;}printf<"\n%d\n",str1[i]-str2[i]>;}=====================实验八函数=====================8.1???????????????????未成功inta=3,b=5;max<inta,intb>{ intc; c=a>b?a:b; return<c>;}main<>{ externinta,b; printf<"%d\n",max<a,b>>;}8.2#include<stdio.h>intis_prime<intm>{ inti; if<m==1> return0; for<i=2;i<m;i++> { if<m%i==0> { return0; } } return1;}voidmain<>{ intn,c; scanf<"%d",&n>; c=is_prime<n>; if<c==1> printf<"prime\n">; else printf<"notprime\n">;}8.3#include<stdio.h>intmain<>{intm,n,i,sum=1,t;printf<"请输入m的值:\n">;scanf<"%d",&m>;printf<"请输入n的值:\n">;scanf<"%d",&n>;if<m<n>{t=m;m=n;n=t;}for<i=m;i>=m-n+1;i-->{sum*=i;}for<i=1;i<=n;i++>{sum/=i;}printf<"值为:%d\n",sum>;}=====================实验九指针=====================1.//在每句for<j=0;j<12;j++>前都加上p=a;这句//将if<j%4==0>改为if<<j+1>%4==0>//调试后的程序是:#include<stdio.h>voidmain<>{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+1>%4==0>printf<"\n">;}}2.#include<stdio.h>voidmain<>{ voidswap<

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论