荟萃馆

位置:首页 > 计算机 > C语言

C语言数组实例解析

C语言7.8K

一个人只有在早晨开始就努力学习,这一天才不会被浪费掉。我们每一个人都应该抓住每一分,每一秒,不让他们偷跑掉。同学们,请记住:成功,属于珍惜时间的人,珍惜自己的时间,对你自己是有益的。以下是小编为大家搜索整理了C语言数组实例解析,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网!

C语言数组实例解析

一维

数组求平均值

main()

{float b,s=0.0,aver,a[6];

int i;

for(i=0;i<6;i++)

scanf("%f",&a[i]);

for(i=0;i<6;i++)

s=s+a[i];

aver=s/6.0;

printf("%fn",aver);

}

求数组中的最大值

main()

{float max,s=0.0,a[6];

int i;

for(i=0;i<6;i++)

scanf("%f",&a[i]);

max=a[0];

for(i=1;i<6;i++)

if(max

max=a[i];

printf("最大值是:%fn",max);

}

找出最大和最小数并调换位置

main()

{float max,min,s=0.0,a[5];

int i,k=0,j=0;

for(i=0;i<5;i++)

scanf("%f",&a[i]);

max=min=a[0];

for(i=1;i<6;i++)

if(max

{max=a[i];k=i;}

if(min>a[i])

{min=a[i];j=i;}

printf("最大最小值分别在:%d,%dn",k,j);

for(i=0;i<5;i++)

printf(" %f n",a[i]);

查找数组中有无此项

main()

{float a[9]={21,12,34,23,54,67,65,13,87};

int s,i;

/*for(i=0;i<9;i++)

scanf("%f",&a[i]);

printf("n");*/

printf("请输入要查找的数:");

scanf("%d",&s);

for(i=0;i<9;i++)

if(a[i]==s)

{printf("有此项n");break;}

if(i==9)

printf("无此项n");

}

判断是否为回文

main()

{char a[100];

int s,d,i;

printf("请输入:");

gets(a); //输入一个字符串

s=i=0;

for(i=0;i<100;i++)

if(a[i]=='')

d=i;

d--;

for(s=0;s<=d;s++)

if(s<=d&&a[s]==a[d])

d--;

else

break;

if(s>d)

printf("%s是回文.n",a);

else

printf("%s不是回文.n",a);

}

删除数组中的第三项

main()

{int a[10],i,j;

for(i=0;i<10;i++)

{scanf("%d",&a[i]);

printf("%4d",a[i]);}

for(i=2;i<9;i++)

a[i]=a[i+1];

printf("n删除后的`数组内容:n");

for(i=0;i<9;i++)

printf("%4d",a[i]);

}

往数组中第三项插入数据

main()

{int a[11],i,j,x;

for(i=0;i<10;i++)

{scanf("%d",&a[i]);

printf("%4d",a[i]);}

printf("n请输入插入的数据:n");

scanf("%d",&x);

for(i=10;i>=2;i--)

a[i]=a[i-1];

a[2]=x;

printf("n插入后的数组内容:n");

for(i=0;i<11;i++)

printf("%4d",a[i]);

}

求1—1000中能整除3或7且不能同时整除3和7的数

main()

{int i,j=0,a[500];

for (i=1;i<=1000;i++)

if(((i%7==0)||(i%11==0))&&(i%77!=0))

{a[j]=i;j++;}

for (i=0;i

{if((i+1)%10==0)printf("n");

printf("%4d",a[i]);}

printf("n满足条件的个数是%dn",j);

}

二维数组

算出五个学生的总分和平均分

main()

{float a[5][5],s[5]={0},aver[5]={0};

int i,j;

for(i=0;i<5;i++)//随机产生学生的分数

{for(j=0;j<5;j++)

{a[i][j]=rand()%100;

printf("%1.1f ",a[i][j]);}

printf("n");}

for(i=0;i<5;i++)//算每个学生的总分

for(j=0;j<5;j++)

s[i]=s[i]+a[i][j];

for(i=0;i<5;i++)//算每个学生的平均分

aver[i]=s[i]/6.0;

for(i=0;i<5;i++)

{printf("第%d个学生总分是:%1.1f平均分是%1.1f.",i+1,s[i],aver[i]); printf("n");}

}

求五个学生的六门成绩的最高分

main()

{float a[5][6],s[5],z[6],max;

int i,j;

for(i=0;i<5;i++)

{for(j=0;j<6;j++)

{a[i][j]=rand()%100;

printf("%1.1f ",a[i][j]);}

printf("n");}

for(i=0;i<5;i++)//求每个同学的最高分。

{ max=a[i][0];

for(j=1;j<6;j++)

if(max

max=a[i][j];

s[i]=max;}

for(i=0;i<5;i++)

printf("第%d同学的最高分是:%1.1f n",i+1,s[i]);

for(j=0;j<6;j++)//求每个科目的最高分。

{ max=a[0][j];

for(i=1;i<5;i++)

if(max

max=a[i][j];

z[j]=max;}

for(j=0;j<6;j++)

printf("第%d科的最高分是:%1.1f n",j+1,z[j]);

}

求6*6数组的对角线之和。

main()

{float a[6][6],max=0,max1=0;

int i,j;

for(i=0;i<6;i++)//给数组定义随机数。

{for(j=0;j<6;j++)

{a[i][j]=rand()%100;

printf("%1.1f ",a[i][j]);}

printf("n");}

for(i=0,j=0;i<6,j<6;i++,j++)//正对角线之和。 max=max+a[i][j];

printf("%.01fn",max);

for(i=0,j=5;i<6,j>=0;i++,j--)//反对角线之和。 max1=max1+a[i][j];

printf("%.01fn",max1);

}

求6*6数组的对角线能被7整除的元素之和。 main()

{float a[6][6],max=0,max1=0,s=0;

int i,j;

for(i=0;i<6;i++)//给数组定义随机数。 {for(j=0;j<6;j++)

{a[i][j]=rand()%100;

printf("%1.1f ",a[i][j]);} printf("n");}

for(i=0,j=0;i<6,j<6;i++,j++) if(a[i][j]/7==0)

max=max+a[i][j];

for(i=0,j=5;i<6,j>=0;i++,j--) if(a[i][j]/7==0)

max1=max1+a[i][j];

s=max+max1;

printf("%0.1fn",s);

}

求6*6数组四周之和

main()

{float a[6][6],max=0;

int i,j;

for(i=0;i<6;i++)//给数组定义随机数。 {for(j=0;j<6;j++)

{a[i][j]=rand()%100;

printf("%1.1f ",a[i][j]);} printf("n");}

for(i=0;i<6;i++)//求四周之和。 for(j=0;j<6;j++)

if(i==0||i==5||j==0||j==5) max=max+a[i][j];

printf("%0.1fn",max);

}