标签:print break i++ images 个数 com ima can 数组名
1.输入若干名学生的成绩(输入人数或用负数结束均可),求其平均分,最高分和最低分,并指出最高分和最低分的学生(给出下标即可),输入一个成绩,说明是第几个学生的成绩。
#include<stdio.h>
#define N 1000
int main()
{
int sum=0,a=1,b=1,c,d,e=0,i,max,min,score[N];
float average;
i=0;
printf("请输入学生的成绩,输入负数时退出\n");
scanf("%d",&score[i]);
e++;
while(score[i]>=0)
{
sum=sum+score[i];
i++;
printf("请输入学生的成绩,输入负数时退出\n");
scanf("%d",&score[i]);
e++;
}
average=(float)sum/i;
printf("平均分为%.2f\n",average);
i=0;
max=score[0];
min=score[0];
while(score[i]>=0&&i<=e)
{
if(score[i]>max)
{
max=score[i];
}
if(score[i]<min)
{
min=score[i];
}
i++;
}
i=0;
while(score[i]>=0&&i<=e)
{
if(score[i]==max)
{
printf("最高分是第%d个学生\n",i+1);
}
if(score[i]==min)
{
printf("最低分是第%d个学生\n",i+1);
}
i++;
}
printf("最高分为%d\n最低分为%d\n",max,min);
printf("请输入一个学生的成绩\n");
scanf("%d",&c);
for(i=0;i<N;i++)
{
if(score[i]==c)
{
d=i+1;
printf("这是第%d个学生\n",d);
}
}
return 0;
}

2.现有一个有序正整数数组(从小到大排序),输入一个数,插入到数组中,要求插入后的数组仍然有序。对插入到最前、最后、中间位置三种情况进行验证。
#include<stdio.h>
#define N 11
int main()
{
int a,b,c,d,i; int number[10]={2,4,6,8,10,12,14,16,18,20};
printf("请输入要插入的数\n");
scanf("%d",&a);
for(i=0;i<N;i++)
{
if(a<number[i])
{
b=i;
printf("插入到第%d位\n",b+1);
break;
}
}
if(a>=number[i])
{
b=10;
printf("插入到第%d位\n",b+1);
}
for(i=9;i>b-1;i--)
{
number[i+1]=number[i];
}
number[b]=a;
for(i=0;i<=10;i++)
{
printf("% d",number[i]);
}
return 0;
}



3.用数组实现火柴棍等式
#include<stdio.h>
#define N 10
int main()
{
int x,y,z,a,b,c,i;
int number[10]={6,2,5,5,4,5,6,3,7,6};
for(x=0;x<=9;x++)
{
a=number[x];
for(y=0;y<=9;y++)
{
b=number[y];
for(z=0;z<=9;z++)
{
c=number[z];
if(z==x+y)
{
if(a+b+c==12)
{
printf("%d+%d=%d ",x,y,z);
}
}
}
}
}
return 0;
}

知识点总结:
1.数组先定义后使用,最好用#define宏定义,只能逐个引用数组元素
2.数组的表示方式 数组名[下标] 下标是从零开始的
3.数组中的每一个元素都属于同一种数据类型
4.数组创建后不能改变大小,元素在内存中按顺序排列
实验总结:
1.输出学生成绩时对应数组下标要加一,因为下标是从零开始
2.输出最高分和最低分时,有可能有多个学生
3.在一个数组中插入数时,先将数组中的元素向前或向后移动
标签:print break i++ images 个数 com ima can 数组名
原文地址:http://www.cnblogs.com/jg666666/p/6103173.html