/*
find the string from a given array of strings which
has the second highest average of ASCII values in the array using C Programming
*/
#include<stdio.h>
#include<string.h>
void main()
{
int t,n,i,j,k;
double temp=0;
int sum=0;
double arr1[100],arr2[100];
char name[100][100], result[100];
scanf("%d%d",&t,&n);
//number of test cases
for(i=0;i<t;i++)
{
//number of strings
for(j=0;j<n;j++)
{
scanf("%s",&name[j]);
}
//finding average of the string's ASCII values
for(j=0;j<n;j++)
{
sum=0;
for(k=0;k<strlen(name[j]);k++)
sum = sum + (int)name[j][k];
arr1[j] = (double)sum/strlen(name[j]);
arr2[j] = arr1[j];
//shows the averages of the strings
//printf("%lf\n",arr1[j]);
}
//sorting the list
for(j=0;j<n;j++)
{
for(k=j;k<n;k++)
{
if(arr2[j]<arr2[k])
{
temp = arr2[j];
arr2[j] = arr2[k];
arr2[k] = temp;
}
}
}
for(j=0;j<n;j++)
{
if(arr1[j] == arr2[1])
{
//answer
printf("%s",name[j]);
break;
}
}
}
}
find the string from a given array of strings which
has the second highest average of ASCII values in the array using C Programming
*/
#include<stdio.h>
#include<string.h>
void main()
{
int t,n,i,j,k;
double temp=0;
int sum=0;
double arr1[100],arr2[100];
char name[100][100], result[100];
scanf("%d%d",&t,&n);
//number of test cases
for(i=0;i<t;i++)
{
//number of strings
for(j=0;j<n;j++)
{
scanf("%s",&name[j]);
}
//finding average of the string's ASCII values
for(j=0;j<n;j++)
{
sum=0;
for(k=0;k<strlen(name[j]);k++)
sum = sum + (int)name[j][k];
arr1[j] = (double)sum/strlen(name[j]);
arr2[j] = arr1[j];
//shows the averages of the strings
//printf("%lf\n",arr1[j]);
}
//sorting the list
for(j=0;j<n;j++)
{
for(k=j;k<n;k++)
{
if(arr2[j]<arr2[k])
{
temp = arr2[j];
arr2[j] = arr2[k];
arr2[k] = temp;
}
}
}
for(j=0;j<n;j++)
{
if(arr1[j] == arr2[1])
{
//answer
printf("%s",name[j]);
break;
}
}
}
}
0 Comments