a) 3
b) 3
c) 1
#include <stdio.h> #include <string.h> int main(void) { char rad[100]; int antal_luftpistol = 0; int antal_godis = 0; printf("Skriv ett ord per rad. Avsluta med ordet \"klar\".\n"); gets(rad); // Jaja, vi vet. while (strcmp(rad, "klar") != 0) { if (strcmp(rad, "luftpistol") == 0) ++antal_luftpistol; if (strcmp(rad, "godis") == 0) ++antal_godis; gets(rad); // Jaja, vi vet. } printf("Antal \"luftpistol\": %d\n", antal_luftpistol); printf("Antal \"godis\": %d\n", antal_godis); return 0; }
#include <stdio.h> #include <stdlib.h> #include <time.h> int main(void) { int antal_sidor; int resultat; printf("Hur många sidor har tärningen? "); scanf("%d", &antal_sidor); srand(time(NULL)); // Ger pseudoslumptalsgeneratorn ett startvärde resultat = rand() % antal_sidor + 1; printf("Resultat: %d\n", resultat); return 0; }
struct Komplex { double re; double im; };
struct Komplex k = { 7.4, 2 };
void visa_komplex(struct Komplex k) { if (k.im == 0) printf("%.2f", k.re); else if (k.re == 0) printf("%.2fi", k.im); else printf("%.2f + %.2fi", k.re, k.im); }
struct Komplex las_komplex(void) { struct Komplex resultat; printf("Realdelen: "); scanf("%lf", &resultat.re); printf("Imaginärdelen: "); scanf("%lf", &resultat.im); return resultat; }
struct Komplex komplex_plus(struct Komplex k1, struct Komplex k2) { struct Komplex resultat; resultat.re = k1.re + k2.re; resultat.im = k1.im + k2.im; return resultat; }
double belopp(struct Komplex k) { return sqrt(k.re * k.re + k.im * k.im); }
int main(void) { struct Komplex tal1, tal2, summa; double beloppet; printf("Mata in två komplexa tal:\n"); tal1 = las_komplex(); tal2 = las_komplex(); summa = komplex_plus(tal1, tal2); visa_komplex(summa); printf("\n"); beloppet = belopp(summa); printf("Absolutbeloppet är %.2f.\n", beloppet); return 0; }
struct Komplex komplex_summering(struct Komplex talen[], int antal) { struct Komplex summan = { 0, 0 }; for (int i = 0; i < antal; ++i) summan = komplex_plus(summan, talen[i]); return summan; }
int main(void) { struct Komplex a[] = { { 1, 10 }, { -2, -20 }, { 1.5, 15 } }; struct Komplex summan; summan = komplex_summering(a, 3); if (summan.re != 0.5 || summan.im != 5) printf("Fel svar från komplex_summering!\n"); return 0; }
#include <stdlib.h> #include <stdio.h> #include <math.h> // Definitioner av struct Komplex och las_komplex int main(void) { struct Komplex tal; FILE *tsut = fopen("komplexa.txt", "w"); if (tsut == NULL) { fprintf(stderr, "Kunde inte skriva filen 'komplexa.txt'.\n"); exit(EXIT_FAILURE); } printf("Mata in komplexa tal. Avsluta med talet 0 + 0i.\n"); tal = las_komplex(); while (tal.re != 0 || tal.im != 0) { fprintf(tsut, "%f %f\n", tal.re, tal.im); tal = las_komplex(); } fclose(tsut); return EXIT_SUCCESS; }
#include <stdlib.h> #include <stdio.h> #include <math.h> // Definitioner av struct Komplex, visa_komplex och komplex_plus int main(void) { struct Komplex tal; struct Komplex summan = { 0, 0 }; FILE *tsin = fopen("komplexa.txt", "r"); if (tsin == NULL) { fprintf(stderr, "Kunde inte läsa filen 'komplexa.txt'.\n"); exit(EXIT_FAILURE); } while (fscanf(tsin, "%lf %lf", &tal.re, &tal.im) == 2) { summan = komplex_plus(summan, tal); } fclose(tsin); printf("Summan av talen på filen: "); visa_komplex(summan); printf("\n"); return EXIT_SUCCESS; }