首页 > 其他 > 详细

已知w是一个大于10但不大于1000000的无符号整数,若w是n(n≥2)位的整数,则求出w的后n-1位的数。

时间:2020-04-24 20:49:54      阅读:85      评论:0      收藏:0      [点我收藏+]

一.题目:请编写一个函数 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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!