(新)XX大学大一C语言程序设计实验室上机题全部代码答案(实验).docx
C语言实验报告实验1-1:helloworld程序:源代码:#include<stdio.h>main()(printf(uhelloworld!nr');SyStem("pause");实验1-2:完成3个数据的输入、求和并输出计算结果的程序:源代码:#include<stdio.h>main()(inti,j,k,sum;SCanf(”d%d%d”,&i,&j,&k);sum=i+j+k;Printf("sum=%dsum);SyStem("pause");实验l-3!在屏幕上输出如下图形:ABBBCCCCC源代码:#include<stdio.h>main()(printf("An");printf("BBBn");printf("CCCCCn");system("pause");实验2-1:计算由键盘输入的任何两个双精度数据的平均值源代码:#include<stdio.h>main()(doublea,b;scanf(,%lf%lf,a,<feb);printf(u%.1lfno,(a+b)2);system(opausen);实验2-2:写一个输入7个数据的程序,把输入的数据代入a+b*(c-d)e*f-g表达式进行运算源代码:#include<stdio.h>main()(floata,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(ox=%f*,x);SyStem("pause");实验2-3:编写一个C语言程序,测试下列各表达式:i+1J+1i÷÷,j+÷÷i,÷+ji+j源代码:#include<stdio.h>main()(iti=l,j=l;printf(u%d%dn",i+l,j+l);printf(,%d%dn",i+,j+);printf(u%d%dn",+i,+j);Printf("%dn",(i+)+(+j);SyStem("pause");实验2-4:输入存款金额money存期year和年利率rate,根据下列公式计算存款到期时的利息interest(税前),输出时保留2位小数。interest=money(1+rate)ycar-money源代码:#include<stdio.h>include<math.h>main()(intyear=2;floatrate=0.1,money=1000;floatfutureMoney;futureMoney=money*pow(1+rate),year);printf(u%10.2,futureMoney);SyStem("pause");实验2-5:输入华氏温度,输出对应的摄氏温度0计算公式如下:c=5*(f-32)9其中,c表示摄氏温度,f表示华氏温度源代码:#include<stdio.h>main()(intc,f;SCanfe%d”,&f);c=5(f-32)9;printf(,%d,c);system(f'pausen);实验3-1编写一个程序完成输入一个整数,输出它的符号源代码:#include<stdio.h>main()(inti;scanf('t%d't5i);if(i>0)Printf(”+");elsePrintlrJ);system(,pausen);实验3-2:请编写居民应交水费,并提供各种测试数据。居民应交水费y(元)与月用水量X(吨)的函数关系式如下:rOx<oy±f(x)=I4x30X152.5x-10.5x>15源代码:#include<stdio.h>main()(floatx,y;SCanf(”F',&x);if(x<0)printf(,'O,');elseif(x>=0&&x<=15)(y=4*x3;printf(%f,y);elseif(x>15)(y=2.5*x-10.5;printf(,'%,y);system(,pausen);实验3-3:请根据输入的学生成绩给出成绩等级的判断,判断规则如下:如果输入的成绩大于等于90,则输出优秀;如果输入的成绩小于90、大于等于80,则输出良好;如果输入的成绩小于80、大于等于70,则输出中等;如果输入的成绩小于70、大于等于60,则输出及格;其他输出不及格源代码:#include<stdio.h>main()(intx;SCanf("%d",&x);if(x>=9()PrintfC'优秀n");elseif(x>=80&&x<90)Printf("良好n");elseif(x>=70&&x<80)Printf("中等n");elseif(x>=60&&x<70)Pintfc及格n");elsePrintf("不及格n");system(,pausen);实验3-4:运输公司对用户计算运费。路程(三)越远,每公里运费越低。标准如下:s=250km没有折扣250ks<500km2%折扣5OOkms<1000km5%折扣1000kms<2000km8%折扣2000kms<3000km10%折扣3000kms15%折扣设每公里每吨货物的基本运费为p,货物重为W,距离为S,折扣为d,则总运费的计算公式为:f-p*w*s*(1-d)请编程实现:从犍盘输入基本运费P,货物重W,距离S,计算输出用户最终需要支付的运费源代码:#include<stdio.h>main()(intp,w,s,f;SCanfe%d%d%d”,&p,&w,&s);floatd;f=p*w*s*(1-d);if(s=250)(d=0;printf(%du,f);Ielseif(s>=25O&&s<5OO)d=0.02;printf("%d",D;)elseif(s>=5(X)&&s<1000)d=0.05;printf(,'%do,f);elseif(s>=l(XX)&&s<2000)(d=0.08;PrintfC,%d",f);elseif(s>=2000&&s<3000)d=O.l;Printf("%d",f);elseif(s>=3OOO)(d=O.15;Printf("%d",f);system(t,pausen);实验4-1:己知xyz+yzz=532,其中x、y、Z都是数字(09),编写一个程序求出x、y、Z分别代表什么数字源代码:#include<stdio.h>main()intx,y,z;for(x=l;xv=9;x+)for(y=1;y<=9;y+)for(z=1;z<=9;z+)if(l00*x+10*y+z+100*y+l0*z+z=532)printf(,%d%d%d,',x,y,z);SyStem("pause");实验4-2:编写一个程序打印如下对称图形(行数由键盘输入19范围的值),例如卜面是输入的数字4时的情形:4444444333332221222333334444444源代码:#include<stdio.h>main()(inti,j,k,n;Printf("请输入一个数字n");SCanf("%d",&n);i=n;for(i=0;i<2*n-l;i+)k=i;if(i>=n)k=2*n-2-i;for(j=0;j<k;j+)pri11tf(h'");for(j=0<2*(-k)-l;)+)printf("%d",n-k);printf("n");SyStem("pause”);实验4-3:学校有近千名学生,在操场上排队,5人一行余2人,7人一行余3人,3人一行余1人,编写一个程序求该校的学生人数源代码:#include<stdio.h>main()inti;for(i=900;i<=l100;i+)(if(i%5=2&&i%7=3&&i%3=1)(Printf("%drj);break;SyStem("pause”);实验4-4:学校某班A、B、C、D四位同学中的一位做了好事不留名,表扬信来了之后,班主任问这四位是谁做了好事,四位回答如下:A说:不是我。B说*是C<C说:是DOD说:他胡说。已知三个人说的是真话,一个人说的是假话。请根据这些信息,找出做了好事的人源代码:#include<stdio.h>main()(inti,j,a,b,c,d;for(i=0;i<=4;i+)forO=0;j<=4;j+)if(j=i)switch(j)case0:a=l;b=0;c=0;d=0;break;case1:a=0;b=1;c=0;d=0;break;case2:a=0;b=0;c=1;d=0;break;case3:a=0;b=0;c=0;d=l;break;default:break;if(a+b+c=1&&b+c=1&&c+d=1&&b+c+d=1)Printf(”做好事的人是%cni+宣);SyStem("pause");实验5-1:从键盘输入一个长度为N(比如10)的整型数组,而后将数组中小于零的元素移动到数组的前端,大于零的元素移到数组的后端,等于零的元素留在数组中间。比如原来数组为:2-5-89750-89093480,经过处理后的数组为:-5-89-890007593482。由于不要求数组有序,所以不允许用排序方法源代码:#include<stdio.h>#include<stdlib.h>#defineN10main()(intaN=2,-5,-89,75,0,-89,0,93,48,0;inti,t,j;for(i=O;i<N;i+)printf(,'%4d',ai);Printf("n");for(i=0;ivN;i+)r(j=i+lj<NJ+)(f(aU>OfeaLjJ<O)t=aij;aiaj=t;elseif(ai>O&&aj=O)t=ai;aiaj=t;Ielseif(ai=O&&a|j<0)t=ai;aiJ=ajLajj=t;for(i=0;i<N;i+)printf("%4d",ai);printf("n");system("pause");实验5-2:设数组a的定义如下:inta2O=2,4.6,8.O.I2,14,l6;己存入数组中的数据值己经按由小到大的顺序存放,现从键盘输入一个数据,把它