大一C语言上机实验实验报告
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C语言程序设计》实验报告
指导教师纪良浩学院通信与信息工程专业通信类
班级0101022学号2010210722姓名曾小兵实验室S319
实验题目:
实验一:用选择法对10个整数进行由大到小的排序
实验二:判断闰年
实验三:求1到100的和
实验四:求π的近似值
实验要求:
1.掌握用C语言解决实际问题的步骤;
2.掌握C语言的语法规则及算法的表示;
3.通过上机实验,加深对《计算机程序设计基础》课程中基本概念的理解;
4.提高对计算机程序的编写和应用能力;
实验内容及步骤:
1.问题的提出与分析;
2.建立计算模型;
3.算法的确定与表示;
4.编写程序代码;
5.调试程序;
6.整理结果(实验结果及分析)。
具体实验步骤
实验一:实验步骤
1.问题的提出与分析
用选择法对10个整数进行由大到小的排序。
随意给出一年,判断其是否为闰年。
2.确定数学模型
闰年必为4的倍数且不是100的倍数,或是400的倍数。
3.程序编码
#include<stdio.h>
void main()
{
int year;
scanf("%d",&year);
if(year/4==0&&year/100!=0)
printf("%d is a leap year.\n",year);
3.算法:
t=1,pi=0,n=1,s=1
当∣t∣≥10
pi=pi+t
n=n+2
s=-s
t=s/n
pi=pi*4
输出pi
4.程序编码
#include<stdio.h>
#include<math.h>
void main()
{
int s;
float n,t,pi;
t=1;pi=0;n=1.0;s=1;
while(fabs(t)>1e-6)
for(i=1;i<=100;i++)sum+=i;
printf("%d\n",sum);
}
5.调试程序
经过上机调试,运行情况如下:
5050
6.整理结果
通过验算结果正确。
实验四:实验步骤
1.问题的提出与分析
怎样求无限不循环小数π的近似值。
2.确定数学模型
用公式:π/4≈1-1/3+1/5-1/7+…
{int i,j,k,t;
for(i=0;i<n-1;i++)
{k=i;
for(j=i+1;j<n;j++)
if(x[j]>x[k]) k=j;
if(k!=i)
{t=x[i];x[i]=x[k];x[k]=t;}
}
}
5.调试程序
Enter data
a[1]=10↙
a[2]=25↙
a[3]=45↙
a[4]=66↙
22010
2010is not a leap year.
6.整理结果
通过验算结果正确。
实验三:实验步骤
1.问题的提出与分析
从1一直加到100.
2.确定数学模型
3.算法
i=1
当i≤100
sum+=i
i=i+1
输出5050
4.程序编码
#include<stdio.h>
void main()
{
int i,sum=0;
a[5]=88↙
a[6]=110↙
a[7]=119↙
a[8]=114↙
a[9]=86↙
a[10]=886
102545668811011911486886
The sorted numbers:
886 119114110 888666452510
6.整理结果
通过验算结果正确。
实验二:实验步骤
1.问题的提出与分析
2.确定数学模型
a>b>c>d>e>f>j>h>i>k
3.算法
输入数组a各元素
for(i=1;i≤9;i++)
min=i
for(j=i+1;j≤10;j++)
T a[min]
>a[j] F
min=j
交换a[min]与a[j]
输出以排序的10个数
4.程序编码
#include<stdio.h>
void main()
else if(year/400==0)
printf("%d is a leap year.\n",year);
else printf("%d is not a leap year.\n",year);
}
5.调试程序
经过上机调试,运行情况如下:
Enter
12000
2000is a leap year.
{void sort(int x[ ],int n);
int*p,i,a[10];
p=a;
for(i=0;i<10;i++)
scanf("%d",p++);
p=a;
sort(p,10);
for(p=a,i=0;i<10;i++)
{printf("%d",* p);p++;}
}
void sort(int x[],int n)
{
pi=pi+t;
Βιβλιοθήκη Baidun=n+2;
s=-s;
t=s/n;
}
pi=pi*4;
printf("pi=%10.6f\n",pi);
}
5.调试程序
经过上机调试,运行情况如下:
Pi=3.141593
6.整理结果:
通过验算结果正确。
心得体会:
通过该实验,我对分支(if,if``else,if```else if```)和循环结构(for,while)的几种用法更加熟练,并掌握了函数的定义与调用,参数说明以及返回值使用。并对C程序设计有了总体的认识。
指导教师纪良浩学院通信与信息工程专业通信类
班级0101022学号2010210722姓名曾小兵实验室S319
实验题目:
实验一:用选择法对10个整数进行由大到小的排序
实验二:判断闰年
实验三:求1到100的和
实验四:求π的近似值
实验要求:
1.掌握用C语言解决实际问题的步骤;
2.掌握C语言的语法规则及算法的表示;
3.通过上机实验,加深对《计算机程序设计基础》课程中基本概念的理解;
4.提高对计算机程序的编写和应用能力;
实验内容及步骤:
1.问题的提出与分析;
2.建立计算模型;
3.算法的确定与表示;
4.编写程序代码;
5.调试程序;
6.整理结果(实验结果及分析)。
具体实验步骤
实验一:实验步骤
1.问题的提出与分析
用选择法对10个整数进行由大到小的排序。
随意给出一年,判断其是否为闰年。
2.确定数学模型
闰年必为4的倍数且不是100的倍数,或是400的倍数。
3.程序编码
#include<stdio.h>
void main()
{
int year;
scanf("%d",&year);
if(year/4==0&&year/100!=0)
printf("%d is a leap year.\n",year);
3.算法:
t=1,pi=0,n=1,s=1
当∣t∣≥10
pi=pi+t
n=n+2
s=-s
t=s/n
pi=pi*4
输出pi
4.程序编码
#include<stdio.h>
#include<math.h>
void main()
{
int s;
float n,t,pi;
t=1;pi=0;n=1.0;s=1;
while(fabs(t)>1e-6)
for(i=1;i<=100;i++)sum+=i;
printf("%d\n",sum);
}
5.调试程序
经过上机调试,运行情况如下:
5050
6.整理结果
通过验算结果正确。
实验四:实验步骤
1.问题的提出与分析
怎样求无限不循环小数π的近似值。
2.确定数学模型
用公式:π/4≈1-1/3+1/5-1/7+…
{int i,j,k,t;
for(i=0;i<n-1;i++)
{k=i;
for(j=i+1;j<n;j++)
if(x[j]>x[k]) k=j;
if(k!=i)
{t=x[i];x[i]=x[k];x[k]=t;}
}
}
5.调试程序
Enter data
a[1]=10↙
a[2]=25↙
a[3]=45↙
a[4]=66↙
22010
2010is not a leap year.
6.整理结果
通过验算结果正确。
实验三:实验步骤
1.问题的提出与分析
从1一直加到100.
2.确定数学模型
3.算法
i=1
当i≤100
sum+=i
i=i+1
输出5050
4.程序编码
#include<stdio.h>
void main()
{
int i,sum=0;
a[5]=88↙
a[6]=110↙
a[7]=119↙
a[8]=114↙
a[9]=86↙
a[10]=886
102545668811011911486886
The sorted numbers:
886 119114110 888666452510
6.整理结果
通过验算结果正确。
实验二:实验步骤
1.问题的提出与分析
2.确定数学模型
a>b>c>d>e>f>j>h>i>k
3.算法
输入数组a各元素
for(i=1;i≤9;i++)
min=i
for(j=i+1;j≤10;j++)
T a[min]
>a[j] F
min=j
交换a[min]与a[j]
输出以排序的10个数
4.程序编码
#include<stdio.h>
void main()
else if(year/400==0)
printf("%d is a leap year.\n",year);
else printf("%d is not a leap year.\n",year);
}
5.调试程序
经过上机调试,运行情况如下:
Enter
12000
2000is a leap year.
{void sort(int x[ ],int n);
int*p,i,a[10];
p=a;
for(i=0;i<10;i++)
scanf("%d",p++);
p=a;
sort(p,10);
for(p=a,i=0;i<10;i++)
{printf("%d",* p);p++;}
}
void sort(int x[],int n)
{
pi=pi+t;
Βιβλιοθήκη Baidun=n+2;
s=-s;
t=s/n;
}
pi=pi*4;
printf("pi=%10.6f\n",pi);
}
5.调试程序
经过上机调试,运行情况如下:
Pi=3.141593
6.整理结果:
通过验算结果正确。
心得体会:
通过该实验,我对分支(if,if``else,if```else if```)和循环结构(for,while)的几种用法更加熟练,并掌握了函数的定义与调用,参数说明以及返回值使用。并对C程序设计有了总体的认识。