Перевод кода из Pascal - C (СИ)
Формулировка задачи:
program er; var n,i:longint; function polin(n:longint):boolean; var i,j:longint; s:string; itog:boolean; begin itog:=true; str(n,s); if length(s)=1 then itog:=false; for i:=1 to length(s) do begin j:=length(s)-i+1; if s[i]<>s[j] then itog:=false; end; polin:=itog; end; BEGIN write('Введите N'); readln(n); writeln('Эти числа: '); for i:=1 to n do if polin(i*i) then writeln(i,' (',i*i,')'); readln; END.
Решение задачи: «Перевод кода из Pascal»
textual
Листинг программы
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<conio.h> int polin(int n) { int i,j; char s[255]; int itog; itog=1; itoa(n,s,10); if(strlen(s)==1) itog=0; for(i=0;i<strlen(s);i++) { j=strlen(s)-i; if(s[i]!=s[j]) itog=0; } return itog; } int main(void) { int n,i; printf("%s\n","Enter N"); scanf("%d",&n); printf("%s\n","The numbers are:"); for(i=1;i<n+1;i++) { if(polin(i*i)==1) printf("%d%s%d%s\n",i," (",i*i,")"); } getch(); return 0; }
Объяснение кода листинга программы
- Объявление функций:
- int polin(int n);
- int main(void);
- Ввод числа n с клавиатуры:
- scanf(
%d
,&n);
- scanf(
- Вывод приглашения для ввода чисел:
- printf(
%s\n
,Enter N
);
- printf(
- Вывод сообщения
The numbers are:
:- printf(
%s\n
,The numbers are:
);
- printf(
- Цикл вывода квадратов чисел от 1 до n:
- for(i=1;i<n+1;i++)
- Проверка числа на простоту с помощью функции polin:
- if(polin(i*i)==1)
- Вывод числа i и его квадрата:
- printf(
%d%s%d%s\n
,i,(
,i*i,)
);
- printf(
- Получение числа n для выхода из программы:
- getch();
- Возврат 0 для завершения программы:
- return 0;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д