0
My answer to pig Latin quiz in sololearn. Any suggestions for improvements?
Question: You have two friends who are speaking Pig Latin to each other! Pig Latin is the same words in the same order except that you take the first letter of each word and put it on the end, then you add 'ay' to the end of that. ("road" = "oadray") Task Your task is to take a sentence in English and turn it into the same sentence in Pig Latin! Input Format A string of the sentence in English that you need to translate into Pig Latin. (no punctuation or capitalization) Output Format A string of the same sentence in Pig Latin. Sample Input "nevermind youve got them" Sample Output "evermindnay ouveyay otgay hemtay" https://code.sololearn.com/cd6s6OddYaj2/?ref=app
7 Réponses
+ 2
My suggestion is to use fgets instead of gets.
fgets(str, 100, stdin);
gets() is not safe to use because it does not check the array bound.
fgets() is a safer version of gets() where you can provide limitations on input size.
+ 1
The future is now thanks to science[INACTIVE] yeah but how do we find the number of input charcters?
edit: also change the "inactive" in your name as you're active now
+ 1
@Rishi using strlen() you can get the number of input characters.
In fgets() you should give the number of input characters that could be maximum.
Answering the line:"also change the "inactive" in your name as you're active now"
I am not fully active because I am not using the sololearn app. Sololearn app has a lot of features that cannot be used in sololearn web. So that's why my status is inactive.If you go to my profile I think you will see there is a 0-day coding steak.
Thanks.
+ 1
The future is now thanks to science[INACTIVE] strlen() can only find the length of a string right? How can it get the number of input characters?
Okay don't forget to change it when you use the app:)
+ 1
The future is now thanks to science[INACTIVE] oh yes yes I get it. Thank you for making me aware of this. Happy Life!
0
Alireza Ebrahimi nice and short code. Thank you
0
What do you mean by strlen() can only find the length of a string?
The length of a string means the number of input characters
when you use fgets() it takes the whole sentence as a string:
hello world everyone.
how many characters are there?
In hello
there are 5 characters
In world
there are 5 characters
In everyone
there are 8 characters
and there are also two gaps and 1 full stop.
so extra 3 characters
so the total length of the whole sentence is:
5+5+8+3=21
Here is the code:
https://code.sololearn.com/c9A7a9a117a1
But of course, there is one problem if you give gaps at the end of the input it will also take those as characters.
Hope this helps.