علی بعد از گذراندن درس مبانی برنامه نویسی با نمره ۱۰.۲۵ با یک شرکت پرسابقهی تولید نرم افزارهای ناکارآمد کامپیوتری قراردادی یک ساله امضا کرد. این قرارداد از جنبههای مختلف با روحیات او سازگار بود، اما اجرای یک بند از قرارداد برای او غیرممکن به نظر میرسید.
این بند از قرار داد از این قرار بود:
**تبصره بند ۳۹۵۲**: برنامه نویس موظف است کلیه کدهای خود را تمیزسازی کرده و با استاندارد زیر تحویل دهد:
+ همه بلاکهای داخلی (بلاک تابع، `for`، `if` و `while`) دقیقا با یک تو رفتگی(کاراکتر `tab`) نسبت به خط شروع بلاکشان میآیند.
+ بلاکها حتما با کاراکتر `}` شروع و با کاراکتر `{` تمام میشوند.
+ کاراکتر `}` در شروع بلاک همیشه در انتهای خط دستور مربوطهاش چسبیده به پرانتز و کاراکتر `{` انتهای بلاک با تورفتگی مناسب در یک خط مجزا میآید.
+ دستور `else` بعد از کاراکتر `{` انتهای بلاک `if` مربوط به خود میآید.
+ قبل و بعد از همه عملگرهای دو عملوندی یک کاراکتر اسپیس میآید.
+ عملگرهای تک عملوندی چسبیده به عملوند خود میآیند.
+ برای جداسازی با استفاده از کاراکتر `,` این کاراکتر به کاراکتر قبلی خود چسبیده و بعد از آن فاصله میآید.
+ کاراکتر `;` در انتهای هر خط به کاراکتر قبلی خود میچسبد و درون `for` بعد از `;` یک فاصله میآید.
+ محتوای درون پرانتز و کروشه بدون فاصله از کاراکترهای `()` و `{}` میآیند.
+ خط خالی درون کد وجود ندارد.
+ هیچ جای کد فاصله بی جا نباید وجود داشته باشد و هرجا نیاز به فاصله شود دقیقا یک کاراکتر اسپیس باید بیاید.
+ پرانتز ساختارهای `while, if , for` چسبیده به این کلمات میآید.
از آن جایی که علی به تازگی وارد بازار کار شده است مسئولین شرکت انتظارات زیادی از او ندارند و به همین دلیل او برای کد زدن تنها از امکانات زیر از زبان `C` استفاده میکند:
* توابع
* متغیرها و عبارات ریاضی و دستور انتساب
* `for`
* `if, else, else if`
* `while`
* `Include`های ابتدای کد(که تمیزبودن آنها تضمین میشوند و نیازی به اصلاح ندارند.)
از آنجایی که علی از ابتدای حیاتش با تمیز کد زدن مشکل داشته است با این که کدهایش همیشه درست بوده و کامپایل میشده اما در تحویل تمیز آن به مدیر فنی شرکت با مشکل جدی روبه رو شده است. به علی کمک کنید تا کدهایش به زبان سی که به درستی کامپایل میشوند را با توجه به خواست شرکت تمیز کند.
## ورودی
در ورودی یک کد صحیح به زبان `C` میآيد که در هر خط آن تنها یک دستور وجود دارد.
## خروجی
شما باید کد تمیز شده بر اساس معیارهای شرکت را در خروجی چاپ کنید.
مثال:
ورودی نمونه:
```C
#include <stdio.h>
int main (){
int i,n;
float arr [100 ];
printf ("Enter numbers :");
scanf ("%d" ,&n);
printf ("\n");
for(i=0;i<n;++i)
{
printf ("%d",i+1);
scanf ("%f" ,&arr[i]);
}
for(i=1;i<n;++i){
if(arr [0] < arr[i])
arr [0]= arr[i];
}
printf (" largest is %.2f",arr [0]);
return 0;
}
```
خروجی نمونه:
```C
#include <stdio.h>
int main (){
int i, n;
float arr [100];
printf ("Enter numbers :");
scanf ("%d", &n);
printf ("\n");
for(i = 0; i < n; ++i){
printf ("%d", i + 1);
scanf ("%f", &arr[i]);
}
for(i = 1; i < n; ++i){
if(arr [0] < arr[i])
arr [0] = arr[i];
}
printf (" largest is %.2f", arr [0]);
return 0;
}
```
ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.