2.5.12. Functia printf - EXERCITII
2019/01/08 in Programare in C
2.7. Sa se scrie un program care afiseaza pe o linie, intre doua caractere asterisc, caracterul citit de la terminal prin getchar, apoi trece cursorul in coloana intai din linia urmatoare.
- Programul 011 - Citire si afisare caracter cu getchar si printf
#include <stdio.h>
#include <conio.h>
main()
{
printf("*%c*\n", getchar());
puts("Actionati o tasta pentru a termina");
getch();
}
2.8. Sa se modifice programul precedent astfel incat caracterul citit prin getchar sa se afiseze intre doua caractere procent.
- Programul 012 - Citire si afisare caracter cu getchar si printf
#include <stdio.h>
#include <conio.h>
main()
{
printf("%%%c%%\n", getchar());
puts("Actionati o tasta pentru a termina");
getch();
}
2.9. Programul de mai jos afiseaza textul "Limbajul C++" folosind urmatorii specificatori de format:
%s, %15s, %-15s, %10s, %15.10s si %-15.10s
Pentru a pune in evidenta campul afisat prin specificatorii respectivi, vom include de fiecare data campul intrecaractere asterisc.
- Programul 013 - Afisare sir de caractere cu diferiti specificatori de format
#include <stdio.h>
#include <conio.h>
#define V "Limbajul C++"
main()
{
printf("*%s*\n", V);
printf("*%15s*\n", V);
printf("*%-15s*\n", V);
printf("*%10s*\n", V);
printf("*%15.10s*\n", V);
printf("*%-15.10s*\n", V);
puts("Actionati o tasta pentru a termina");
getch();
}
Rezultatele executiei programului sunt:
*Limbajul C++*
* Limbajul C++*
*Limbajul C++ *
*Limbajul C++*
* Limbajul C*
*Limbajul C *
Actionati o tasta pentru a termina
2.10. Sa se scrie un program care citeste un caracter cu getchar si afiseaza codul sau ASCII
- Programul 014 - Afisare cod ASCII pentru un caracter ASCII
#include <stdio.h>
#include <conio.h>
main()
{
printf("%d\n", getchar());
puts("Actionati o tasta pentru a termina");
getch();
}
2.11. Sa se scrie un program care citeste un caracter care nu corespunde codului ASCII si afiseaza codul sau returnat pringetch.
Amintim ca pentru a citi caractere care nu corespund codului ASCII, se apeleaza getch de doua ori. La primul apel getch returneaza 0. La cel de-al doilea apel se returneaza un cod specific caracterului citit.
- Programul 015 - Afisare cod pentru un caracter non-ASCII
#include <stdio.h>
#include <conio.h>
main()
{
printf("%d\n", getch());
printf("%d\n", getch());
puts("Actionati o tasta pentru a termina");
getch();
}
2.12. Sa se scrie un program care afiseaza constanta 12345 in decimal, octal si hexazecimal.
- Programul 016 - Afisare constanta in zecimal, octal si hexa
#include <stdio.h>
#include <conio.h>
#define V 12345
main()
{
printf("zecimal %d\n", V);
printf("octal %o\n", V);
printf("hexazecimal %x\n", V);
puts("Actionati o tasta pentru a termina");
getch();
}
2.13. Sa se scrie un program care afiseaza constanta 123456789 in decimal, octal si hexazecimal.
- Programul 017 - Afisare constanta long in zecimal, octal si hexa
#include <stdio.h>
#include <conio.h>
#define V 123456789
main()
{
printf("zecimal %ld\n", V);
printf("octal %lo\n", V);
printf("hexazecimal %lx\n", V);
puts("Actionati o tasta pentru a termina");
getch();
}
2.14. Programul urmator afiseaza constanta 123 cu diferiti specificatori de format.
- Programul 018 - Afisare constanta cu diferiti specificatori de format
#include <stdio.h>
#include <conio.h>
#define V 123
main()
{
printf("%d\n", V);
printf("%7d\n", V);
printf("%-7d\n", V);
printf("%07d\n", V);
puts("Actionati o tasta pentru a termina");
getch();
}
Rezultatele executiei programului sunt:
123
123
123
0000123
Actionati o tasta pentru a termina
2.15. Programul urmator afiseaza numere neintregi folosind diferiti specificatori de format.
- Programul 019 - Afisare numere neintregi cu diferiti specificatori de format
#include <stdio.h>
#include <conio.h>
#define A 47.389
#define X -123.5e20
main()
{
printf("A=%f\n", A);
printf("A=%.3f\n", A);
printf("A=%.2f\n", A);
printf("A=%.1f\n", A);
printf("A=%.0f\n", A);
printf("X=%e\n", X);
printf("X=%.4e\n", X);
printf("X=%.3e\n", X);
printf("X=%.2e\n", X);
printf("X=%.1e\n", X);
printf("A=%g X=%G\n", A, X);
printf("%20f\n%20e\n%20g\n", 1.25, 1.25, 1.25);
printf("%20f\n%20e\n%20g\n", .25, .25, .25);
printf("%20f\n%20e\n%20g\n", 123e-1, 123e-1, 123e-1);
printf("%20f\n%20e\n%20g\n", 12.3e4, 12.3e4, 12.3e4);
printf("%30.20Le\n", 356.782143657891213891);
printf("%40.30Le\n", 31415926535897932384526434e-251);
puts("Actionati o tasta pentru a continua");
getch();
}
Rezultatele executiei programului sunt:
A=47.389000
A=47.389
A=47.39
A=47.4
A=47
X=-1.235000e+022
X=-1.2350e+022
X=-1.235e+022
X=-1.240e+022
X=-1.2e+022
A=47.389 X=-1.235E+022
1.250000
1.2500000e+000
1.25
0.250000
2.5000000e-001
0.25
12.300000
1.230000e+001
12.3
123000.000000
1.230000e+005
123000
3.56782143657891200000e+002
3.141592653589793400000000000000e-226
Actionati o tasta pentru a continua