C语言初学者代码中的常见错误与瑕疵(3)

问题:

  n-1位数字

  已知w是一个大于10但不大于1000000的无符号整数,若w是n(n≥2)位的整数,则求出w的后n-1位的数。   输入:   第一行为M,表示测试数据组数。   接下来M行,每行包含一个测试数据。   输出:   输出M行,每行为对应行的n-1位数(忽略前缀0)。如果除了最高位外,其余位都为0,则输出0。   样例:4 1023 5923 923 1000   输出 23 923 23 0

原代码:

#include <stdio.h>#include <math.h>int digit(int x) //定义函数取位数{int i,temp;for(i=1;;i++){temp =(int) pow(10,i);if(x/temp==0)return i-1;}}int main(){unsigned int w[100],i,m,number,a,temp;int digit(int x);printf();scanf(,&m);printf();for (i = 0;i<m;i++)//输入相应的数值 {printf(,i+1);scanf(,&w[i]);}printf();for(i=0; i <m; i++)//输出想要的n-1位数 {a=digit(w[i]);temp=(int)pow(10,a);number=w[i]/temp;number=w[i]-number*temp;printf(,number);}return 0;},当你成功得意的时候,最重要的是瞧得起别人。

C语言初学者代码中的常见错误与瑕疵(3)

相关文章:

你感兴趣的文章:

标签云: