程序设计及参考答案(模拟一) (1)

  • 格式:doc
  • 大小:20.00 KB
  • 文档页数:3

1: 输入任意的三角形的三条边(a,b,c),如果输入的三条边不能构成三角形,给出提示错误信息并退出,如果构成三角形,则输出三角形的面积(结果保留两位小数)和周长。

假设a=5,b=8,c=7;将结果复制到下面文本框中。

提示:借助于海伦公式。

(15分)(15分)
#include<stdio.h>
#include<math.h> void main() { float a,b,c,p,are,per;
printf ("请输入任意的三角形的三条边:");
scanf ("%f%f%f",&a,&b,&c);
if (a+b>c && a+c>b && b+c>a)
{
per=a+b+c;
p=per/2.0;
are=sqrt(p*(p-a)*(p-b)*(p-c));
printf ("周长: %.2f\t 面积: %.2f\n",per,are);
}
else
printf ("输入的三个数据组不成三角形\n");
}
2:编写程序,计算下面数列的和,当第一次出现的和值能被7整除且大于1000时求和终止并输出结果。

1*3,3*5,5*7,7*9,……,(2*n-1)*(2*n+1) …… (15分)
#include <stdio.h>
void main()
{
int n=1,sum=0;
for(n=1;n<9999;n++)
{
sum=sum+(2*n-1)*(2*n+1);
if(sum%7==0 && sum>1000) break;
}
printf("和值能被7整除且大于1000时的结果:%d\n",sum);
}
3:设计一个过程(函数或子程序):计算n!=1×2×3×…×n 。

用主调函数过程调用这个过程并 计算n=20时的值 (20分)
海伦公式: s=根号下(p (p-a )(p-b )(p-c )) p=(a+b+c )/2 a 、b 、c 为三角形三边长 在使用C 语言标准库函数提供的函数时需要在程序前加入命令行“#include<math.h>”
#include<stdio.h>
int jiecheng(int n);
void main()
{
int n;
printf ("请输入一个正整数:");
scanf("%d",&n);
printf ("%d的阶乘是: %d\n",n,jiecheng(n));
}
int jiecheng(int n)
{
int i, m=1;
for(i=1; i<=n; i++)
m=m*i;
return m;
}
4:由程序随机产生一个一维数组,并且使每个数组元素n为10到100之间的正整数,把小于所有元素平均值的数据存放到一个新的一维数组中输出之。

(20分)
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void main()
{
int i,j=0,a[10],b[10];
double c=0.0;
srand((unsigned)time(NULL));
printf("产生的随机数组是:\n");
for(i=0;i<10;i++)
{
a[i]=rand()%90+10;
printf(" %d ",a[i]);
c+=a[i];
}
c=c/10;
printf("\n新的数组为:\n");
for(i=0;i<10;i++)
{
if(a[i]<c)
{
b[j]=a[i];
printf(" %d ",b[j]);
j++;
}
}
printf("\n");
}。