工学c程序设计语言实验初学写法包括自己当时写的Word文档格式.docx
《工学c程序设计语言实验初学写法包括自己当时写的Word文档格式.docx》由会员分享,可在线阅读,更多相关《工学c程序设计语言实验初学写法包括自己当时写的Word文档格式.docx(47页珍藏版)》请在冰豆网上搜索。
,i);
return0;
}
2.从键盘输入一个华氏温度,请转换成摄氏温度后输出。
请输入一个华氏温度:
12.34和华氏温度12.34度相对应的摄氏温度为-10.92度
第1页
程序设计语言实验指导书#include<
intmain(void)
floati,k;
"
%f"
i);
k=(i-32.0f)*(5.0f/9.0f);
度相对应的摄氏温度为:
%.2f\n"
k);
3.电路图如下所示,从键盘输入5个电阻的电阻值,计算并输出总的电阻值。
R2R4
R1R3R5
请输入r1、r2、r3、r4和r5(使用空格分隔):
1.12.23.34.45.5
总电阻R=0.89欧姆
intmain(void)
floatr1,r2,r3,r4,r5,k,i,j;
%f%f%f%f%f"
r1,&
r2,&
r3,&
r4,&
r5);
i=1/r3+1/(r4+r5);
j=1/r1+1/(r2+1/i);
k=1/j;
总电阻R=%.2f欧姆/n"
第2页
}
第3页
实验二分支结构程序设计实验目的:
1.掌握逻辑表达式的使用方法。
2.掌握if和switch语句的使用方法。
3.掌握一些简单的算法。
1.有下列函数,写一段程序,输入x的值,输出y的值
x(x<
1)
y=2x-1(1<
=x<
10)
3x-11(x>
=10)
X,-3X,1X,5X,10X,40Y,-3Y,1Y,9Y,19Y,109
inti,j,k;
X="
if(i<
j=i;
elseif(i<
j=2*i-1;
elseif(i>
j=3*i-11;
Y=%d\n"
j);
2.输入一个不超过6位的正整数,输出该数的最高位和最低位,如果该数是一位数,则输
出该数。
然后再输出该数是几位数。
程序需要对输入的数进行合法性检查,对小于0
和大于6位的数要有提示。
X,123X,2X,,2X,12345671,32ErrorErrorN,3N,1X<
0N>
6
第4页
inti,j,k,n;
if(i>
999999)
Error\n"
N>
6\n"
0)
X<
0\n"
{j=i,n=1;
%d\n"
N=%d\n"
n);
100)
{j=i/10,k=i%10,n=2;
1000)
{j=i/100,k=(i%100)%10,n=3;
10000)
{j=i/1000,k=((i%1000)%100)%10,n=4;
100000)
{j=i/10000,k=(((i%10000)%1000)%100)%10,n=5;
第5页
1000000)
{j=i/100000,k=((((i%100000)%10000)%1000)%100)%10,n=6;
3.输入一个0到100的百分制成绩,转换成五级制A、B、C、D和E。
程序中首先需要
对输入的数进行合法性检查,对小于0和大于100的数要有提示,然后转换部分使用
switch语句实现。
分数,85分数,-5分数,120
等级,B分数小于0,非法~分数大于100,非法~
intgrade,i;
输入一个0到100的百分制成绩:
分数=%d\n分数小于0,非法!
\n"
分数=%d\n分数大于100,非法!
=25)
grade=1;
=45)
grade=2;
=60)
grade=3;
=85)
第6页
grade=4;
=100)
grade=5;
switch(grade){
case1:
printf("
分数,%d\n等级,E\n"
break;
case2:
分数,%d\n等级,D\n"
case3:
分数,%d\n等级,C\n"
case4:
分数,%d\n等级,B\n"
case5:
分数,%d\n等级,A\n"
第7页
实验三循环结构程序设计一
实验目的:
1.掌握循环结构的使用方法。
2.掌握while和for语句的使用方法。
3.掌握程序单步调试的方法。
4.掌握一些简单的算法。
1.公式的计算
2010ix=N!
sum,isum,i(,1),,,i,i11
(1):
inti;
intsum=0;
for(i=1;
i<
=20;
++i)
sum=sum+i;
sum=%d\n"
sum);
(2):
inti,j=1,sum=0;
i<
=10;
++i)
j=j*(-1);
sum=sum+i*j;
(3):
第8页
程序设计语言实验指导书intmain(void)
inti,a,sum=1;
输入N="
a);
=a;
sum=sum*i;
X=%d\n"
2.输入最多10个整数,找出最大值、最小值,并计算平均值。
N,5
n1,1
n2,3
n3,5
n4,7
n5,9
Max=9
Min=1
Avg=5
#include<
inti,j,k,x,a[10];
floatn;
doubleavg;
整数个数:
n);
输入整数:
for(i=0;
n;
i++)
a[i]);
sum=sum+a[i];
avg=sum/n;
平均值为:
%f\n"
avg);
k=i;
for(j=i+1;
j<
j++)
第9页
if(a[j]<
a[k])
k=j;
if(i!
=k)
x=a[i];
a[i]=a[k];
a[k]=x;
Themax:
a[9]);
Themin:
a[0]);
3.输入一个不超过6位的正整数,分别输出该数的每一位,并用逗号分隔,如果该数是一位数,则输出该数。
程序需要对输入的数进行合法性检查,对小于0和大于6位的数要有提示。
X,123X,2X,,2X,12345671,2,32ErrorErrorX<
6N,3N,1
第10页
实验四
(1)循环结构程序设计二
1.掌握单重循环和多重循环结构的使用方法。
2.掌握程序单步调试的方法。
N
1.输入N,计算公式的值。
sum,[i,(i,1)],,1i
N=5sum=(1+2)+(2+3)+(3+4)+(4+5)+(5+6)=35
intn,sum=0,i;
sum="
=n-1;
sum=sum+(i+(i+1));
(%d+%d)+"
i,i+1);
(%d+%d)"
n,n+1);
sum=sum+n+(n+1);
=%d\n"
2.输入一个正整数n(1?
n?
200),输出所有的整数对,其相乘的积等于n。
N=20N=0N=300
ErrorError1*20=20第11页2*10=20
4*5=20
程序设计语言实验指导书#include<
intn,i;
输入一个正整数n(1<
=n<
=200):
if(n<
0||n==0)
Error"
elseif(n>
200)
0||n<
201)
;
if(n%i==0)
if(i==n/i||i>
n/i)
else
%d*%d=%d\n"
i,n/i,n);
3.编程打印数字金字塔。
N=3N=5
....1......1
...121.....121
..12321....12321
...1234321
..123454321
输入N(N>
0):
第12页
for(k=1;
k<
=n;
k++)
{printf("
.."
for(i=n-k;
i>
0;
i--)
."
for(j=1;
=k;
for(j=k-1;
j>
j--)
第13页
实验四
(2)循环结构程序设计三
1Ni
1.输入N,计算公式的值,其中N>
0。
sum,(i,j)),,,1,0ij
N=4sum=1+2+3+3+4+5+4+5+6+7=40
inti,j,k,n,sum=1;
sum=1\n"
for(i=2;
"
for(j=0;
i;
sum=sum+i+j;
+%d"
i+j);
=%d"
2.每个大于1的数的立方都可以表示成一连续奇数之和,试证实2到10的数都满足这样
第14页
的规律。
2(3)=83+5=83(3)=277+9+11=274(3)=641+3+5+7+9+11+13+15=645(3)=12521+23+25+27+29=125#include<
inti,k,sum,n;
输入数子N(1<
N<
11):
sum=n*n*n;
k=n*(n-1)+1;
%d(3)=%d"
n,sum);
{printf("
%d+"
k=k+2;
\b"
3.用牛顿迭代法求方程在下面方程在1.5附近的根:
322x-4x+3x-6=0
xn=1.5
x=nnn.nnn
y=f(nnn.nnn)=nnn
#include<
math.h>
floatx1,x0,f,f1;
x1=1.5;
do{x0=x1;
f=((2*x0-4)*x0+3)*x0-6;
f1=(6*x0-8)*x0+3;
x1=x0-f/f1;
}while(fabs(x1-x0)>
1e-3);
方程在1.5附近的根:
x=%lf\n"
x1);
第15页
第16页
实验五数组
1.掌握一维数组和二维数组的定义、赋值和输入输出的使用方法。
2.掌握与数组有关的算法。
1.输入n及n个整数(n<
20),然后按奇数升序、偶数降序排列输出。
N=6n1=1n2=90n3=85n4=2n5=10n6=18odd=185Even=9018102#include<
intn,t;
do{printf("
输入n(n<
20):
}while(n>
=20);
inta[n];
for(inti=0;
输入%d个整数:
for(intj=i+1;
if(a[i]>
a[j])
t=a[i];
a[i]=a[j];
a[j]=t;
odd="
if(a[i]%2!
=0)
第17页
%d"
a[i]);
Even="
for(intj=n;
=0;
if(a[j]%2==0)
a[j]);
2.输入一个日期,计算该天是该年的第几天。
Year=2007Month=1Day=15Thedayis15thdayofYear2007.#include<
inty,m,d,i,j,sum1=0,sum2=0,sum3;