Advertisement
Guest User

esercizio1.c

a guest
Oct 15th, 2019
247
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.10 KB | None | 0 0
  1. /*
  2. Esercizio 1
  3. Scrivere un programma che, dati due interi x ed y, calcoli e stampi il valore
  4. della seguente funzione:
  5.  
  6. f(x, y) = 2x + ⌈xy⌉, y!=0
  7. = x^2 + 5, y = 0, x > 5
  8. = x^2 + 10(1 − x), altrimenti
  9. */
  10.  
  11. #include <stdio.h>
  12.  
  13. int integerpower(int base, int exp){
  14. int support = base;
  15. if(exp==0){return 1;};
  16. for(int i=0; i<exp-1; i++){
  17. base *= support;
  18. };
  19. return base;
  20. }
  21.  
  22. int abs(int x){
  23. if (x>=0){
  24. return x;
  25. }else{
  26. return -x;
  27. }
  28. }
  29.  
  30. int f(int x, int y){
  31. if(y!=0){
  32. return 2*x + abs(x*y);
  33. }else if((y==0) && (x>5)){
  34. return integerpower(x, 2) + 5;
  35. }else{
  36. return integerpower(x, 2) + 10*(1-x);
  37. }
  38. }
  39.  
  40. int main(){
  41. int x, y;
  42.  
  43. printf("Inserisci il valore x: ");
  44. scanf("%d", &x);
  45. while(getchar()!='\n'){}
  46.  
  47. printf("Inserisci il valore di y: ");
  48. scanf("%d", &y);
  49. while(getchar()!='\n');
  50. printf("%d %d \n", integerpower(x, 0), integerpower(x, 2));
  51. printf("f(%d, %d) = %d\n", x, y, f(x, y));
  52.  
  53. return 0;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement