工程分析程序设计
机作业(七)
上机目的:练习 C语言的书写、循环和判断结构
1.编写程序实现摄氏度和华氏度的相互转换:
F =C *9 / 5 +32
#in clude
main ()
{
float c,f;
printf(”请输入摄氏温度:\n"); scan f("%f", &c);
f=c*9./5+32;
prin tf("%f\n",f);
}
2.打印出
6行杨辉三角形如下图:
1
6
10
4
10
#in clude
#defi ne M 10
void mai n()
{
int i,j,k, n;
n:");int a[M][M]; printf("请输入 scan f("%d",&n);
n:");
if(n< M-2)
{
for(i=0;i<=n+2;i++) for(j=0;j<=n+2;j++) a[i][j]=0;
a[0][1]=1;
for(i=1;i<=n +1;i++)
for(j=1;j<=i;j++) a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=1;i< n+1;i++)
{
for(k=0;k<20-3*i;k++) printf(” ");
for(j=1;j<=i;j++)
prin tf("%6d",a[i][j]);
prin tf("\n");
}
}
else
printf("输入的n值太大\n");
}
3. 求出数列2/1 , 3/2 , 5/3, 8/5,13/8,21/13…
3. 求出数列
2/1 , 3/2 , 5/3, 8/5,
13/8,
21/13…的前10项之和。
# in elude
mai n()
int i;
float n, sum;
n=1.;
sum=0;
for(i=1;i<=10;i++)
n=1/n+1;
sum+=n;
"C: \Pragra> FilesXlicrosoft Visual StudioXlyPro ject s\T002\J)ebug\7002.
请输
1
1
1
1
2
i
1
3
3
1
1
4
6
4
1
1
5
19
16
51
Press any
key to continue
printf("数列 2/1,3/2,5/3,8/5,13/8,21/13......的前 10 项和为:%f\n",sum);
'Q: \7P3\DebuE\T03. eze"
数列站:U 少的前10项和为:16.4丹9師
Pi'esK any key to can tin ue
4.输入若干实数,请编写程序用于统计每个正数和负数的个数。
# in clude void mai n()
int n ,i,d,m1,m2;
m1=m2=0;
printf("输入数据个数:”);
scan f("%d",&n);
for(i=1;i<=n ;i++)
printf("第 %d 个数:",i);
scan f("%d", &d);
if(d>0) m1++;
else if(d<0) m2++;
printf("正数个数为:%d,负数个数为:%d\n\n",m1,m2);
垂]*C:\704\Debug\T04-eze
議邃个数汚
-审 1 I -2
蟲个数:-4 嗪3木薮:7
魯个数⑵ 第5个数:-8
正数个数为■负数个数为唸
press any key to continue
5.从键盘上输入三条边长,判断是否能组成三角形。
#in clude void mai n()
float a,b,c;
prin tf("a,b,c:");
scan f("%f,%f,%f",&a,&b, &c);
if(a+b>c||a+c>b||b+c>a)
printf("a,b,c不能构成三角形\n”);
else
printf("a,b,c能构成三角形\n");
空 *C;\705\Debu€\Ta5,eze
a,h, c10
a,b,c^能构成三角形
Ppcss anv key to continue
输入某个点的坐标(a, b),判断该点是否位于圆心(x, y)、半径为r的圆内。
#in clude void mai n()
float x,y,r,a,b;
printf("输入圆心坐标:”);
scan f("%d,%d", &x,& y);
printf(”输入圆的半径:");
scan f("%d",&r);
printf(”输入某点坐标:");
scan f("%d,%d",&a,&b);
if((x-a)*(x-a)+(y-b)*(y-b)
printf("该点在圆