fork download
  1. #include<stdio.h>
  2. int kaijo_kansu(int a)
  3. {
  4. int kaijo = 1;
  5.  
  6. while(a > 0)
  7. {
  8. kaijo =kaijo * a;
  9. a--;
  10. }
  11.  
  12. return kaijo;
  13. }
  14.  
  15. int ruijo_kansu(int a,int b)
  16. {
  17. int ruijo = 1;
  18. int count;
  19.  
  20. for ( count = 1; count <= b; count++ )
  21. {
  22. ruijo = ruijo * a;
  23. }
  24.  
  25. return ruijo;
  26. }
  27.  
  28. int main(void)
  29. {
  30. int seisu,kaijo,ruijo,beki;
  31.  
  32. printf("階乗を算出します\n正の整数を入力してください");
  33. scanf("%d",&seisu);
  34. printf("この数の累乗も算出します\n何乗しますか");
  35. scanf("%d",&beki);
  36.  
  37. kaijo = kaijo_kansu(seisu);
  38. ruijo = ruijo_kansu(seisu, beki);
  39. printf("%dの階乗は%dで、%dの%d乗は%dです",seisu,kaijo,seisu,beki,ruijo);
  40.  
  41. return 0;
  42. }
Success #stdin #stdout 0.01s 5352KB
stdin
Standard input is empty
stdout
階乗を算出します
正の整数を入力してくださいこの数の累乗も算出します
何乗しますか-926821552の階乗は1で、-926821552の32767乗は0です