您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 大学大一c语言程序设计实验室上机题全部代码答案(实验报告)
C语言实验报告实验1-1:helloworld程序:源代码:#includestdio.hmain(){printf(helloworld!\n);system(pause);}实验1-2:完成3个数据的输入、求和并输出计算结果的程序:源代码:#includestdio.hmain(){inti,j,k,sum;scanf(%d%d%d,&i,&j,&k);sum=i+j+k;printf(sum=%d,sum);system(pause);实验1-3:在屏幕上输出如下图形:ABBBCCCCC源代码:#includestdio.hmain(){printf(A\n);printf(BBB\n);printf(CCCCC\n);system(pause);}实验2-1:计算由键盘输入的任何两个双精度数据的平均值源代码:#includestdio.hmain(){doublea,b;scanf(%lf%lf,&a,&b);printf(%.1lf\n,(a+b)/2);system(pause);}实验2-2:写一个输入7个数据的程序,把输入的数据代入a+b*(c–d)/e*f–g表达式进行运算源代码:#includestdio.hmain(){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(x=%f,x);system(pause);}实验2-3:编写一个C语言程序,测试下列各表达式:i,ji+1,j+1i++,j++++i,++ji+++++j源代码:#includestdio.hmain(){inti=1,j=1;printf(%d%d\n,i+1,j+1);printf(%d%d\n,i++,j++);printf(%d%d\n,++i,++j);printf(%d\n,(i++)+(++j));system(pause);}实验2-4:输入存款金额money,存期year和年利率rate,根据下列公式计算存款到期时的利息interest(税前),输出时保留2位小数。interest=money(1+rate)year-money源代码:#includestdio.h#includemath.hmain(){intyear=2;floatrate=0.1,money=1000;floatfutureMoney;futureMoney=money*pow((1+rate),year);printf(%10.2f,futureMoney);system(pause);}实验2-5:输入华氏温度,输出对应的摄氏温度。计算公式如下:c=5*(f-32)/9其中,c表示摄氏温度,f表示华氏温度源代码:#includestdio.hmain(){intc,f;scanf(%d,&f);c=5*(f-32)/9;printf(%d,c);system(pause);}实验3-1:编写一个程序完成输入一个整数,输出它的符号源代码:#includestdio.hmain(){inti;scanf(%d,&i);if(i0)printf(+);elseprintf(-);system(pause);}实验3-2:请编写居民应交水费,并提供各种测试数据。居民应交水费y(元)与月用水量x(吨)的函数关系式如下:0x0y=f(x)=4x/30≤x≤152.5x–10.5x15源代码:#includestdio.hmain(){floatx,y;scanf(%f,&x);if(x0)printf(0);elseif(x=0&&x=15){y=4*x/3;printf(%f,y);}elseif(x15){y=2.5*x-10.5;printf(%f,y);}system(pause);}实验3-3:请根据输入的学生成绩给出成绩等级的判断,判断规则如下:如果输入的成绩大于等于90,则输出优秀;如果输入的成绩小于90、大于等于80,则输出良好;如果输入的成绩小于80、大于等于70,则输出中等;如果输入的成绩小于70、大于等于60,则输出及格;其他输出不及格源代码:#includestdio.hmain(){intx;scanf(%d,&x);if(x=90)printf(优秀\n);elseif(x=80&&x90)printf(良好\n);elseif(x=70&&x80)printf(中等\n);elseif(x=60&&x70)printf(及格\n);elseprintf(不及格\n);system(pause);}实验3-4:运输公司对用户计算运费。路程(s)越远,每公里运费越低。标准如下:s=250km没有折扣250km≤s500km2%折扣500km≤s1000km5%折扣1000km≤s2000km8%折扣2000km≤s3000km10%折扣3000km≤s15%折扣设每公里每吨货物的基本运费为p,货物重为w,距离为s,折扣为d,则总运费的计算公式为:f=p*w*s*(1–d)请编程实现:从键盘输入基本运费p,货物重w,距离s,计算输出用户最终需要支付的运费源代码:#includestdio.hmain(){intp,w,s,f;scanf(%d%d%d,&p,&w,&s);floatd;f=p*w*s*(1-d);if(s=250){d==0;printf(%d,f);}elseif(s=250&&s500){d==0.02;printf(%d,f);}elseif(s=500&&s1000){d==0.05;printf(%d,f);}elseif(s=1000&&s2000){d==0.08;printf(%d,f);}elseif(s=2000&&s3000){d==0.1;printf(%d,f);}elseif(s=3000){d==0.15;printf(%d,f);}system(pause);}实验4-1:已知xyz+yzz=532,其中x、y、z都是数字(0~9),编写一个程序求出x、y、z分别代表什么数字源代码:#includestdio.hmain(){intx,y,z;for(x=1;x=9;x++)for(y=1;y=9;y++)for(z=1;z=9;z++)if(100*x+10*y+z+100*y+10*z+z==532)printf(%d%d%d,x,y,z);system(pause);}实验4-2:编写一个程序打印如下对称图形(行数由键盘输入1~9范围的值),例如下面是输入的数字4时的情形:4444444333332221222333334444444源代码:#includestdio.hmain(){inti,j,k,n;printf(请输入一个数字\n);scanf(%d,&n);i=n;for(i=0;i2*n-1;i++){k=i;if(i=n)k=2*n-2-i;for(j=0;jk;j++)printf();for(j=0;j2*(n-k)-1;j++)printf(%d,n-k);printf(\n);}system(pause);}实验4-3:学校有近千名学生,在操场上排队,5人一行余2人,7人一行余3人,3人一行余1人,编写一个程序求该校的学生人数源代码:#includestdio.hmain(){inti;for(i=900;i=1100;i++){if(i%5==2&&i%7==3&&i%3==1){printf(%d\n,i);break;}}system(pause);}实验4-4:学校某班A、B、C、D四位同学中的一位做了好事不留名,表扬信来了之后,班主任问这四位是谁做了好事,四位回答如下:A说:不是我。B说:是C。C说:是D。D说:他胡说。已知三个人说的是真话,一个人说的是假话。请根据这些信息,找出做了好事的人源代码:#includestdio.hmain(){inti,j,a,b,c,d;for(i=0;i=4;i++){for(j=0;j=4;j++)if(j==i)switch(j){case0:a=1;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=1;break;default:break;}if(a+b+c==1&&b+c==1&&c+d==1&&b+c+d==1)printf(做好事的人是%c\n,i+'a');}system(pause);}实验5-1:从键盘输入一个长度为N(比如10)的整型数组,而后将数组中小于零的元素移动到数组的前端,大于零的元素移到数组的后端,等于零的元素留在数组中间。比如原来数组为:2-5-89750-89093480,经过处理后的数组为:-5-89-890007593482。由于不要求数组有序,所以不允许用排序方法源代码:#includestdio.h#includestdlib.h#defineN10main(){inta[N]={2,-5,-89,75,0,-89,0,93,48,0};inti,t,j;for(i=0;iN;i++)printf(%4d,a[i]);printf(\n);for(i=0;iN;i++){for(j=i+1;jN;j++){if(a[i]0&&a[j]0){t=a[i];a[i]=a[j];a[j]=t;}elseif(a[i]0&&a[j]==0){t=a[i];a[i]=a[j];a[j]=t;}elseif(a[i]==0&&a[j]0){t=a[i];a[i]=a[j];a[j]=t;}}}for(i=0;iN;i++)printf(%4d,a[i]);printf(\n);system(pause);}实验5-2:设数组a的定义如下:inta[20]={2,4,6,8,10,12,14,16};已存入数组中的数据值已经按由小到大的顺序存放,现从键盘输入一个数据,把它插入到数组中,要求插入新数据以后,数组数据仍然保持有序。请编写一个程序实现上述功能源代码:#includestdio.hmain(){inta[9]={2,4,6,8,10,12,14,16};inti,j,number;printf(原数组\n);for(i=0;i=8;i++)//输出数组原有的元素printf(%d,a[i]);printf(\n);printf(请输入一个数据\n);scanf(%d,&number);i=0;//以下三行找到插入位置while(a[i]number&&i8)i++;for(j=7;j=i;j--)//将插入点以后的元素顺序往后移一位a[j+1]=a[j];a[i]=number;//插入数据printf(输出改变后的数组\n);for(i=0;i=8;i++)//输出插入后仍有序的数组printf(%d,a[i]);system(pause);}实验5-3:写一个3x5矩阵的转置程序,输出其原矩阵的值和转置以后的结果源代码:#includestdio.h#includestdlib.hmain(){inti,j;inta[3][5]={1,2,3,4,5,6,7,8,9,4,5,6,7,8,9};for(i=0;i3;i++){for(j=0;j5;j++)printf(%d,a[i][j]);printf(\n);}printf(转置后的矩阵为\n);for(i=0;i5;i++){for(j=0;j3;j++)printf(%d,a[j][i]);printf(\n);}system(pause);
本文标题:大学大一c语言程序设计实验室上机题全部代码答案(实验报告)
链接地址:https://www.777doc.com/doc-5709500 .html