How to find the shortest string in array of strings in C

2 Answers

0 votes
#include <stdio.h>
#include <string.h>
    
#define ROWS 5
#define COLS 10

int shortest_string(char arr[][COLS]) {
    int min = strlen(arr[0]);
    int shortest_string_index = 0;
    
    for (int i = 1; i < ROWS; i++) {
        int size = strlen(arr[i]);
        if (size < min) {
            min = size;
            shortest_string_index = i;
        }
    }
     
    return shortest_string_index;
}
 
int main() {
    char arr[ROWS][COLS] = {"c++", "python", "c#", "java", "php"}; 
     
    printf("%s", arr[shortest_string(arr)]);
 
    return 0;
}
 
 
 
 
 
/*
run:
 
c#
 
*/

 



answered Mar 5, 2021 by avibootz
0 votes
#include <stdio.h>
#include <string.h>
     
#define COLS 10
 
int shortest_string(char arr[][COLS], int rows) {
    int min = strlen(arr[0]);
    int shortest_string_index = 0;
     
    for (int i = 1; i < rows; i++) {
        int size = strlen(arr[i]);
        if (size < min) {
            min = size;
            shortest_string_index = i;
        }
    }
      
    return shortest_string_index;
}
  
int main() {
    char arr[][COLS] = {"c++", "python", "c#", "java", "php"}; 
      
    printf("%s", arr[shortest_string(arr, sizeof(arr)/sizeof(arr[0]))]);
  
    return 0;
}
  
  
  
  
  
/*
run:
  
c#
  
*/

 



answered Mar 5, 2021 by avibootz

Related questions

1 answer 208 views
1 answer 144 views
1 answer 280 views
2 answers 235 views
3 answers 225 views
2 answers 177 views
3 answers 365 views
...