fork download
  1. #include <stdio.h>
  2.  
  3. int main(void) {
  4. char strc[12][3] ={"黒","茶","赤","橙","黄","緑","青","紫","灰","白","金","銀"};
  5. char instr[10][3];
  6. int bai[12]={0, 1, 2, 3, 4, 5, 6, 7, 0, -3, -1, -2};
  7. double pre[12]={0, 1, 2, 0.05, 0, 0.5, 0.25, 0.1, 0, 0, 5, 10};
  8. int i,j,k,b,p;
  9. int C[4];
  10.  
  11. scanf("%s",instr);//inputから読み込み
  12. printf("%s\n",instr);
  13.  
  14. // 1~2のカラーコード(抵抗値)
  15. for (i=0; i<=2; i++){
  16. for (j=0; j<=9; j++){
  17. for (k=0;k<=2; k++){
  18. if( !(instr[i][k]==strc[j][k])){
  19. goto A1;
  20. }
  21. }
  22. C[i]=j;
  23. A1:;
  24. }
  25. }
  26.  
  27. // 3のカラーコード(倍率)
  28. i=2;
  29. for (j=0; j<=11; j++){
  30. for (k=0;k<=2; k++){
  31. if( !(instr[i][k]==strc[j][k])){
  32. goto A2;
  33. }
  34. }
  35. b=j;
  36. A2:;
  37. }
  38.  
  39.  
  40. // 4のカラーコード(精度)
  41. i=3;
  42. for (j=0; j<=11; j++){
  43. for (k=0;k<=2; k++){
  44. if( !(instr[i][k]==strc[j][k])){
  45. goto A3;
  46. }
  47. }
  48. p=j;
  49. A3:;
  50. }
  51.  
  52. printf("%d %d %d %d\n",C[0],C[1],b,p);
  53. printf("抵抗値=%d×10^(%d)[Ω] 精度=%.2f[%%]\n",10*C[0]+C[1],bai[b],pre[p]);
  54.  
  55. return 0;
  56. }
  57.  
Success #stdin #stdout 0.01s 5276KB
stdin
赤,茶,黄,金
stdout
赤,茶,黄,金
2 0 -201120672 -201120912
抵抗値=20×10^(0)[Ω]  精度=0.00[%]