例题:请编写一个函数unsigned(unsigned n),n是一个大于10的无符号整数,若n是m(m≥2)位的整数,则函数求出n的后m-1位的数作为函数值返回。
例如,n值为1234,则函数返回234。
请勿改动主函数main与其它函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
代码如下:
#include<conio.h>
#include<stdio.h>
unsigned fun(unsigned m)
{
unsigned t,s=0,s1=1,p=0;
t=m;
while(t>10)
{
if(t/10)
p=t%10;
s=s+p*s1;
s1=s1*10;
t=t/10;
}
return s;
}
main()
{
unsigned n;
FILE*out;
printf("Enter a unsigned integer data:");
scanf("%u",&n);
printf("The original data is:%u\n",n);
if(n<10)
printf("Data error");
else
printf("The result:%u\n",fun(n));
out=fopen("outfile.dat","w");
fprintf(out,"%u",fun(28));
fclose(out);
}
输出运行窗口如下:
本周其他练习
C语言编程>第九周 ① 下列程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(int b[][N]),该函数的功能是:使数组左下半三角元素的值会全部置成0。
C语言编程>第九周 ② 请编写一个函数unsigned(unsigned n),n是一个大于10的无符号整数,若n是m(m≥2)位的整数,则函数求出n的后m-1位的数作为函数值返回。
C语言编程>第九周 ③ 请编写一个函数fun(char*str)该函数的功能是把字符串中的内容逆置。
C语言编程>第九周 ④ 编写函数fun,它的功能是:利用以下所示的简单迭代方法求方程cos(y)-y=0的一个实根。yn+1=cos(yn)
C语言编程>第九周 ⑤ 请编写一个函数fun,它的功能是:根据以下公式求π的值(要求满足精度0.0005,即某项小于0.0005时停止迭代):
C语言编程>第九周 ⑥ 请编写一个函数fun,它的功能是:将s所指字符串中所有下标为奇数位置上的字母转换为小写(若该位置上下是字母,则不转换)。
C语言编程>第九周 ⑦ 请编写一个函数fun,它的功能是:求出一个2×M整型二维数组中最小元素的值,并将最小值返回调用函数。
C语言编程>第九周 ⑧ 请编写函数fun,其功能是:将两个两位数的正整数x、y合并成一个整数放在z中。合并的方式是:将x数的十位和个位依次放在z的千位和十位上,y的十位和个位依次放在z的百位和个位上。
越努力越幸运!
加油,奥力给!!!