《C语言程序设计》实验报告
三亚学院理工分院
学号
1310750029
姓名:
边春晖
专业
软件1301
实验时间
2014年5 月23 日
节次
实验室名称
设备号
实验内容:
编写程序将一个十进制数值转化为二进制数值输出。
2、 输入一列数值,将他们原样输出,然后排序后由小到大输出,输出最大值最小值以及它们的平均值
实验目的:
掌握函数的定义及调用
掌握数组作为函数的参数
(一)实验题目:编写程序将一个十进制数值转化为二进制数值输出。
一、问题分析与设计:
将进制转化和输入模块单独作为俩个函数,主函数通过调用实现目的。
改程序中除了主函数还有input()输入函数模块和进制转化模块system()模块。通过参数的调用将各个函数联系起来使用。
主函数及输出
主函数及输出
函数的输入函数进制的转化
函数的输入
函数进制的转化
开始二、算法描述:
开始
结束system()Input() 程序流程图
结束
system()
Input()
输出
输出
三、程序代码:
#include
void system(int g,int sd[32]);
int input(int s);
int t;
void main()
{
int i,s,sd[32];//s保管输入的初始值
s=input(s);//调用输入函数
system(s,sd);//调用进制转化模块
for(i=0;i
{
printf("%d",sd[i]);
}
printf("\n");
}
void system(int g,int sd[32])//进制转换函数模块
{
int i=0,j,num;//num零时储存数值
while(g>=2)
{
sd[i]=g%2;
g=g/2;
i++;
}
sd[i]=g;
t=i+1;
for(i=0,j=t-1;i
{
num=sd[i];
sd[i]=sd[j];
sd[j]=num;
}
}
int input(int s)//函数输入模块
{
printf("请输入一个数值");
scanf("%d",&s);
return s;
}
四、实验结果及分析
调试程序
无错误。
2.测试程序
第一组测试数据:55.实验结果如下:
(二)、实验题目:输入一列数值,将他们原样输出,然后排序后由小到大输出,输出最大值最小值以及它们的平均值
一、问题分析与设计:
输入一列数值,将他们排序输出,并判断出最大值最小值将其输出,然后求出各自的平均值。程序中除了主函数还有输入输出子函数判断大小以及求平均值。
主函数
主函数
最大值最小值函数输出计算平均值排序输入函数
最大值最小值
函数输出
计算平均值
排序
输入函数
二、算法描述:
开始
开始
程序流程图
I
Input()
output(
output();
judge(
judge();
output(
output();
maxmin(
maxmin();
average(
average();
结束
结束
三、程序代码:
#include
#define oo 5
void input(int sd[100]);
void output(int sd[100]);
void judge(int sd[100]);
void maxmin(int sd[100]);
void average(int sd[100]);
int t;
void main() //主函数部分
{
int sd[100];
input(sd);
output(sd);
judge(sd);
output(sd);
maxmin(sd);
average(sd);
} //主函数终止
void input(int sd[100]) //函数的输入模块
{
int i;
printf("请输入一组数字");
for(i=0;i
scanf("%d",&sd[i]);
} //函数的输入模块结束
void output(int sd[100]) //函数的输出模块
{
int