fork download
  1. #include <stdio.h>
  2.  
  3. int main(void) {
  4. char strc[12][3] = {"黒", "茶", "赤", "橙", "黄", "緑", "青", "紫", "灰", "白", "金", "銀"};
  5. char instr[5][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. printf("カラーコードを5つ: ");
  12. for (i = 0; i < 5; i++) {
  13. scanf("%s", instr[i]);
  14. }
  15. for (i = 0; i < 5; i++) {
  16. printf("%s ", instr[i]);
  17. }
  18. printf("\n");
  19.  
  20. for (i = 0; i <= 2; i++) {
  21. for (j = 0; j <= 9; j++) {
  22. for (k = 0; k <= 2; k++) {
  23. if (!(instr[i][k] == strc[j][k])) {
  24. goto A1;
  25. }
  26. }
  27. C[i] = j;
  28. A1:;
  29. }
  30. }
  31.  
  32. i = 2;
  33. for (j = 0; j <= 11; j++) {
  34. for (k = 0; k <= 2; k++) {
  35. if (!(instr[i][k] == strc[j][k])) {
  36. goto A2;
  37. }
  38. }
  39. b = j;
  40. A2:;
  41. }
  42.  
  43. i = 3;
  44. for (j = 0; j <= 11; j++) {
  45. for (k = 0; k <= 2; k++) {
  46. if (!(instr[i][k] == strc[j][k])) {
  47. goto A3;
  48. }
  49. }
  50. p = j;
  51. A3:;
  52. }
  53.  
  54. i = 4;
  55. int error_rate_index = -1;
  56. for (j = 0; j <= 11; j++) {
  57. for (k = 0; k <= 2; k++) {
  58. if (!(instr[i][k] == strc[j][k])) {
  59. goto A4;
  60. }
  61. }
  62. error_rate_index = j;
  63. A4:;
  64. }
  65.  
  66. printf("%d %d %d %d\n", C[0], C[1], b, p);
  67. printf("抵抗値=%d×10^(%d)[Ω] 精度=%.2f[%%] 誤差率=%d[%%]\n",
  68. 10 * C[0] + C[1], bai[b], pre[p], bai[error_rate_index]);
  69.  
  70. return 0;
  71. }
Success #stdin #stdout 0s 5292KB
stdin
紫黄橙赤茶
stdout
カラーコードを5つ: 紫黄橙赤茶 黄橙赤茶 橙赤茶 赤茶 茶 
7 4 3 2
抵抗値=74×10^(3)[Ω]  精度=2.00[%]  誤差率=1[%]