strcmpについて
#include<stdio.h> #include<string.h> int arr[][3] = { {1,1,1}, {2,4,8}, {3,6,9}, {4,16,64}, {5,25,125}, {6,36,216}, {7,49,343}, {8,64,512}, {9,81,729}, {10,100,1000} }; int num; int i; int main(void){ printf("値をいれて"); scanf("%d",&num); for(i=0;i<10;i++){ if(!strcmp(arr[i][2],num)){ printf("2乗値は%dです\n",arr[i][1]); printf("3乗値は%dです\n",arr[i][2]); }else{ printf("3乗値なし"); } } return 0; }
↑だとうごかない。
どうやらstrcmpは文字列同士を比較する関数のようだ。
ただの比較用だと思ってたけどちがうみたい。
けっきょく↓になった。
#include<stdio.h> int arr[][3] = { {1,1,1}, {2,4,8}, {3,6,9}, {4,16,64}, {5,25,125}, {6,36,216}, {7,49,343}, {8,64,512}, {9,81,729}, {10,100,1000} }; int num; int i; int main(void){ printf("値をいれて"); scanf("%d",&num); for(i=0;i<10;i++){ if(arr[i][2] == num){ printf("2乗値は%dです\n",arr[i][1]); printf("3乗値は%dです\n",arr[i][2]); } } return 0; }