任务1:
#include <stdio.h>
#define N 30
void main()
{
int xue[N],cheng[N],a,i,t1,t2;
float ave,sum=0;
printf ("请输入学生人数\n");
scanf ("%d",&a);
printf("请输入学号和成绩\n");
for (i=0;i<a;i++)
{
scanf ("%d %d",&xue[i],&cheng[i]);
}
for (i=0;i<a;i++)
{
sum=sum+cheng[i];
}
ave=sum/a;
printf ("总分为:%.2f 平均成绩为:%.2f\n",sum,ave);
int c,d;
{
for (c=0;c<a;c++)
for(int d=0;d<a-c-1;d++)
{
if(xue[d]>xue[d+1])
{
t2=xue[d];
xue[d]=xue[d+1];
xue[d+1]=t2;
t1=cheng[d];
cheng[d]=cheng[d+1];
cheng[d+1]=t1;
}
}
}
printf ("按照学号由小到大\n");
for (c=0;c<a;c++)
printf ("%d\t%d\n",xue[c],cheng[c]);
{
for (i=0;i<a;i++)
for(int j=0;j<a-i-1;j++)
{
if(cheng[j]<cheng[j+1])
{
t1=cheng[j];
cheng[j]=cheng[j+1];
cheng[j+1]=t1;
t2=xue[j];
xue[j]=xue[j+1];
xue[j+1]=t2;
}
}
}
printf("按照成绩由高到低:\n");
for (i=0;i<a;i++)
printf ("%d\t%d\n",xue[i],cheng[i]);
int x;
printf ("请输入查询的学号\n");
scanf ("%d",&x);
for (i=0;i<a;i++)
{
if (xue[i]==x)
printf ("学号:%d 排名:%d 成绩%d\n",xue[i],i+1,cheng[i]);
}
int y=0,l=0,j=0,b=0;
for (i=0;i<a;i++)
{
if (cheng[i]>=90&&cheng[i]<=100)
y++;
if (cheng[i]>=70&&cheng[i]<=89)
l++;
if (cheng[i]>=60&&cheng[i]<=69)
j++;
if (cheng[i]>=0&&cheng[i]<=59)
b++;
}
printf ("优秀\t良好\t及格\t不及格\t\n");
printf ("%d\t%d\t%d\t%d\t\n",y,l,j,b);
printf ("%.2f%%\t%.2f%%\t%.2f%%\t%.2f%%\t\n",(float)(100*y/a),(float)(100*l/a),(float)(100*j/a),(float)(100*b/a));
printf ("学号\t成绩\t\n");
for (i=0;i<a;i++)
{
printf("%d\t%d\n",xue[i],cheng[i]);
}
printf ("总分:%.2f\t平均分%.2f\t",sum,ave);
}
运行图:
任务2:
#include <stdio.h>
void main()
{
int *p,i,a[5],max;
p=a;
printf("请输入5个整数:\n");
max=a[0];
for(i=0;i<5;i++)
scanf("%d",&a[i]);
for(i=0;i<5;i++)
{
if(max<a[i])
max=a[i];
}
printf("%d\n",max);
for(i=4;i>=0;i--)
printf("%d\t",*(a+i));
}
运行图: