C语言编程序练习之二(数组和函数)
/****** ****** 数组和函数练习*********** **/
1 编程序 ,使用数组求出下列数据的平均值输出。
68,89,67,45,78,54,43,46,98,88,77
#include
main()
{int a[11],i,s=0,max;float average;
for(i=0;i<11;i++)
scanf("%d",&a[i]);
for(i=0;i<11;i++)
{s+=a[i];}
average=(s/11);
printf("%f\n",average);
max=a[0];
for(i=1;i<11;i++)
{if(a[i]>max)
{max=a[i];}}
printf("%d",max);
2 编程序, 使用数组求出下列数据的最大值输出。
68,89,67,45,78,54,43,46,98,88,77
3 编程序, 使用数组把下列数据逆序存放后输出。
6,8,9,77,81,82,87, 98 #include
int main(int argc, char *argv[])
{
int a[8]={98,87,82,81,77,9,8,6},b[8],i;
for(i=0;i<=7;i++)
{
b[7-i] = a[i];
}
for(i=0;i<=7;i++)
{
a[i] = b[i];
}
for(i=0;i<=7;i++)
{
printf("%d ",a[i]);
}
return 0;
}
4 编程序,在N个数中顺序查找指定数据。若查到输出下标,查不到
显示NO。 (其中数据:6,8,17,27,38,39,42,45,67,688 )。
5 编程序,用“气泡法”对N个数升序排列后输出。
(其中数据:6,38,45,8,688,39,17 )。 不知道你是要讲解还是要代码,就把代码发上来吧。
就用LZ你自己的原始数据:
void main(void)
{
int arry[7]={6,38,45,8,688,39,17},x,temp,i,j;
printf("原 始 数 据 :");
for(i=0;i<7;i++)
printf("%4d",arry[i]);
printf("\n");
//选择排序法:
for(i=0;i<7-1;i++)
{
x=i;
for(j=i;j<7;j++)
{
if(arry[j]
{
x=j;
}
}
if(x!=j)
{
temp=arry[x];
arry[x]=arry[i];
arry[i]=temp;
}
}
printf("选择法排序结果:");
for(i=0;i<7;i++)
printf("%4d",arry[i]);
printf("\n");
//冒泡排序法:
for(j=0;j<6;j++)
{
for(i=0;i<6-j;i++)
if (arry[i]>arry[i+1])
{
temp=arry[i];
arry[i]=arry[i+1];
arry[i+1]=temp;
}
}
printf("冒泡法排序结果:");
for(i=0;i<7;i++)
printf("%4d",arry[i]);
printf("\n");
}
#include
void main()
{
long f,f1,f2;int i;
f1=1;f2=1;
printf("%10d%10d",f1,f2);//每个数之间有点距离
for(i=3;i<=20;i++) //i从3开始。因为我希望循环两次之后换行。循环18次。注意这里是小于等于20。
{f=f1+f2;
printf("%10d",f);
f1=f2;f2=f;
if(i%4==0) //每行4个