
系列文章《C語言經典100例》持續創作中,歡迎大家的關注和支持。
喜歡的同學記得點贊、轉發、收藏哦~
后續C語言經典100例將會以pdf和代碼的形式發放到公眾號
歡迎關注:計算廣告生態 即時查收
1 題目
函數:unsigned fun(unsigned w)
功能:w 是一個大于10的無符號整數,若 w 是 n(n>=2)位的整數,函數求出來w的低n-1位的數作為函數值返回
舉例:w 值為5923,則函數返回 923

C語言100題集合-ex007
2 思路
兩步走:
- 先判斷當前無符號整數的位數,記錄位數*10。例如:如果有三位,那么記錄time=100
- 根據time計算后 n-1 位,即:w-((w/time)*time)
3 代碼
#include <stdio.h>
#include <stdlib.h>/**
函數:unsigned fun(unsigned w)
功能:w 是一個大于10的無符號整數,若 w 是 n(n>=2)位的整數,函數求出來w的低n-1位的數作為函數值返回
舉例:w 值為5923,則函數返回 923
**/unsigned fun(unsigned w) {// 先判斷數字的位數int temp_w = w;int time = 1; // 位數10的指數次while(temp_w > 0) {time*=10;temp_w = temp_w/10;}time = time/10;// 計算返回return w-((w/time)*time);
}int main(int argc, char const *argv[]) {int w;printf("請一個大于10的無符號整數:");scanf("%d", &w);printf("無符號整數低n-1位的數為:%dn", fun(w));
}
示例結果:
$ gcc ex007.c -o demo
$ ./demo
請一個大于10的無符號整數:12345
無符號整數低n-1位的數為:2345
$ ./demo
請一個大于10的無符號整數:765432
無符號整數低n-1位的數為:65432
--END--
喜歡本文的同學記得點贊、轉發、收藏~
更多內容,歡迎大家關注我們的公眾號:計算廣告生態
后續C語言經典100例將會以pdf和代碼的形式發放到公眾號
同時也帶來更多系列文章以及干貨!