第八章 C语言习题及答案(第八章)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8-1 编写程序,将10个数34,3,29,63,70,16,85,82,90,93存放于一组数组中,求出这十个数的和及平均值。
解:#include "stdio.h"
void main()
{
int a[10]={34,3,29,63,70,16,85.82,90,93};
int i ,sum=0;
float average ;
for(i=0;i<10;i++)
{
sum=sum+a[i] ;
}
average=sum/10.0;
printf("sum=%d,average=%f\n",sum,average);
}
运行结果:sum=565,average=56.5000
思考:数组有何特点?此问题如果不用数组进行处理将会怎样?
8-2 编写程序,求存放于上题数组中10个数的最大值,最小值及所在的位置。
解:#include "stdio.h"
void main()
{
int a[10]={34,3,29,63,70,16,85,82,90,93};
int i,sum,max,min,d_max,d_min;
max=min=a[0];
d_max=d_min=0;
for(i=1;i<10;i++)
{
if(a[i]>max) {max=a[i];d_max=i;}
if(a[i] } printf("max=%d,a[%d]\n",max,d_max); printf("min=%d,a[%d]\n",min,d_min); } 运行结果:max=93,a[9] Min=3,a[1] 思考:数组a[i]中i的变化意味着什么? 8-3 编写程序,从键盘读入50个数存放于一数组中,求出该数组中最大值、最小值及所在位置。 解:#include "stdio.h" void main() { float a[50],max,min; int i,d_max,d_min; for(i=0;i<50;i++) scanf("%f",&a[i]); max=min=a[0]; d_max=d_min=0; for(i=1;i<50;i++) { if(a[i]>max) {max=a[i];d_max=i;} if(a[i] } printf("max=%d,a[%d]\n",max,d_max); printf("min=%d,a[%d]\n",min,d_min); } 思考:此题中不用数组也可以处理吗?如果可以,区别之处在哪里?8-4将存放于上题数组中的50个数分别按升序,降序排序。 解:#include "stdio.h" #define N 50 void main() { float a[N] ,t; int i,j; for(i=0;i scanf("%f",&a[i]); /*按升序排序*/ for(i=0;i { for(j=i;j if(a[i]>a[j]) {t=a[i];a[i]=a[j];a[j]=t;} printf("%8.2f",a[i]); } printf("\n"); /*按降序排序*/