Implement structures to read, write and compute average- marks and the students scoring above and below the average marks for a class of N students Program and Algorithm Computer Science Engineering VTU
Structures abov below avg
#include<stdio.h> struct student { char name [100]; char usn [20]; float marks; }; void main() { int i,j,k,m,n,aboveavg[100],belowavg[100]; float total=0.0,avg=0.0; struct student s[100]; printf("enter number of students\n"); scanf("%d",&n); for(i=0;i<n;i++) { printf("enter the details of students%d\n",i+1); printf("enter name\n"); scanf("%s",s[i].name); printf("enter usn\n"); scanf("%s",s[i].usn); printf("enter marks\n"); scanf("%f",&s[i].marks); total+=s[i].marks; } printf("enter the details of students\n"); printf("name\t\t usn\t\t marks\n"); for(i=0;i<n;i++) printf("%s\t\t %s\t\t %f\n",s[i].name,s[i].usn,s[i].marks); avg=total/n; printf("avg=%f\n",avg); j=0; k=0; for(i=0;i<n;i++) { if(s[i].marks>avg) aboveavg[j++]=i; else belowavg[k++]=i; } printf("students scoring aboveavg\n"); for(i=0;i<j;i++) printf("%s\%f\n",s[aboveavg[i]].name,s[aboveavg[i]].marks); printf("students scoring belowavg\n"); for(i=0;i<k;i++) printf("%s\t %f\n",s[belowavg[i]].name,s[belowavg[i]].marks); }
Structures abov below avg ALG
Start
Declare the required variables
Read number of students as n
for each student read the name, usn and marks and store it in structure stud
stud.name = name
stud.usn = usn
stud.marks = marks
total = total + marks
avg = total/n
j = 0
k = 0
for i = 0 through n-1 do
if(stud[i].marks > avg)
aboveavg[j++] = i
else belowavg[k++] = i
Display students above the average
for i = 0 through j -1 do
display stud[aboveavg[i]].name, stud[aboveavg[i]].marks
Display students below the average
for i = 0 through k -1 do
display stud[belowavg [i]].name, stud[belowavg [i]].marks
Stop
Comments
Post a Comment
If you any doubt. Please let me know.