|
- Egy
állományban
feltételezzük, hogy egész számok vannak.
Határozzuk meg ezek közül a maximumot, makrót
használva annak eldöntésére, hogy két
szám közül melyik a maximum (Forráskód).
- Egy
állományban
feltételezzük, hogy egész számok
vannak. Határozzuk meg ezek abszolút
értékben vett
átlagértéket, makrót használva az
abszolút érték
meghatározására.
- Egy
állományban
feltételezzük, hogy pozitív egész
számok
vannak. Feltételezve, hogy ezek a számok egy kör
sugarának a nagyságát jelölik,
határozzuk meg mindegyik értékre a kör
területét és kerületét. Az
eredményt ugyanabba az állományba írjuk, a
megfelelő
sugárértékek után. Használjunk
makrót kerület, terület
meghatározására, illetve a pi
megadására.
- Egy
állományban
szavak vannak
(szónak számít a space-ek közötti
bármilyen karaktersorozat). Mindegyik szó
kezdőbetűjét cseréljük ki nagybetűre,
makrót használva az átalakításhoz (Forráskód).
- A
parancssorban feltüntetett állományban
feltételezzük, hogy valós számok
vannak. Rendezzük ezeket a számokat növekvő sorrendbe,
saját rendező függvényt írva. A
rendezéshez szükséges cserét először
makró
segítségével, majd függvény
segítségével oldjuk meg. ( Forráskód
)
- Adott
n-ig ellenőrizzük a következő képlet
helyességét, makrót használva a
négyzetértékek
meghatározására:
12 + 22
+ 32 + ...
+ n2
= n·(n+1)·(2n+1)/6
Fel.1.
#include
<stdio.h>
#define MAX(a, b) (
(a)<(b)? (b): (a) )
int main(){
int a, b;
printf("Kerek ket szamot: ");
scanf("%i%i", &a, &b);
int m =
MAX(a, b);
printf("a maximum %i\n", m);
return 0;
}
Fel.4.
#include
<stdio.h>
#define Alakit(type,
a) (((a)[0]>='a' && (a)[0] <='z') ? ((a)[0] = (a)[0] -
32) : ((a)[0]))
int main(){
char szo[10];
printf("szo: ");
scanf("%s", szo);
Alakit(char
*, szo);
printf("%s\n\n", szo);
return 0;
}
Fel. 5.
#include
<stdio.h>
#define SWAP(type,
a, b) {type tmp = a; a = b; b = tmp;}
void BSort(double* a, long n );
double Maximum(double *a, long n);
int main( int argc, char * argv[]){
FILE * fp1;
double v[100];
unsigned int n,k;
if (argc != 2) {
printf ("\nkerek 1 filenevet ");
return 0;
}
if ( (fp1 = fopen(argv [1],"r"))==NULL
) /*elso file nyitasa*/
{
printf ("\n nincs file");
return 0;
}
n = 0;
while (1){
fscanf (fp1, "%lf", &v[n] );
n++;
if (feof (fp1) ) break;
}
fclose (fp1);
n = n-1;
BSort(v, n);
if ( (fp1 = fopen(argv [1], "w"))==NULL
) /*elso file nyitasa*/
{
printf ("\n nincs file1");
return 0;
}
k = 0;
while ( k < n )
{
fprintf (fp1, "%5.2lf\n", v[k]);
k++;
}
fclose (fp1);
return 0;
}
void BSort(double *a, long n)
{
int i,j;
for (i = 0; i < n; i++)
for ( j = n-1; j > i; j--)
if(
a[j-1] > a[j] ) SWAP(
double,
a[j-1], a[j]);
}
Vissza
|