一.题目:请编写一个函数 unsigned fun(unsigned w), w是一个大于10的无符号整数,若w是n(n≥2)位的整数, 则函数求出w的后n-1位的数作为函数值返回。 例如:w值为5923,则函数返回923;若w值为923,则函数返回23。
#include<conio.h> #include<stdio.h> #include<stdlib.h> unsigned fun(unsigned w) { int i,m=1,n=0,k=w; while(k) { k=k/10; n++; } if(n>=2) { for(i=0;i<n-1;i++) { m*=10; } k=w%m; } return k; } void main() { FILE *wf; unsigned x; system("CLS"); printf("Enter a unsigned integer number: "); scanf ("%u",&x); printf("The original data is:%u\n",x); if(x<10) printf("Data error! "); else printf ("The result :%u\n", fun(x)); /******************************/ wf=fopen("out.dat","w"); fprintf(wf,"%u",fun(5923)); fclose(wf); /*****************************/ }
二.运行结果
已知w是一个大于10但不大于1000000的无符号整数,若w是n(n≥2)位的整数,则求出w的后n-1位的数。
原文:https://www.cnblogs.com/wlei5206/p/12769801.html