欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    C语言程序设计基础实验与题解 答案(最新修改版).doc

    • 资源ID:2384663       资源大小:77.50KB        全文页数:31页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言程序设计基础实验与题解 答案(最新修改版).doc

    C语言程序设计基础实验与题解实验一 (1)定义iNUM时未对其初始化,修改程序参考如下: #include<stdio.h>void main(void)int iNUM=5;float fNUM=134.23;printf("a=%dtf=%.2fn",iNUM,fNUM);运行结果:a=5 f=134.23Press any key to continue_(2)#include<stdio.h>void main()int a,b,c,sum=0;scanf("a=%d,%d%d",&a,&b,&c);sum=a+b+c;printf("a=%d,b=%d,c=%dn",a,b,c);printf("sum=%d",sum);输入及其运行结果:a=4,6 7a=4,b=6,c=7sum=17Press any key to continue_(3)#include<stdio.h>void main()char a,b;scanf("%3c%4c",&a,&b);printf("C1=%c,C2=%c",a+1,b-1);运行结果:ABCDEFGHC1=B,C2=CPress any key to continue_(4)#include<stdio.h>#include<conio.h>void main()float a;printf("Enter a: ");scanf("%f",a);printf("The original data is:%fnn",a);printf("The transformed data is:%.2fn");(5)#include<stdio.h>void main()int a,b,c,d,f;printf("请输入两个整数:");scanf("%d%d",&a,&b);c=a+b;d=c*c;f=a*a+b*b;printf("它们的和为:%dn",c);printf("和的平方为:%dn",d);printf("平方的和为:%dn",f);(6)#include<stdio.h>void main()float a,b;printf("输入华氏温度值:");scanf("%f",&a);b=(a-32)*5/9;printf("%f()=%.2f()n",a,b);(7)#include<stdio.h>void main()float a,b,c;printf("请输入该球队赢球场数和输球场数:");scanf("%f%f",&a,&b);c=a/(a+b);c=c*100;printf("该队赢球百分比:%.2fn",c);实验二(1)#include<stdio.h>void main()float x,y;printf("请输入x的值:");scanf("%f",&x);if(x<=1)y=x;else if(x>1&&x<10)y=2*x-1;elsey=3*x-11;printf("按公式计算得y的值为:%fn",y);(2)#include<stdio.h>void main()int i,j=0,k=0;char a50;printf("请输入若干字符:");gets(a);for(i=0;ai!=0;i+)if(48<=ai&&ai<=57)j+;if(65<=ai&&ai<=90)|(97<=ai&&ai<=122)k+;printf("数字字符的个数为:%dn",j);printf("英文字母的个数为:%dn",k);(3)#include<stdio.h>#include<math.h>void main() float a,b,c,d,e,f,x1,x2;printf("求解ax2+bx+c=0的根,请输入a,b,c的值:");scanf("%f%f%f",&a,&b,&c);if(a=0&&b=0&&c=0) printf("此方程有任意实数解。"); if(a=0&&b=0&&c!=0) printf("此方程无实数解。");if(a!=0)d=b*b-4*a*c;if(d<0)printf("此方程无实数解。");if(d=0)e=-b/(2*a);printf("此方程有两相等实根:x1=x2=%f",e);if(d>0)f= sqrt( d);f=f/(2*a);e=-b/(2*a);x1=e+f;x2=e-f;printf("此方程有两不等实根:x1=%f,x2=%f",x1,x2);printf("n");(4)#include<stdio.h>void main()float p,t;printf("请输入该公司员工该月所接工程的利润:");scanf("%f",&p);if(p<=1000)t=0;if(p>1000&&p<=2000)t=0.1*p;if(p>2000&&p<=5000)t=0.15*p;if(p>5000&&p<=10000)t=0.20*p;if(p>10000)t=0.25*p;printf("该员工的利润提成为%.2fn",t);(5)#include<stdio.h>void main()int a,b,c,t;printf("请输入三个整数:");scanf("%d%d%d",&a,&b,&c);if(a>b)t=a;a=b;b=t;if(b>c)t=a;a=b;b=t; if(a>b)t=b;b=c;c=t;printf("居中的数为:%dn",b);实验三1.#include<stdio.h>void main()int a,b;printf("在2-1000之间的守形数如下:n");for(a=2;a<=1000;a+)b=a*a;if(b%10=a|b%100=a|b%1000=a|b%10000=a)printf("%d ",a);printf("n");2.#include<stdio.h>void main ()int m,n,i,min,t;printf("请输入两个正整数:");scanf("%d%d",&m,&n);if(m<=0|n<=0)printf("输入错误!");elsemin=m<n?m:n;i=2;while(i<=min)if(m%i=0&&n%i=0)t=i;i+;printf("%d和%d的最大公约数是%d,最小公倍数是%d.n",m,n,t,(m*n)/t);3.#include<stdio.h>void main()int a,n,s,i,t;printf("输入a和n的值:");scanf("%d%d",&a,&n);printf("a=%d,n=%d.n",a,n);t=a;for(i=1,s=0;i<=n;i+)s=s+t;t=t*10+a;printf("a+aa+aaa+aa.a=%dn",s);4.#include<stdio.h>void main()int n,s=0;printf("输入一个正整数:");scanf("%d",&n);dos+=n%10;n/=10;while(n>0);printf("各位数之和是:%dn",s);5.#include<stdio.h>void main()int i,x,y=1;for(i=1;i<10;i+)x=2*(y+1);y=x;printf("第一天共摘下桃子数为:%dn",x);实验四1.#include<stdio.h>void main()int i,j,s=1;for(i=1;i<=1000;i+)s=1;for(j=2;j<=i/2;j+)if(i%j=0)s+=j;if(s=i)printf("%d=1",i);for(j=2;j<=i/2;j+)if(i%j=0)printf("+%d",j);printf("n");2.#include<stdio.h>void main()int i,a,b,c;for(a=6;a<=10000;a+)b=c=1;for(i=2;i<=a/2;i+)if(a%i=0)b=b+i;for(i=2;i<=b/2;i+)if(b%i=0)c=c+i;if(a=c&&a!=b)printf("%6d,%6dn",a,b);运行结果: 220, 284 284, 220 1184,1210 1210,1184 2620,2924 2924, 2620 5021,5564 5564, 5020 6232,6368 6368, 6232Press any key to continue_3.#include<stdio.h>void main()int a,b,c,d,e;for(a=1;a<=100;a+)for(b=1;b<=100;b+)for(c=1;c<=100;c+)if(a+b+c=100)&&(9*a+6*b+c=300)printf("母鸡%d只,公鸡%d只,小鸡%d只。n",a,b,c);4.#include<stdio.h>void main()char i,j,k;for(i='X'i<='Z'i+)for(j='X'j<='Z'j+)for(k='X'k<='Z'k+)if(i!=j&&i!=k&&j!=k)if(i!='X'&&k!='X'&&k!='Z')printf("A-%ctB-%ctC-%cn",i,j,k);实验五1.#include<stdio.h>void main()int a11=1,4,6,9,13,16,19,28,40,100;int t1,t2,n,e,i,j;printf("原有数组为:n");for(i=0;i<10;i+)printf("%d ",ai);printf("n请输入一个新数:");scanf("%d",&n);e=a9;if(n>e)a10=n;elsefor(i=0;i<10;i+)if(ai>n)t1=ai;ai=n;for(j=i+1;j<11;j+)t2=aj;aj=t1;t1=t2;break;for(i=0;i<11;i+)printf("%d ",ai);printf("n");2.#include<stdio.h>void main()int a10,i,j,t;printf("请输入十个整数:");for(i=0;i<10;i+)scanf("%d",&ai);for(i=0,j=10;i<j;i+,j-)t=ai;ai=aj;aj=t;printf("逆序存放后的数组为:");for(i=0;i<10;i+)printf("%d ",ai);printf("n");3.#include<stdio.h>void main()int x,mid,top,bottom,a15=1,2,3,4,5,6,7,8,11,14,35,68,70,87,99;printf("请输入要查找的数:");scanf("%d",&x);bottom=0;top=14;while(bottom<=top)mid=(top+bottom)/2;if(x<amid)top=mid-1;else if(x>amid)bottom=mid+1;else break;if(bottom<=top)printf("%d在数组中的下标为%dn",x,mid);else printf("查无此数!n");4.#include<stdio.h>#include<string.h>void main()char a80;int i;printf("请输入一个字符串:n");gets(a);for(i=0;i<strlen(a);i+)if('a'<=ai&&ai<='z')ai=ai-32;else if('A'<=ai&&ai<='Z')ai=ai+32;puts(a);5.#include<stdio.h>void main()long a,b;int i;a=b=1;printf("斐波那契数列的前20项分别为:n");printf("%7ld%7ld",a,b);for(i=3;i<=20;i+)a=a+b;printf("%7ld",a); if(i%5=0)printf("n");i+;b=a+b;printf("%7ld",b);if(i%5=0)printf("n");实验六1.#define M 5#define N 5#include<stdio.h>void main()int i,j;char aMN;for(i=0;i<5;i+) for(j=0;j<5;j+)aij='*'printf("%c",aij);printf("n");2.#include<stdio.h>void main()int i,j,a1010;printf("n");for(i=0;i<10;i+)ai0=1;aii=1;for(i=2;i<10;i+)for(j=1;j<i;j+)aij=ai-1j-1+ai-1j;for(i=0;i<10;i+)for(j=0;j<=i;j+)printf("%5d",aij);printf("n");3.#include<stdio.h>fun(int a8080,int i,int n)int j,k,max=0;for(j=0;j<n;j+)if(aij>max)max=aij;k=j;return k;void main()int a8080,i,j,k,m,n,b;printf("请输入该二维数组的行列数:n");scanf("%d%d",&m,&n);printf("请输入该数组:n");for(i=0;i<m;i+)for(j=0;j<n;j+)scanf("%d",aij);for(i=0;i<m;i+)j=fun(a,i,n);for(k=0;k<m;k+)if(aij>=akj)b=k;if(i=b)printf("该数组的一个鞍点为%d.",aij);实验七1.出错原因:函数不可嵌套定义。2.#include<stdio.h>void main()int a50,s=0,aver,i,d=0;printf("请输入50个学生的成绩:n");for(i=0;i<50;i+)scanf("%d",&ai);s+=ai;aver=s/50;printf("aver=%dn",aver);printf("分数高于平均分的人数:n");for(i=0;i<50;i+)if(ai>=aver) d+;printf("%dn",d);3.#include<stdio.h>float fun(int n,int j)int i;float b20,max,min,s=0.00;printf("请输入每个评委对第%d位选手的评分:n",j);for(i=0;i<n;i+)scanf("%f",&bi);max=b0;min=b0;for(i=0;i<n;i+)if(max<bi)max=bi;if(min>bi)min=bi;s+=bi;s=s-max-min;s=s/(n-2);return s;void main()int i,j,m,n,p;printf("请输入参赛选手人数m和评委人数n:");scanf("%d%d",&m,&n);float a100,t,b100;for(i=1;i<=m;i+)ai=fun(n,i);printf("第%d个选手的最终得分为%fn",i,ai);for(i=1;i<=m;i+)bi=ai;for(i=1;i<m;i+)p=i;for(j=i+1;j<m+1;j+)if(bj>bp)p=j;t=bp;bp=bi;bi=t; printf("成绩排名:n");for(i=1;i<=m;i+)for(j=1;j<=m;j+)if(bi=aj)printf("第%d名:第%d个选手(成绩%f)n",i,j,bi);4.#include<stdio.h>int f1(int n) int i,m=1;for(i=1;i<=n;i+)m=m*i;return m;void main()int a,b,c,d,j,k;for(j=0;j<=7;j+)a=f1(j);for(k=0;k<=j;k+)b=f1(k);c=f1(j-k);d=a/(b*c);printf("%d ",d);printf("n");5.#include<stdio.h>void input(int a,int n)int i;printf("请输入10个整数:n");for(i=0;i<10;i+)scanf("%d",&ai);return;void sort(int a,int n)int i,j,k;for(j=1;j<=n-1;j+)for(i=0;i<=n-1-j;i+)if(ai<ai+1)k=ai;ai=ai+1;ai+1=k;return;void search(int a,int n,int x) int mid,top,bottom;bottom=0;top=n-1;while(bottom<=top)mid=(top+bottom)/2;if(x=amid)printf("%d位于表中第%d个数n",x,mid+1);break;else if(x>amid)top=mid-1;else bottom=mid+1;if(bottom>top) printf("查无此数!n");void main()int a10,i,b;input(a,10);printf("n该10个整数为:n");for(i=0;i<10;i+)printf("%d ",ai);sort(a,10);printf("n排序后:n");for(i=0;i<10;i+)printf("%d ",ai);printf("n请输入要查找的数:");scanf("%d",&b);search(a,10,b);6.#include<stdio.h>int day(int y,int m,int d)int k,l;int t213=0,31,28,31,30,31,30,31,31,30,31,30,31,0,31,29,31,30,31,30,31,31,30,31,30,31;l=y%4=0&&y%100!=0|y%400=0;for(k=1;k<m;k+)d+=tlk;return d;void main()int yy,mm,dd,d,w,s;printf("please input yy,mm,dd:n");scanf("%d%d%d",&yy,&mm,&dd);d=day(yy,mm,dd);s=yy-1+(yy-1)/4-(yy-1)/100+(yy-1)/400+d;w=s-7*(s/7);printf("%d-%d-%d:<%d>n",mm,dd,yy,w);7.#include<stdio.h>#include<math.h>float fun(float a,float b,float c,float d)float x=1,y,f1,f2;doy=x;f1=(a*y+b)*y+c)*y+d;f2=(3*a*y+2*b)*y+c;x=y-f1/f2;while(fabs(x-y)>=1e-5);return x;void main()float a,b,c,d;printf("n输入方程的系数a,b,c,d:n");scanf("%f,%f,%f,%f",&a,&b,&c,&d);printf("n方程是:%5.2fx3+%5.2fx2+%5.2fx+%5.2f=0",a,b,c,d);printf("nx=%10.7fn",fun(a,b,c,d);8.#include<stdio.h>int yue(int m,int n) int t,r; if(m<=0|n<=0)printf("输入错误!");elseif(m<n)t=m;m=n;n=t;r=m%n;while(r!=0)m=n;n=r;r=m%n;return n;int bei(int m,int n,int t)int s;s=(m*n)/t;return s;void main ()int m,n,t,s;printf("请输入两个正整数:");scanf("%d%d",&m,&n);t=yue(m,n); s=bei(m,n,t);printf("%d和%d的最大公约数是%d,最小公倍数是%d.n",m,n,t,s);实验八1.#include<stdio.h>void main() int a11=1,4,6,9,13,16,19,28,40,100; int t1,t2,n,e,i,j; printf("original array is:n"); for(i=0;i<10;i+) printf("%d ",ai); printf("n"); printf("insert a new number:"); scanf("%d",&n); e=a9; if(n>e) a10=n; else for(i=0;i<10;i+) if(ai>n) t1=ai; ai=n; for(j=i+1;j<11;j+) t2=aj; aj=t1; t1=t2; break; for(i=0;i<11;i+) printf("%d ",ai); printf("n");2.#define N 5#include<stdio.h>void main()int aN=8,6,5,4,1,i,t;printf("n original array:n");for(i=0;i<N;i+)printf("%4d",ai);for(i=0;i<N/2;i+)t=ai;ai=aN-i-1;aN-i-1=t;printf("nsorted array:n");for(i=0;i<N;i+)printf("%4d",ai);3.#include<stdio.h>void main()int x,mid,top,bottom,a15=1,2,3,4,5,6,7,8,11,14,35,68,70,87,99;printf("请输入要查找的数:");scanf("%d",&x);bottom=0;top=14;while(bottom<=top)mid=(top+bottom)/2;if(x<amid)top=mid-1;else if(x>amid)bottom=mid+1;else break;if(bottom<=top)printf("%d在数组中的下标为%dn",x,mid);else printf("查无此数!n");4.#include<stdlib.h>#include<stdio.h>#include<conio.h>void fun(char p1,char p2)int i,j;for(i=0;p1i!='0'i+);for(j=0;p2j!='0'j+)p1i+=p2j;p1i='0'void main()char s180,s240;system("CLS");printf("Enter s1 and s2:n");scanf("%s%s",s1,s2);printf("s1=%sn",s1);printf("s2=%sn",s2);printf("Invoke fun(s1,s2):n");fun(s1,s2);printf("After invoking:n");printf("%sn",s1);实验九1.#include<stdio.h>void main()char a10,b10,*t,*s;int i,j;printf("请给数组a和b赋值:n");gets(a);gets(b);printf("对应元素交换后数组a和b:n");for(t=a,s=b;*t!='0'&&*s!='0't+,s+)i=*t;*t=*s;*s=i;puts(a);printf("n");puts(b);printf("n");2.#include<stdio.h>void main()int a10,*s=a,i,max;printf("请输入整型数组的各个元素:n");for(i=0;i<10;i+)scanf("%d",s+i);for(i=0;i<10;i+)if(*(s+i)>max)max=*(s+i); printf("该整形数组的最大值为:%dn",max);3.#include<stdio.h>void fun(char *s)int i,j;for(i=j=0;si!='0'i+)if(si!='k')sj+=si;sj='0'void main()char s80;printf("nEnter a string:");gets(s);printf("The original string:");puts(s);fun(s);printf("The string after deleted:");puts(s);printf("n");4.#include<stdio.h>void sort(int ,int);void main()int i,a10;printf("input 10 numbers:n");for(i=0;i<10;i+)scanf("%d",&ai);sort(a,10);printf("the sorted numbers:n");for(i=0;i<10;i+)printf("%d ",ai);printf("n");void sort(int a,int n)int i,j,p,t;for(i=0;i<n-1;i+)p=i;for(j=i+1;j<n;j+)if(aj<ap)p=j;t=ap;ap=aj;aj=t;5.#include<stdio.h>#define N 10void main()int sN,*p=s,*min,*max,t1,t2;printf("输入十个整数(用空格分开):n");for(p=s;p<s+N;p+)scanf("%d",p);min=&s0;max=&sN

    注意事项

    本文(C语言程序设计基础实验与题解 答案(最新修改版).doc)为本站会员(文库蛋蛋多)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开