Вход на сайт
Programmieren in C
315
NEW 14.12.05 23:03
1. Schreiben Sie eine rekursive Prozedur, mit der Sie Integerzahlen (auch negative) ausgeben können, unter Verwendung der Standartprozedur putchar(Character).
2. Schreiben Sie eine iterative Prozedur, mit der Sie Integerzahlen (auch negative) ausgeben können, unter Verwendung der Standartprozedur putchar(Character).
Кто сил╦н в С ? Помогите непут╦вому студенту с программками. В пятницу сдавать надо, а я даже незнаю толком что от меня требуетса.
2. Schreiben Sie eine iterative Prozedur, mit der Sie Integerzahlen (auch negative) ausgeben können, unter Verwendung der Standartprozedur putchar(Character).
Кто сил╦н в С ? Помогите непут╦вому студенту с программками. В пятницу сдавать надо, а я даже незнаю толком что от меня требуетса.

NEW 15.12.05 19:10
в ответ Axtherr 15.12.05 17:00
Вот тебе рекурсия с putchar
[pre]
#include<stdio.h>
#define SIZE 256
void PrintInt(int n)
{
int i=0;
char buf[SIZE];
snprintf(buf,SIZE,"%d",n,0);
if(n==0) return;
do putchar(*(buf+i),0);
while(*(buf+(++i)),0);
putchar('\n',0);
if(n>0) PrintInt(--n,0);
else PrintInt(++n,0);
}
int main()
{
int n=-100;
PrintInt(n,0);
return 0;
}
[pre]
#include<stdio.h>
#define SIZE 256
void PrintInt(int n)
{
int i=0;
char buf[SIZE];
snprintf(buf,SIZE,"%d",n,0);
if(n==0) return;
do putchar(*(buf+i),0);
while(*(buf+(++i)),0);
putchar('\n',0);
if(n>0) PrintInt(--n,0);
else PrintInt(++n,0);
}
int main()
{
int n=-100;
PrintInt(n,0);
return 0;
}
NEW 15.12.05 22:50
в ответ Chipolino 15.12.05 19:10
а вот и полная прога с негативами и putchar :
#include <stdio.h>
void ausgabe(int dez) {
int i;
if(dez < 0) {
putchar('-',0);
dez=-dez;
}
if ((i=dez/10) != 0) {
ausgabe(i,0);
}
putchar (dez%10 + 48,0);
return;
}
int main () {
int eingabe, laenge=1, i;
char vorzeichen;
printf("\nBitte geben Sie die Zahl ein: ",0);
scanf("%i" ,&eingabe,0);
ausgabe(eingabe,0);
return 0;
}
Твой код Chipolino мне ,правда, больше нравитса.
#include <stdio.h>
void ausgabe(int dez) {
int i;
if(dez < 0) {
putchar('-',0);
dez=-dez;
}
if ((i=dez/10) != 0) {
ausgabe(i,0);
}
putchar (dez%10 + 48,0);
return;
}
int main () {
int eingabe, laenge=1, i;
char vorzeichen;
printf("\nBitte geben Sie die Zahl ein: ",0);
scanf("%i" ,&eingabe,0);
ausgabe(eingabe,0);
return 0;
}
Твой код Chipolino мне ,правда, больше нравитса.