स्कैनफ की तुलना में C में एकाधिक इंट पढ़ने का बेहतर तरीका


17

मैं एक गोल्फ चुनौती में सी में 4 ints पढ़ने की कोशिश कर रहा हूं और मुझे उस कोड की लंबाई से परेशान है जिसे मुझे इसे हल करने की आवश्यकता है:

scanf("%d%d%d%d",&w,&x,&y,&z)

यह 29 वर्ण है, जो यह देखते हुए बहुत बड़ा है कि मेरे कुल कोड का आकार 101 वर्ण है। मैं पहले इंट से छुटकारा पा सकता हूं क्योंकि मुझे वास्तव में इसकी आवश्यकता नहीं है, इसलिए मुझे यह कोड मिलता है:

scanf("%*d%d%d%d",&x,&y,&z)

जो 27 वर्णों का है, लेकिन यह अभी भी लंबा है।

तो मेरा सवाल यह है कि क्या कोई अन्य तरीका (ट्रिक्स, फ़ंक्शंस, के एंड आर स्टफ) है जो इनट्स को पढ़ने के लिए है जो मुझे नहीं पता है कि मुझे इस कोड को कम करने में मदद कर सकता है?

बहुत बहुत धन्यवाद।

EDIT: कुछ उपयोगकर्ताओं ने बताया है कि मेरा प्रश्न C में गोल्फ के लिए टिप्स के समान है

हालांकि इस विषय में C कोड को छोटा करने के लिए बहुत सारे उपयोगी सुझाव हैं, यह मेरे वास्तविक उपयोग के मामले के लिए प्रासंगिक नहीं है क्योंकि यह इनपुट पढ़ने का एक बेहतर तरीका प्रदान नहीं करता है।

मुझे नहीं पता कि क्या वास्तव में कई पूर्णांकों को पढ़ने के लिए स्कैनफ से बेहतर तरीका है (इसीलिए मैं पहली जगह में सवाल पूछ रहा हूँ), लेकिन अगर वहाँ है, तो मुझे लगता है कि मेरा सवाल प्रासंगिक है और वैश्विक रूप से पर्याप्त रूप से अलग है सुझाव और तरकीब।

यदि कोई बेहतर तरीका नहीं है, तो मेरा प्रश्न अभी भी निकट भविष्य में उपयोगी हो सकता है यदि कोई बेहतर समाधान ढूंढता है।

EDIT2: मैं एक पूर्ण कार्यक्रम (ताकि कोई फंक्शन ट्रिक) नहीं खोज पा रहा हूं और सभी संभवताएं पूरी हो गई हैं। यह C होना चाहिए, C ++ नहीं। वर्तमान में, मेरा पूरा कार्यक्रम इस तरह दिखता है:

main(w,x,y,z){scanf("%*d%d%d%d",&x,&y,&z)}

किसी भी चाल का स्वागत है, जब तक यह कोड को छोटा कर देता है (यह कोड गोल्फ है :)) और जब तक यह c ++ नहीं है


4
आमतौर पर आप पूर्ण कार्यक्रमों के बजाय एक फ़ंक्शन सबमिट कर सकते हैं जो आपको तर्क के रूप में उन 4 ints को लेने की अनुमति देता है।
डेनकर

मैं देखता हूं, आपकी टिप्पणी के लिए धन्यवाद, लेकिन मेरे मामले में, इसे एक पूर्ण कार्यक्रम बनाने की आवश्यकता है।
व्यस्तबेलडैलस

12
1) @BusyBeingDelicious, PPCG में आपका स्वागत है! :) 2) करीबी मतदाताओं के लिए, यह सामान्य प्रोग्रामिंग प्रश्न नहीं है । यह एक है सुझावों सवाल जो मदद के लिए पूछता है गोल्फ कोड है जो बिल्कुल विषय पर है
मार्टिन एंडर


3
प्रिय करीबी मतदाता: यह विषय पर बहुत स्पष्ट है। आप अभी भी इसे बंद करने की कोशिश क्यों कर रहे हैं?
DJMcMayhem

जवाबों:


2

आप अपने सबमिशन के रूप में एक कार्यक्रम के बजाय एक फ़ंक्शन लिख सकते हैं। C में आप intफ़ंक्शन हस्ताक्षरों से चूक सकते हैं :

f(w,x,y,z){}

9
ओपी ने एक टिप्पणी में उल्लेख किया कि इस मामले में इसे एक पूर्ण कार्यक्रम बनाने की आवश्यकता है।
एलेक्स ए
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.