资源描述
福州大学数学与计算机科学学院
《C语言程序设计》上机实验报告
专业和班级
10级 数学(2 )班
成绩
姓名
钟晓峰
学号
031001215
课程名称
C语言程序设计
实验名称
程序1:… …
程序2:… …
程序3:… …
实
验
目
的
和
要
求
1. 初步掌握C语言的基本调试过程,能发现问题,解决问题;
2. 能运用C语言进行简单的算术运算,注意格式输出;
3. 简要画出程序1、2、3的流程图,明确程序设计的目的。
程
序
设
计
的
流
程
图
程序1的流程图 程序2的流程图
程序3的流程图 程序4的流程图
程序5的流程图
程
序
设
计
步
骤
及
源
代
码
程序1:
#include<stdio.h>
#define PI 3.141593
void main()
{
float r,c,v;
printf("Please input r:\n");
scanf("%f",&r);
c=PI*r; /* PI和r之间必须有乘法运算符“*”*/
v=(1.0/2)*PI*r*r; /* 1/2的结果为0,而不是0.5 或者:v=1/2.0*PI*r*r; 或者:v=1.0/2.0*PI*r*r; 或者:v=PI*r*r/2; */
printf("c=%f,v=%f\n",c,v);
}
程序2:
#include<stdio.h>
void main()
{
int a,b;
float c; /*变量的定义要放在所有执行语句之前,不能插在执行语句中*/
printf("Please input 2 numbers:\n");
scanf("%d,%d",&a,&b);
if(b!=0)
{
c=(float)a/b; /* 为避免整型除整型丢失数据,应将被除数或除数中至少一个转换为浮点型。或者c=a/(float)b; 或者c=1.0*a/b */
printf("c=%f\n",c);
}
else
{
printf("The result is null!\n");
}
}
程序3:
#include<stdio.h>
void main()
{
float a,b,c,d,sum,aver;
printf("Input 4 scores:\n");
scanf("%f%f%f%f",&a,&b,&c,&d);
sum=a+b+c+d;
aver=sum/(float)4;
printf("sum=%.1f, aver=%.2f\n",sum,aver);
}
程序4:
#include <stdio.h>
void main()
{
int m,m1,m2,m3,sum;
printf("Input a number(100~999):\n");
scanf("%d",&m);
m1=m%10;
m2=(m/10)%10;
m3=m/100;
sum=m1+m2+m3;
printf("sum=%d\n",sum);
}
程序5:
#include <stdio.h>
void main()
{
int m,m1,m2,m3,mnew;
printf("Input a number(100~999):\n");
scanf("%d",&m);
m1=m%10;
m2=(m/10)%10;
m3=m/100;
mnew=m1*100+m2*10+m3;
printf("new m=%d\n",mnew);
}
研
究
与
探
讨
1. 你的感受。
2. 你的收获。
3. 你的困难。
4. 你的启示。
1. C31.C的功能是求半圆的周长和面积 。
#include<stdio.h>
#define PI 3.141593
void main()
{
float r=1,c,v;
c=PI*r; /* PI和r之间必须有乘法运算符“*”*/
v=1.0/2*PI*r*r; /* 1/2的结果为0,而不是0.5 或者:v=1/2.0*PI*r*r; 或者:v=1.0/2.0*PI*r*r; 或者:v=PI*r*r/2; */
printf("c=%f v=%f\n",c,v);
}
2. C32.C的功能是求两个整数的商。
#include<stdio.h>
void main()
{
int a,b;
float c; /*变量的定义要放在所有执行语句之前,不能插在执行语句中*/
a=10; b=3;
c=(float)a/b; /* 为避免整型除整型丢失数据,应将被除数或除数中至少一个转换为浮点型。或者c=a/(float)b; 或者c=1.0*a/b */
printf("%f\n",c);
}
3.编写程序C33.C:实现《指导》P35实验3.2-3(求4个成绩的总分和平均分,其中平均分输出时取小数点后两位数字)。
#include<stdio.h>
void main()
{
float a,b,c,d,sum,aver;
printf("Input 4 scores: ");
scanf("%f%f%f%f",&a,&b,&c,&d);
sum=a+b+c+d;
aver=sum/4.0;
printf("sum=%.2f, aver=%.2f",sum,aver);
}
4.编写程序C34.C:输入一个三位数,计算并输出其各位数字之和。如输入123,输出6。
#include <stdio.h>
void main()
{
int m,m0,m1,m2,sum;
printf("Input a number(100~999): ");
scanf("%d",&m);
m0=m%10; m1=(m/10)%10; m2=m/100;
sum=m0+m1+m2;
printf("sum=%d\n",sum);
}
5.改写上题程序,另存为C35.C:输入一个三位数,将其按逆序转换为新的数后输出。如输入127,输出721。
#include <stdio.h>
void main()
{
int m,m0,m1,m2,mnew;
printf("Input a number(100~999): ");
scanf("%d",&m);
m0=m%10; m1=(m/10)%10; m2=m/100;
mnew=m0*100+m1*10+m2;
printf("new m=%d\n",mnew);
}
展开阅读全文