1.输入若干名学生的成绩(输入人数或用负数结束均可),求其平均分,最高分和最低分,并指出最高分和最低分的学生(给出下标即可),输入一个成绩,说明是第几个学生的成绩。
#include <stdio.h>
int main ()
{
int n;
int score[n],max=0,sum=0,i,min=101,a,b,x;
double average;
printf("请输入有多少人");
scanf("%d",&n) ;
for (i=0;i<n;i++)
{
printf("请输入成绩");
scanf("%d",&score[i]) ;
sum=sum+score[i];
if(score[i]>max)
{
max=score[i];
a=i;
}
if (score[i]<min)
{
min=score[i];
b=i;
}
}
average=sum/n;
printf("平均分为%.lf,最高为%d,是第%d个,最低是%d,是第%d个",average,max,a,min,b);
printf("请输入要查找的数字") ;
scanf("%d",&x);
for(i=0;i<n;i++)
{
if(score[i]==x)
printf("是%d号学生",i);
}
2.现有一个有序正整数数组(从小到大排序),输入一个数,插入到数组中,要求插入后的数组仍然有序。对插入到最前、最后、中间位置三种情况进行验证。
# include <stdio.h> int main() { int i,j,x,a,w[11]={2,5,7,9,11,13,15,16,17,19}; printf("请输入一个数字:\n"); scanf("%d",&a); for(i=10;i>=0;i--) { if(a>=w[i-1]) { for(j=10;j>i;j--) { w[j]=w[j-1]; } w[i]=a; break; } if(i==0) { for(j=10;j>i;j++) { w[j]=w[i]; } w[0]=a; break; } } for(x=0;x<=10;x++) { printf("%d ",w[x]); } return 0; }
3.用数组实现火柴棍等式
#include <stdio.h> int main() { int x,y,z,a[10]={6,2,5,5,4,5,6,3,7,6}; for(x=0;x<=9;x++) { for(y=0;y<=9;y++) { for(z=0;z<=9;z++) { if(a[x]+a[y]+a[z]==12&&x+y==z) { printf("%d+%d=%d\n",x,y,z); } } } } return 0; }
实验知识点总结:
1.循环语句for的格式。
2.数组的应用
实验总结:
1.许多地方都要注意字母的中英文,尤其是输入完汉字之后总是会输入全角的英文,导致最后找错很麻烦。
2.要注意数组的数字是从0开始
3.注意数组和循环的使用
4.语句的使用要注意分号的使用 ,还有大括号的使用。还要注意执行的返回 ,是否结束。
5.注意嵌套的方式以及跳出循环的位置.
6.注意题目的限制条件
7.注意括号的使用 在很多时候程序错误就是因为括号没扩对。