这次做出来一道题,不过,只写出两个空。看看?
//给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去
//除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回 所指变量。
//例如,输入一个数:27638496,新的数:为739。
//请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结 果。
//注意:源程序存放在考生文件夹下的BLANK1.C中。
//不得增行或删行,也不得更改程序的结构!
#include <stdio.h>
void fun(unsigned long *n)
{
unsigned long x=0, i;int t;
i=1;
while(*n)
{
t=*n % 10 ;//为什么
if(t%2!=0)
{
x=x+t*i; i=i*10;}
*n =*n /10;
}
*n=x;
}
main()
{
unsigned long n=-1;
while(n>99999999||n<0)
{
printf("Please input(0<n<100000000): ");
scanf("%ld",&n);}
fun(&n);
printf("\nThe result is: %ld\n",n);
}
不明为什么那儿写10,我试试小的数字,也觉得有问题似得
//给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去
//除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回 所指变量。
//例如,输入一个数:27638496,新的数:为739。
//请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结 果。
//注意:源程序存放在考生文件夹下的BLANK1.C中。
//不得增行或删行,也不得更改程序的结构!
#include <stdio.h>
void fun(unsigned long *n)
{
unsigned long x=0, i;int t;
i=1;
while(*n)
{
t=*n % 10 ;//为什么
if(t%2!=0)
{
x=x+t*i; i=i*10;}
*n =*n /10;
}
*n=x;
}
main()
{
unsigned long n=-1;
while(n>99999999||n<0)
{
printf("Please input(0<n<100000000): ");
scanf("%ld",&n);}
fun(&n);
printf("\nThe result is: %ld\n",n);
}
不明为什么那儿写10,我试试小的数字,也觉得有问题似得