admin 管理员组文章数量: 1184232
2024年3月10日发(作者:documentary怎么读英语)
C语言实验报告
实验1-1:
hello world程序:
源代码:
#include
main()
{
printf("hello world!n");
system("pause");
}
实验1-2:
完成3个数据的输入、求和并输出计算结果的程序:
源代码:
#include
main()
{
int i,j,k,sum;
scanf("%d%d%d",&i,&j,&k);
sum=i+j+k;
printf("sum=%d",sum);
system("pause");
实验1-3:
在屏幕上输出如下图形:
A
BBB
CCCCC
源代码:
#include
main()
{
printf(" An");
printf(" BBBn");
printf(" CCCCCn");
system("pause");
}
实验2-1:
计算由键盘输入的任何两个双精度数据的平均值
源代码:
#include
main()
{
double a,b;
scanf("%lf%lf",&a,&b);
printf("%.1lfn",(a+b)/2);
system("pause");
}
实验2-2:
写一个输入7个数据的程序,把输入的数据代入a + b * (c – d ) / e * f – g 表达式进行运算
源代码:
#include
main()
{
float a,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, j
i + 1 , j + 1
i++ , j++
++i , ++j
i+++++j
源代码:
#include
main()
{
int i=1,j=1;
printf("%d %dn",i+1,j+1);
printf("%d %dn",i++,j++);
printf("%d %dn",++i,++j);
printf("%dn",(i++)+(++j));
system("pause");
}
实验2-4:
输入存款金额money,存期year和年利率rate,根据下列公式计算存款到期时的利息interest
(税前),输出时保留2位小数。
interest = money(1+rate)
year
- money
源代码:
#include
#include
main()
{
int year=2;
float rate=0.1,money=1000;
float futureMoney;
futureMoney=money*pow((1+rate),year);
printf("%10.2f",futureMoney);
system("pause");
}
实验2-5:
输入华氏温度,输出对应的摄氏温度。计算公式如下:
c = 5 * ( f - 32) / 9
其中,c表示摄氏温度,f表示华氏温度
源代码:
#include
main()
{
int c,f;
scanf("%d",&f);
c = 5 * ( f - 32) / 9;
printf("%d",c);
system("pause");
}
实验3-1:
编写一个程序完成输入一个整数,输出它的符号
源代码:
#include
main()
{
int i;
scanf("%d",&i);
if(i>0)
printf("+");
else
printf("-");
system("pause");
}
实验3-2:
请编写居民应交水费,并提供各种测试数据。
居民应交水费y(元)与月用水量x(吨)的函数关系式如下:
0 x < 0
y = f(x) = 4x / 3 0 ≤ x ≤ 15
2.5x – 10.5 x > 15
源代码:
#include
main()
{
float x,y;
scanf("%f",&x);
if(x<0)
printf("0");
else if(x>=0&&x<=15)
{
y=4*x/3;
printf("%f",y);
}
else if(x>15)
{
y=2.5*x-10.5;
printf("%f",y);
}
system("pause");
}
实验3-3:
请根据输入的学生成绩给出成绩等级的判断,判断规则如下:
如果输入的成绩大于等于90,则输出优秀;
如果输入的成绩小于90、大于等于80,则输出良好;
如果输入的成绩小于80、大于等于70,则输出中等;
如果输入的成绩小于70、大于等于60,则输出及格;
其他输出不及格
源代码:
#include
main()
{
int x;
scanf("%d",&x);
if (x>=90)
printf("优秀n");
else if (x>=80&&x<90)
printf("良好n");
else if (x>=70&&x<80)
printf("中等n");
else if (x>=60&&x<70)
printf("及格n");
else
printf("不及格n");
system("pause");
}
实验3-4:
运输公司对用户计算运费。路程(s)越远,每公里运费越低。标准如下:
s = 250km 没有折扣
250km ≤ s < 500km 2%折扣
500km ≤ s < 1000km 5%折扣
1000km ≤ s < 2000km 8%折扣
2000km ≤ s < 3000km 10%折扣
3000km ≤ s 15%折扣
设每公里每吨货物的基本运费为p,货物重为w,距离为s,折扣为d,则总运费的计
算公式为:
f = p * w * s * ( 1 – d )
请编程实现:从键盘输入基本运费p,货物重w,距离s,计算输出用户最终需要支付
的运费
源代码:
#include
main()
{
int p,w,s,f;
scanf("%d%d%d",&p,&w,&s);
float d;
f = p * w * s * ( 1 - d );
if (s=250)
{
d==0;
printf("%d",f);
}
else if (s>=250&&s<500)
{
d==0.02;
printf("%d",f);
}
else if (s>=500&&s<1000)
{
d==0.05;
printf("%d",f);
}
else if (s>=1000&&s<2000)
{
d==0.08;
printf("%d",f);
}
else if (s>=2000&&s<3000)
{
d==0.1;
printf("%d",f);
}
else if (s>=3000)
{
d==0.15;
printf("%d",f);
}
system("pause");
}
实验4-1:
已知xyz + yzz = 532,其中x、y、z都是数字(0~9),编写一个程序求出x、y、z分别代表
什么数字
源代码:
#include
main()
{
int x,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时的情形:
4444444
33333
222
1
222
33333
4444444
源代码:
#include
main()
{
int i,j,k,n;
printf("请输入一个数字n");
scanf("%d",&n);
i=n;
for(i=0;i<2*n-1;i++)
{
k=i;
if(i>=n)
k=2*n-2-i;
for(j=0;j printf(" "); for(j=0;j<2*(n-k)-1;j++) printf("%d",n-k); printf("n"); } system("pause"); } 实验4-3: 学校有近千名学生,在操场上排队,5人一行余2人,7人一行余3人,3人一行余1人, 编写一个程序求该校的学生人数 源代码: #include main() { int i; for(i=900;i<=1100;i++) { if(i%5==2&&i%7==3&&i%3==1) { printf("%dn",i); break; } } system("pause"); } 实验4-4: 学校某班A、B、C、D四位同学中的一位做了好事不留名,表扬信来了之后,班主任问这 四位是谁做了好事,四位回答如下: A说:不是我。 B说:是C。 C说:是D。 D说:他胡说。 已知三个人说的是真话,一个人说的是假话。请根据这些信息,找出做了好事的人 源代码: #include main() { int i,j,a,b,c,d; for(i=0;i<=4;i++) { for(j=0;j<=4;j++) if(j==i) switch(j) { case 0:a=1;b=0;c=0;d=0; break; case 1:a=0;b=1;c=0;d=0; break; case 2:a=0;b=0;c=1;d=0; break; case 3: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("做好事的人是%cn",i+'a'); } system("pause"); } 实验5-1: 从键盘输入一个长度为N(比如10)的整型数组,而后将数组中小于零的元素移动到数组 的前端,大于零的元素移到数组的后端,等于零的元素留在数组中间。比如原来数组为:2 -5 -89 75 0 -89 0 93 48 0,经过处理后的数组为:-5 -89 -89 0 0 0 75 93 48 2。由于不要求数组有 序,所以不允许用排序方法 源代码: #include #include #define N 10 main() { int a[N]={2,-5,-89,75,0,-89,0,93,48,0}; int i,t,j; for(i=0;i printf("%4d",a[i]); printf("n"); for(i=0;i { for(j=i+1;j { if(a[i]>0&&a[j]<0) { t=a[i]; a[i]=a[j]; a[j]=t; } else if(a[i]>0&&a[j]==0) { t=a[i]; a[i]=a[j]; a[j]=t; } else if(a[i]==0&&a[j]<0) { t=a[i]; a[i]=a[j]; a[j]=t; } } } for(i=0;i printf("%4d",a[i]); printf("n"); system("pause"); } 实验5-2: 设数组a的定义如下: int a[20] = {2,4,6,8,10,12,14,16}; 已存入数组中的数据值已经按由小到大的顺序存放,现从 键盘输入一个数据,把它插入到数组中,要求插入新数据以后,数组数据仍然保持有序。请 编写一个程序实现上述功能 源代码: #include main() { int a[9]={2,4,6,8,10,12,14,16}; int i,j,number; printf("原数组n"); for(i=0;i<=8;i++)//输出数组原有的元素 printf("%d ",a[i]); printf("n"); printf("请输入一个数据n"); scanf("%d",&number); i=0;//以下三行找到插入位置
版权声明:本文标题:大学大一c语言程序设计实验室上机题全部代码答案(实验报告) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1710007098a553359.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论