实验三 顺序结构程序设计
实验三 顺序结构程序设计
一、实验目的和要求:
1. 掌握顺序结构程序的设计思想,以及程序执行的特点;
2. 掌握常量和变量的定义方法。
二、实验内容:
教材P80 第1、2、4、6、7题。
三、实验步骤与结果
1.教材P80 第1题
(1)设计思路
使用数学库,计算百分比
(2)程序源码(加注释)
#include<stdio.h>
#include <math.h> //应用数学库
int main()
{
float p, r, n; //定义数据类型
r = 0.07; //数据赋值
n = 10; //数据赋值
p = pow(1 + r, n); //计算百分比
printf("10年后我国国民生产总值与现在相比增长%f百分比\n", p);
return 0; //返回0
}
(3)运行结果与分析
2.教材P80 第2题
(1)设计思路
使用数学库,计算百分比
(2)程序源码(加注释)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int money = 1000, n = 5; //定义初始存款和年数
double r0 = 0.0035, r1 = 0.015, r2 = 0.021, r3 = 0.0275, r5 = 0.03; //定义各档利率
double p1, p2, p3, p4, p5; //定义各档本息和并计算
p1 = money * (1 + n * r5);
p2 = (money * (1 + 2 * r2)) * (1 + 3 * r3);
p3 = (money * (1 + 3 * r3)) * (1 + 2 * r2);
p4 = money * pow(1 + r1, 5);
p5 = money * pow((1 + r0 / 4), 4 * n);
printf("%lf %lf %lf %lf %lf\n", p1, p2, p3, p4, p5);
system("pause");
return 0;
}
(3)运行结果与分析
4.教材P80 第4题
(1)设计思路
就是不同的转义不同的输出
(2)程序源码(加注释)
4.1 %c是输出字符类型的数据
#include<stdio.h>
int main()
{
char c1,c2;
c1=97;
c2=98;
printf("c1=%c,c2=%c\n",c1,c2);
printf("c1=%d,c2=%d\n",c1,c2);
return 0;
}
4.2
c1=197;
c2=198;
改动后输出结果有变化,是因为定义的整型数据已经超过标准ASCII码0~127的范围
4.3将第3行改为
Int c1,c2;
运行结果与原程序一样,是因为字符类型也属于整型类型,因此将一个字符赋给字符变量和将字符的ASCII码赋给字符变量作用是完全相同的。但应注意,整型数据应在0~127的范围内
(3)运行结果与分析
4.1
4.2
4.3
6.教材P81 第6题
(1)设计思路
动态分配内存,运用指针,模块化的使用参数
(2)程序源码(加注释)
#include <stdio.h>
#include <stdlib.h>
void input(char *p);
void complie(char *p);
int main()
{
char *password=(char*)malloc(30*sizeof(char)); //动态分配内存大小
input(password); //输入参数
complie(password);
system("pause"); //停止分配
return 0;
}
void input(char *p) //模块化 承接输入的参数到指针
{
printf("请输入单词: ");
scanf("%s", p);
}
void complie(char *p)
{
char *s;
for(s=p; *s!='\0'; s++)
*s+=4; //经过判断符合要求的输入字符,进行依次变动
printf("result: %s\n", p);
}(3)运行结果与分析
7.教材P81 第7题
(1)设计思路
定义特殊值,使用数学公式,输出注意小数点要求
(2)程序源码(加注释)
#include<stdio.h>
#define PI 3.141526 //定义特殊值
void main()
{
double h,r,l,s,rs,rv,hv;
printf("请输入半径r:,圆柱高h:");
scanf("%lf %lf",&r,&h);
l=2*PI*r;
s=PI*r*r;
rs=4*PI*r*r;
rv=(4.0*PI*r*r*r)/3.0;
hv=r*PI*r*h;
printf("圆周长为:l=%6.2lf\n",l); // 限定输出的小数位
printf("圆面积为:s=%6.2lf\n",s);
printf("圆球表面积为:rs=%6.2lf\n",rs);
printf("圆球体积为:rv=%6.2lf\n",rv);
printf("圆柱体积为:hv=%6.2lf\n",hv);
}
(3)运行结果与分析
4.教材P80 第4题
(1)设计思路
使用数学库,计算百分比
(2)程序源码(加注释)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int money = 1000, n = 5; //定义初始存款和年数
//定义各档利率
double r0 = 0.0035, r1 = 0.015, r2 = 0.021, r3 = 0.0275, r5 = 0.03;
//定义各档本息和并计算
double p1, p2, p3, p4, p5;
p1 = money * (1 + n * r5);
p2 = (money * (1 + 2 * r2)) * (1 + 3 * r3);
p3 = (money * (1 + 3 * r3)) * (1 + 2 * r2);
p4 = money * pow(1 + r1, 5);
p5 = money * pow((1 + r0 / 4), 4 * n);
printf("%lf %lf %lf %lf %lf\n", p1, p2, p3, p4, p5);
system("pause");
return 0;
}
(3)运行结果与分析
四、实验总结与心得
总结:
1,自己一定要先有一个大致的框架
2,然后就是运用自己会的语句
3,不会的要自己弄懂
心得:
1,不会模块化和动态函数慢慢的去理解
2,多使用它的功能,敢于使用,不断的突破
3,编程一定要自己多敲