1.输入若干名学生的成绩(输入人数或用负数结束均可),求其平均分,最高分和最低分,并指出最高分和最低分的学生(给出下标即可),输入一个成绩,说明是第几个学生的成绩。
#include <stdio.h>
#define N 100
int main()
{
int n=0,grade[N],sum=0,number,i,max,min,find,m;
double average;
printf("请输入需要统计的学生个数:");
scanf("%d",&number);
for(i=0;i<number;i++)
{
printf("请输入第%d名同学的成绩:",i+1);
scanf("%d",&grade[i]);
sum+=grade[i];
}
average=(double)sum/number;
printf("平均分为%.3f分\n",average);
max=grade[0];
for(i=0;i<number;i++)
{
if(grade[i]>=max)
{
max=grade[i];
m=i+1;
}
}
printf("获得最高分的是第%d名同学,他的分数为%d分\n",m,max);
min=grade[0];
for(i=0;i<number;i++)
{
if(grade[i]<=min)
{
min=grade[i];
m=i+1;
}
}
printf("获得最低分的是第%d名同学,他的分数为%d分\n",m,min);
printf("请输入你要查询的成绩:");
scanf("%d",&find);
for(i=0;i<number;i++)
{
if(grade[i]==find)
{
printf("第%d名",i+1);
n++;
}
}
if(n==0)
{
printf("未找到符合条件的同学\n");
}
else
{
printf("同学获得了%d分",find);
}
return 0;
}

2.现有一个有序正整数数组(从小到大排序),输入一个数,插入到数组中,要求插入后的数组仍然有序。对插入到最前、最后、中间位置三种情况进行验证
#include<stdio.h> int main() { int i,m,x,n[11]={2,3,4,9,10,12,15,44,63,89}; printf("原数组为:2 3 4 9 10 12 15 44 63 89\n"); printf("请输入你要插入的数:"); scanf("%d",&m); if(m>n[9]) { n[10]=m; } else { for(i=0;i<10;i++) { if(m<n[i]) { x=i; break; } } for(i=9;i>=x;i--) { n[i+1]=n[i]; } n[x]=m; } printf("新的数组为:"); for(i=0;i<=10;i++) { printf("% d",n[i]); } return 0; }

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

原文:http://www.cnblogs.com/weizhenchuan/p/6107037.html