這題的要求是這樣的:
這題我沒做出來,我大概思路是這樣的,根據輸入的數字,把這個數字的每一位都分離出來,然後判斷奇數還是偶數,再判斷序是奇數還是偶數,最後兩個奇偶性比較,輸出1還是0,這個輸出的1和0該怎麼儲存,以及最後怎麼轉化為十進位制呢? 卡住了。
最近又想了一下,做出來了。
int main()else
//計算權重
r = r * 2;//每迴圈一次二進位制數字的權重就是2的n次方
//修正權重,覺得這裡的**挺醜陋的,但是又不知道該怎麼改。
if (n == 1)//當第一次迴圈的時候權重應該是1,但這裡是2,所以修正一下權重的值。
//計算特徵值
sum = sum + c * r;
//準備提取下乙個數字
n++;
//去掉個位之後形成的新數字
input = input / 10;
} printf("%d",sum);
return 1;
}
數字特徵值(C語言)
題目內容 對數字求特徵值是常用的編碼演算法,奇偶特徵是一種簡單的特徵值。對於乙個整數,從個位開始對每一位數字編號,個位是1號,十位是2號,以此類推。這個整數在第n位上的數字記作x,如果x和n的奇偶性相同,則記下乙個1,否則記下乙個0。按照整數的順序把對應位的表示奇偶性的0和1都記錄下來,就形成了乙個...
c語言 數字特徵值
數字特徵值 5分 題目內容 對數字求特徵值是常用的編碼演算法,奇偶特徵是一種簡單的特徵值。對於乙個整數,從個位開始對每一位數字編號,個位是1號,十位是2號,以此類推。這個整數在第n位上的數字記作x,如果x和n的奇偶性相同,則記下乙個1,否則記下乙個0。按照整數的順序把對應位的表示奇偶性的0和1都記錄...
C語言 數字特徵值
c語言 數字特徵值 對數字求特徵值是常用的編碼演算法,奇偶特徵是一種簡單的特徵值。對於乙個整數,從個位開始對每一位數字編號,個位是1號,十位是2號,以此類推。這個整數在第n位上的數字記作x,如果x和n的奇偶性相同,則記下乙個1,否則記下乙個0。按照整數的順序把對應位的表示奇偶性的0和1都記錄下來,就...