给定程序中,函数 fun 的功能是:将形参 n 各位上为偶数的数去除,剩余的数按原来从⾼位到低位的顺 序组成⼀个新的数。如主程序中输⼊⼀个数: 27638496,输出为: 739 。 将程序补充完整。(每空 2 分,共 10 分#include <stdio.h> void fun(unsigned long *n) { unsigned long x=0, i; int t; i=1; while(*n) { t=*n % __1__; if(t%2 != __2__) { x=x+t*i; i=__3__; } *n =__4__; } *n=__5__; } int 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); }
时间: 2024-01-14 13:03:41 浏览: 110
2013年全国计算机二级C语言上机考试题库.pdf
将程序补充完整如下:
```
#include <stdio.h>
void fun(unsigned long *n) {
unsigned long x=0, i=1;
int t;
while(*n) {
t=*n % 10;
if(t%2 != 0) {
x=x+t*i;
i=i*10;
}
*n = *n / 10;
}
*n=x;
}
int 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);
return 0;
}
```
函数fun中,首先定义了一个变量x用于存储去除偶数位后的数,以及一个变量i用于在循环中控制x的位数。然后,使用while循环逐位取出形参n的值,将取出的值存入变量t中。如果t为偶数,则直接舍弃;否则将t乘以i并加上x,更新x和i的值。最后,将x存回形参n中。
在主函数main中,先读入一个合法的n值,并将其地址传入函数fun中。然后输出去除偶数位后得到的新数。
阅读全文