Другие языки программирования и технологии

как ввести и вывести числа? Язык Си

1)Ввести и вывести
целые числа: -17824 49769 -169382712 125899344 вещественные числа: 17.742 0.1411200е0 14.138874068 -0.848872488541e39 символы: N и

2) В потоке ввода символы: 123.45.6. Написать функцию ввода таким образом, чтобы переменные стали равны i=12, j=3.45, k=6.
Результат вывести в виде:
┌──────────┐
│i=12 j=3.45 k=6 │
└──────────┘
2)
#include <stdio.h>

int main() {
int i = 0, k = 0;
float j = 0;

scanf("% 2d % 4f.%d", &i, &j, &k); // все % слитно
printf("i=%d j=%.2f k=%d\n", i, j, k);

return 0;
}
АА
Айдын Ахмет
5 079
Лучший ответ
// Первое задание для меня слишком тяжёлое :(

// _69782765
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

void khreny(char *, int, int &, int &, float &);

void main()
{
char a[10];
int i, k;
float j;
printf("\n Enter 123.45.6.\n");
gets(a);
khreny(&a[0], 10, i, k, j);
printf("\n i = %d \t j = %.2f \t k = %d", i, j, k);
getch();
}

void khreny(char * p, int n, int &i, int &f, float &j)
{
char a[5] = {'\0'};
int m = 0;

for (int k = 0; k < n; k++)
{
if (k < 2)
{
a[k] = *p++;
}
else if (k == 2)
{
i = atoi(a);
}

if (k >=2 && k < 6)
{
a[m] = *p++;
m++;
}
else if (k == 6)
{
j = atof(a);

for (int t = 0; t < 5; t++)
{
a[t] = '\0';
}

m = 0;
}

if (k == 7)
{
a[m] = *++p;
f = atoi(a);
return;
}
}
}

// Какое задание - таков ответ!
Ivan Romanyuk
Ivan Romanyuk
64 367