b) -1
c) -1
a[0] = 1 a[1] = 2 a[2] = 3 b = 3 c = 0
#include <stdio.h> #include <string.h> int main(void) { double inkomst; printf("Ange årsinkomsten: "); scanf("%lf", &inkomst); while (inkomst != 0) { double skatt; if (inkomst <= 100000) skatt = 0; else skatt = (inkomst - 100000) * 0.50; printf("Skatt: %f\n", skatt); printf("Ange årsinkomsten: "); scanf("%lf", &inkomst); } return 0; }
b) 4
c) 3
d) 0
e) 3
f) 43000
g) 1
h) 2
i) 3
j) Oändligt många. Loopen tar aldrig slut.
#include <stdio.h> #include <math.h> struct Cirkel { double centrum_x; double centrum_y; double radie; }; struct Cirkel stora_cirkeln = { 1, 3, 1 }; #define PI 3.14159265358979323846 double area(struct Cirkel c) { return PI * c.radie * c.radie; } double centrumavstand(struct Cirkel c1, struct Cirkel c2) { return sqrt(pow(c1.centrum_x - c2.centrum_x, 2) + pow(c1.centrum_y - c2.centrum_y, 2)); } double avstand(struct Cirkel c1, struct Cirkel c2) { return centrumavstand(c1, c2) - c1.radie - c2.radie; } int main(void) { struct Cirkel lilla_cirkeln = { 5, 4.9, 0.5 }; printf("Stora cirkelns area: %f\n", area(stora_cirkeln)); printf("Cirklarnas centrumavstånd: %f\n", centrumavstand(stora_cirkeln, lilla_cirkeln)); printf("Cirklarnas kantavstånd: %f\n", avstand(stora_cirkeln, lilla_cirkeln)); return 0; }
#include <stdio.h> #include <math.h> void visa_array(int a[], int antal) { int antal_pa_raden = 0; for (int i = 0; i < antal; ++i) { printf(" %d", a[i]); if (++antal_pa_raden == 10 || i == antal - 1) { printf("\n"); antal_pa_raden = 0; } } } int main(void) { int a[47]; printf("Ange 47 heltal:\n"); for (int i = 0; i < 47; ++i) scanf("%d", &a[i]); printf("Talen, med tio per rad:\n"); visa_array(a, 47); return 0; }
#include <stdio.h> #include <string.h> int main(void) { int avsluta = 0; while (!avsluta) { printf("Kommando: "); char kommando[20]; // Vi bara antar att inmatningen får plats scanf("%s", kommando); if (strcmp(kommando, "avsluta") == 0 || strcmp(kommando, "quit") == 0) { avsluta = 1; } else if (strcmp(kommando, "stjärnor") == 0) { int antal; printf("Ange antalet stjärnor: "); scanf("%d", &antal); for (int i = 0; i < antal; ++i) printf("*"); printf("\n"); } else if (strcmp(kommando, "plus") == 0) { double tal1, tal2; printf("Ange ena talet: "); scanf("%lf", &tal1); printf("Ange andra talet: "); scanf("%lf", &tal2); printf("Summan: %f\n", tal1 + tal2); printf("\n"); } else { printf("Felaktigt kommando. Försök igen!\n"); } } return 0; }
#include <stdlib.h> #include <stdio.h> #include <time.h> int main(void) { FILE *f = fopen("cirklar.txt", "w"); if (f == NULL) { fprintf(stderr, "Kunde inte öppna filen 'cirklar.txt'\n"); exit(EXIT_FAILURE); } srand(time(NULL)); int antal_cirklar = 1 + rand() % 1000000; // Mellan ett och en miljon for (int i = 0; i < antal_cirklar; ++i) { double centrum_x = rand() % 1000000 / 10000.0 - 50.0; double centrum_y = rand() % 1000000 / 10000.0 - 50.0; double radie = rand() % 1000000 / 100000.0; fprintf(f, "%f %f %f\n", centrum_x, centrum_y, radie); } fclose(f); return EXIT_SUCCESS; }
b)
#include <stdlib.h> #include <stdio.h> #include <time.h> // Definitioner av struct Cirkel, PI och area int main(void) { FILE *f = fopen("cirklar.txt", "r"); if (f == NULL) { fprintf(stderr, "Kunde inte öppna filen 'cirklar.txt'\n"); exit(EXIT_FAILURE); } double max_area = 0; struct Cirkel c; while (fscanf(f, "%lf %lf %lf\n", &c.centrum_x, &c.centrum_y, &c.radie) == 3) { double denna_area = area(c); if (denna_area > max_area) max_area = denna_area; } fclose(f); printf("Största arean: %f\n", max_area); return EXIT_SUCCESS; }