一个数的各位数字倒过来所得到的新数叫原数的反序数。如果一个数等于它的反序数,则称它为对称数或回文数。下列程序求1500~2000之间的二进制对称数,算法思想是:将正整数的二进制字符形式,按正序和反序两种方式放入两个字符数组;然后比较这两个字符串,若相等则是二进制对称数,否则不是二进制对称数。请完善程序。#includeusing namespace std;____f(char *str,int num){static char s[33];char *p,c;p=&s[31];while(num){c=____; // 求num的最低位二进制的字符表示形式num/=2;*str++=c;____;}p++;return p;}int main(void){char s[33]={0},*p;int count=0;cout<<"二进制对称数如下:\n";for(int n=1500; n<2000; n++){p=____;if(strcmp(s,p)==0){cout<<"n="<
以下程序的功能是合并两个有序数组。程序算法思想是:依次取出第一个数组中的元素,插入第二个数组,并保持第二个数组的有序。请完善程序#includeusing namespace std;void print(int *p,int n){for(int i=0;i=n2) {// 将p1[i]插入数组p2的末尾p2[j]=p1[i];n2++;}else{for(int k=n2;k>j;k--)____;p2[k]=p1[i];n2++;}}return n2;}int main(void ){int a[10]={3,5,9,15,25,30},b[20]={1,2,8,10,16,18,20};int len;cout<<"原第1个数组是:\n";print(a,6);cout<<"原第2个数组是:\n";print(b,7);len=fun(a,6,b,7);cout<<"插入后的数组是:\n";____;return 0;}以上程序的输出是:原第1个数组是:3 5 9 15 2530原第2个数组是:1 2 8 10 1618 20插入后的数组是:1 2 3 5 89 10 15 16 1820 25 30