网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)

判断输入的正整数中是否有重复的数位。 bool has_digits_repeated(unsigned int n) { // 请将代码写在此处, 答案应该是整个完整has_digits_repeated函数 }


参考答案和解析
正确
更多 “判断输入的正整数中是否有重复的数位。 bool has_digits_repeated(unsigned int n) { // 请将代码写在此处, 答案应该是整个完整has_digits_repeated函数 }” 相关考题
考题 ●试题一阅读下列函数说明和C代码,把应填入其中n处的字句写在答卷的对应栏内。【函数1.1说明】函数strcpy(char*to,char*from)将字符串from复制到字符串to。【函数1.1】void strcpy(char*to,char*from){while( ( 1 ) );}【函数1.2说明】函数merge(int a[ ],int n,int b[ ],int m,int *c)是将两个从小到大有序数组a和b复制合并出一个有序整数序列c,其中形参n和m分别是数组a和b的元素个数。【函数1.2】void merge(int a[ ],int n,int b[ ],int m,int *c){ int i,j;for(i=j=0;i<n j<m;)*c++=a[i]<b[j]? a[i++]:b[j++];while( (2) )*c++=a[i++];while( (3) )*c++=b[j++];}【函数1.3说明】递归函数sum(int a[ ],int n)的返回值是数组a[ ]的前n个元素之和。【函数1.3】int sum(int a[ ],int n){ if(n>0)return (4) ;else (5) ;}

考题 ●试题二阅读下列函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明2.1】L为一个带头结点的循环链表。函数deletenode(LinkList L,int c)的功能是删除L中数据域data的值大于c的所有结点,并由这些结点组建成一个新的带头结点的循环链表,其头指针作为函数的返回值。【函数2.1】LinkList deletenode(LinkList L,int c){LinkList Lc,p,pre;pre=L;p= (1) ;Lc=(LinkList)malloc(sizeof(ListNode));Lc-next=Lc;while(p!=L)if(p-datac){(2) ;(3) ;Lc-next=p;p=pre-next;}else{pre=p;p=pre-next;}return Lc;}【说明2.2】递归函数dec_to_k_2(int n,int k)的功能是将十进制正整数n转换成k(2≤k≤9)进制数,并打印。【函数2.2】dec_to_k_2(int n,int k){∥将十进制正整数n转换成k(2≤k≤9)进制数if(n!=0){dec_to_k_2( (4) ,k);printf("%d", (5) );}}

考题 请将以下程序中的函数声明语句补充完整#include stdio.hint【12】 ;main( ){int x,y,(*p)();p=max;printf(“d\n”,x,y);}Int max(int a,int b){return (ab/a:b);}

考题 请将以下程序中的函数声明语句补充完整。#include stdio.hint 【 1 2 】 ;main(){ int x,y,(*p)();scanf("%d%d",x,y);p=max;printf("%d\n",(*p)(x,y));}int max(int a,int b){ return(ab?a:b);}

考题 ●试题二阅读下列程序或函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。【函数2.1说明】函数strcmp()是比较两个字符串s和t的大小。若s<t函数返回负数;若s=t函数返回0;若s>t,函数返回正数。【函数2.1】int strcmp(char *s,char *t){ while(*s *t (1) ){s++;t++;}return (2) ;}【程序2.2说明】在n行n列的矩阵中,每行都有最大的数,本程序求这n个最大数中的最小一个。【程序2.2】#includestdio.h#define N 100int a[N][N];void main(){ int row ,col,max,min,n;/*输入合法n(<100),和输入n×n个整数到数组a的代码略*/for (row=0;row<n;row++){for(max=a[row][0],col=1;col<n;col++)if( (3) )max=a[row][col];if( (4) )min=max;else if( (5) )min=max;}printf ("The min of max numbers is %d\n",min);}

考题 请编写一个函数unsigned short fun(unsigned short s)。其中s是一个大于10的无符号整数,若s是一个n(n≥2)位整数,函数求出s的n位数之和作为函数的返回值。例如,s值为4315,则函数返回13。s值为13函数,则返回4。注意:部分源程序已存在文件PROC15.cpp中。请勿修改主函数和其他函数中的任何内容,仅在函数fun()的花括号中填写若干语句。文件PROC15.cpp的内容如下://PROC15.cppinclude<iostream>using namespace std;unsigned short fun(unsigned short s);int main(){unsigned short a;cout<<"Enter a unsigned short integer number:";cin>>a;if(a<10)cout<<"Data error!";elsecout<<"The result: "<<fun(a)<<end1;return 0;}unsigned short fun(unsigned short s){//* * * * * *}

考题 阅读下列程序说明和C代码,将应填入(n)处的字句写在对应栏内。[说明]函数Printprime(int UpBound)的功能是输出1到UpBound以内的全体素数。[函数2.1]void PrintPrime(int UpBound)printf("2," );for(i=3; i<UpBound; i+ =2) {int k = sqrt(i);for(j=3; j<= k;(1)) /*检查i是否有3到k以入的奇因数*/if((2)) break;fi((3)) printf("%d", i);[函数2.2说明]递归函数invert(int a[],int k),int k)的功能是将数组a中的前k个元素逆置。[函数2.2]void invert(int a[ ], int k){ int t;if ((4)) {invert((5));t=a[0];a[0] =a[k-1];a[k-l]=t;}}

考题 下面是计算n的阶乘的递归函数,请将该函数的定义补充完整。unsigned f(unsigned n){if(n<=1) return 1;else return 【 】;}

考题 以下函数模板min的功能是返回数组a中最小元素的值。请将横线处缺失部分补充完整。template<typename T>T min(T a[],int n){T temp=a[0];for(int i=1,i<n;i++)if(a[i]<temp)______;return temp;}

考题 阅读以下说明和C程序代码,将程序补充完整。[说明]下面C程序代码的功能是:对于输入的一个正整数n(100≤n<1000),先判断其是否是回文数(正读反读都一样的数)。若不是,则将n与其反序数相加,再判断得到的和数是否为回文数,若还不是,再将该和数与其反序数相加并进行判断,依此类推,直到得到一个回文数为止。例如,278不是回文数,其反序数为872,相加后得到的1150还不是回文数,再将1150与其反序数511相加,得到的1661是回文数。函数int isPalm(long m)的功能是:将正整数m的各位数字取出存入数组中,然后判断其是否为回文数。若m是回文数则返回1,否则返回0。[C程序代码]include<stdio.h>include<stdlib.h>int isPalm(long m){int i=0, k=0;char str[32];while(m>0) {str[k++]= _______ +'0';m=m/10;}for(i=0; i<k/2; i++)if(str[i]!=str _______ )return 0;return 1;}int main( ){long n, a, t;printf("input a positive integer: "); scanf("%ld", n);if(n<100||n>=1000)return -1;while( _______ ) {printf("%id->", n);for(a=0, t=n; t>0; ){a= _______ *10+t%10; t=t/10;n= _______ ;printf("%id\n", n);system("pause"); return 0;

考题 阅读以下函数说明和C语言函数,将应填入(n)的字句写在答题纸的对应栏内。[说明1]函数int fun1(int m, int n)的功能是:计算并返回正整数m和n的最大公约数。[函数1]int fun1(int m, int n){while ((1)) {if (m>n) m=m-n;else n=n-m;}(2);}[说明2]函数long fun2(char*str)的功能是:自左至右顺序取出非空字符串str中的数字字符形成一个十进制整数(最多8位)。例如,若字符串str的值为“f3g8d5.ji2e3p12fkp”,则函数返回值为3852312。[函数2]long fun2(char *str){int i=0;long k=0;char *p=str;while (*p!='\0' (3)) {if (*p>='0' *p<='9') {k=(4)+ *p - '0';++i;}(5);}return k;}

考题 下列程序在输入m后,求满足条件“n! using 下列程序在输入m后,求满足条件“n!<=m<=(n+1)!”的值n,请将程序补充完整。include <iostream>using namespace std;int main(){int n,m, jc = 1;cin>>m;for(n=2;jc<=m;n++)jc = jc*n;cout<<"n="<<【 】<<end1;return 0;}

考题 阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。【说明】给定函数fun的功能是:将从键盘上输入的每个单词的第一个字母转换为大写字母,输入时各单词必须用空格隔开,用“.”结束输入。【函数】int fun(char *c,int status){if((1)=='')return 1;else{if((2)(3)(4))(5)='A'-'a';return 0;}}main(){int flag=1;char ch;printf("请输入一字符串,用点号结束输入!\n");do {ch=getchar();flag=fun(ch,flag);putchar(ch);}while(ch!='.');printf("\n");}

考题 下面是用来计算n的阶乘的递归函数,请将该函数的定义补充完整。(注:阶乘的定义是n!cn*(n-1)*...*2*1)unsigned fact(unsigned n){if (n<=1)return 1;return 【 】;}

考题 阅读以下说明和C语言函数,将应填入(n)处的字句写在对应栏内。[说明]编写一个函数,输入为偶数时,调用函数求1/2+?/+…+1/n,当输入n为奇数时,调用函数1/1+1/3+…+1/n (利用指针函数)。[函数]include "stdio. h",main(){float peven (),podd (),dcall ();float sum;int n;while (1){scanf("%d",n);if (n>1)break;}if(n%2==0){printf("Even="):(1);}else{pfinff("Odd=");(2);}printf("%f",sum);}float peven (int n){float s;int is=1;for(i=2;i<=n;i+=2)(3);return (s);}float podd (n)int n;{float s;int i;s=0;for(i=1 i<=n;i+=2)(4);return (s);}float dcall(fp,n)float (*fp) ();int n;{float s;(5);returu (s);}

考题 阅读以下说明和C程序代码,将应填入(n)处的字句写在对应栏内。【说明】下面C程序代码的功能是:对于输入的一个正整数n(100≤n<1000),先判断其是否是回文数(正读反读都一样的数)。若不是,则将n与其反序数相加,再判断得到的和数是否为回文数,若还不是,再将该和数与其反序数相加并进行判断,依此类推,直到得到一个回文数为止。例如,278不是回文数,其反序数为872,相加后得到的1150还不是回文数,再将1150与其反序数511相加,得到的1661是回文数。函数int isPalm(long m)的功能是:将正整数m的各位数字取出存入数组中,然后判断其是否为回文数。若m是回文数则返回1,否则返回0。【C程序代码】include <stdio.h>include <stdlib.h>int isPalm(long m){ /*判断m是否为回文数*/int i = 0, k = 0;char str[32];while (m > 0) { /*从个位数开始逐个取出m的各位数字并存入字符数组str*/str[k++] =(1)+ '0';m = m / 10;}for(i = 0; i < k/2; i++) /*判断str中的k个数字字符序列是否是回文*/if ( str[i] != str[(2)] ) return 0;return 1;}int main ( ){long n, a, t;printf("input a positive integer:"); scanf("%ld",n);if (n < 100 || n > =1000) return -1 ;while((3)) { /*n不是回文数时执行循环*/printf("%ld-> ", n);for(a = 0, t = n; t > 0; ) { /*计算n的反序数并存入a*/a =(4)*10 + t % 10; t = t / 10;} /*end of for*/n =(5); /*与反序数求和*/} /*end of while*/printf ("%id\n",n);system("pause"); return 0;}

考题 请将以下程序中的函数声明语补充完整。 include int【】 main(){int x,y,(*p)(); sccanf(" 请将以下程序中的函数声明语补充完整。include<stdio.h>int【 】main(){ int x,y,(*p)();sccanf("%d%d",x,y);p=max;printf(%d\n",(*p)(x,y));}int max(int a,int b){return(a>b?a:b);}

考题 阅读下列函数说明和C代码,将应填入 处的字句写在答题纸的对应栏内。[函数1.1说明]函数int factors(int n)的功能是判断整数n(n=2)是否为完全数。如果n是完全数,则函数返回0,否则返回-1。所谓“完全数”是指整数n的所有因子(不包括n)之和等于n自身。例如28的因子为1、2、4、7、14,而28=1+2+4+7+14,因此28是“完全数”。[函数1.1]int factors(int n){int i,s;for(i=1,s=0;i=n/2;i++)if(n%i==0) (1) ;if( (2) )return 0;return -1;}[函数1.2说明]函数int maxint(int a[], int k)的功能是用递归方法求指定数组中前k个元素的最大值,并作为函数值返回。[函数1.2]int maxint(int a[],int k){int t;if( (3) ) return (4) ;t=maxint(a+1, (5) );return (a[0]t)?a[0]:t;

考题 阅读以下函数说明和C语言函数,将应填入(n)处的字句写在答题纸的对应栏内。【函数2.1说明】递归函数sum(int a[], int n)的返回值是数组a[]的前n个元素之和。【函数2.1】int sum (int a[],int n){if(n>0) return (1);else (2);}【函数2.2说明】有3个整数,设计函数compare(int a,int b,int c)求其中最大的数。【函数2.2】int compare (int a, int b, int c ){ int temp, max;(3) a:b;(4) temp:c;}【函数2.3说明】递归函数dec(int a[],int n)判断数组a[]的前n个元素是否是不递增的。不递增返回 1,否则返回0。【函数2.3】int dec( int a[], int n ){if(n<=1) return 1;if(a[0]<a[1]) return 0;return (5);}

考题 阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。【说明2.1】L为一个带头结点的循环链表。函数deletenode(LinkList L, int c)的功能是删除L中数据域data的值大于c的所有结点,并由这些结点组建成一个新的带头结点的循环链表,其头指针作为函数的返回值。【函数2.1】LinkList deletenode(LinkList L, int c){LinkList Lc,p,pre;pre=L;p=(1);Lc=(LinkList)malloc(sizeof(ListNode) );Lc->next=Lcwhile(p!=L)if(p->data>c){(2);(3);Lc->next=p;p=pre->next;}else{pre=p;p=pre->next;}return Lc;}【说明2.2】递归函数dec_to_k_2(int n, int k)的功能是将十进制正整数n转换成k<2≤k≤9)进制数,并打印。【函数2.2】dec_to_k_2(int n, int k){ /*将十进制正整数n转换成k(2≤k≤9)进制数*/if(n!=0){dec_to_k_2((4),k);printf("%d",(5));}}

考题 请编写一个函数fun(),它的功能是求出一个正整数的所有因子。例如,若输入72, 则程序应该输出:72=2*2*2*3*3。注意:部分源程序已存在文件PROC14。CPP中。请勿修改主函数和其他函数中的任何内容,仅在函数fun()的花括号中填写若干语句。文件PROC14.cpp的内容如下://PROC14. cppinclude <iostream>using namespace std;void fun(int number);int main ( ){int n;cout<<"Please enter a number \n";cin>>n;cout<<n<<"=";fun (n);return 0;}void fun(int number){//* * * * * * *}

考题 阅读以下说明和C函数,填补代码中的空缺(1)~(5),将解答填入答题纸的对应栏内。【说明1】 函数isPrime(int n)的功能是判断n是否为素数。若是,则返回1,否则返回0。素数是只能被1和自己整除的正整数。例如,最小的5个素数是2,3,5,7,11。 【C函数】 int isPrime (int n) { int k, t; if (n==2) return 1; if(n2|| (1) ) return 0; /* 小于2的数或大于2的偶数不是素数 */ t=(int)sqrt(n)+1; for (k=3; kt; k+=2) if ( (2) ) return 0; return 1; } 【说明2】 函数int minOne(int arr[], int k)的功能是用递归方法求指定数组中前k个元素中的最小者,并作为函数值返回。 【C函数】 int minOne (int arr[], int k) { int t; assert (k0) ; if(k==1) return (3) ; t=minOne(arr+1, (4) ; if (arr[0]t) return arr[0]; return (5) ; }

考题 试题二 ( 共15 分)阅读以下问题说明、C 程序和函数,将解答填入答题纸的对应栏内。【 问题1 】分析下面的C 程序,指出错误代码(或运行异常代码)所在的行号。【C程序】【 问题2】函数inputArr(int a[], int n)的功能是输入一组整数(输入0或输入的整数个数达到n时结束)存入数组 a,并返回实际输入的整数个数。函数 inputArr 可以成功编译。但测试函数调用inputArr后,发现运行结果不正确。请指出错误所在的代码行号,并在不增加和删除代码行的情况下进行修改,写出修改正确后的完整代码行,使之符合上述设计意图。【C 函数】

考题 Staff类含有int型数据成员ID,两个Staff对象相等是指它们的ID相同。下面的函数重载了运算符==,它用来判断两个Staff对象是否相等,相等时返回true,否则返回false。请将横线处缺失部分补充完整。bool Staff::Staff==(const Staff s){return(【 】)}

考题 下面是用来计算n的阶乘的递归函数,请将该函数的定义补充完整。(注:阶乘的定义是n!=n*(n-1)*...*2*1)unsigned fact (unsigned n){if(n<=1)retum 1;return【 】;}

考题 阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。[说明1]函数int function(int a)的功能是判断指定的正整数是否为素数,若是,返回1,否则返回0。[C函数1]int function(int a){ int yes,i;i=2;yes=1;while(i<=a/2 (1) ){if( (2) ) yes=0;i++;}return yes;}[说明2]函数int deleteARR(int*arr,intn)的功能是指定的有序数组压缩成各元素互不相同的有序数组,即相同数只保留一个,多余的被删除。函数返回值是互不相同的元素个数。[C函数2]int deleteARR(int*arr,int n){ int k,j;k=0;j=1;while(j<n){if( (3) )(4)=arr[j];j++;}return (5);}

考题 阅读以下问题说明、C 程序和函数,将解答填入答题纸的对应栏内。 【问题 1】 分析下面的C 程序,指出错误代码(或运行异常代码)所在的行号。 【C 程序】 【问题 2】 函数inputArr(int a[], int n)的功能是输入一组整数(输入0或输入的整数个数达到n时结束)存入数组 a,并返回实际输入的整数个数。函数 inputArr 可以成功编译。但测试函数调用inputArr后,发现运行结果不正确。 请指出错误所在的代码行号,并在不增加和删除代码行的情况下进行修改,写出修改正确后的完整代码行,使之符合上述设计意图。 【C 函数】

考题 某嵌入式系统中,存在16路数据采集通道。为了提高数据采集的可靠性,对16路采集通道均采用双余度设计;为了监控采集通道是否发生故障,对各路双余度通道采集值进行比较。只有当该通道两个余度设备采集值均不小于45时,才表示该路通道正常。设计人员设计函数num_of_passer用于统计无故障通道数目,在该函数的设计中考虑了如下因素: 11采用如下数据结构存储通道号及采集值: struct Value { unsigned int No; //通道号,1到16 unsigned short value1; //余度1采集值 unsigned short value2; //余度2采集值 } 12当输入参数异常时,函数返回-1; 13若正确统计了无故障通道数目,则返回该数目; 14该函数需要两个输入参数,第一个参数是用于存储通道号及余度采集值的数组,第二个参数为通道总数目; 15调用函数sort16对存储通道号及余度采集值的数组进行排序处理。 开发人员根据上述要求使用ANSI C对代码实现如下(代码中每行的第一个数字代表行号): 1 unsigned int num_of_passer(struct Value array[], unsigned int num) 2 { 3 unsigned int n=0; //循环变量 4 unsigned int counter; //无故障通道数目 5 if((array==NULL)||(num==0)||(num>16)) 6 return-1; //当输入参数异常时,函数返回-1 7 sort(array); //对存储值的数组进行排序处理 8 for(n=0; n<=num; n++) 9 { 10 if((array[n].Valuel>45) 12 } 13 return counter; 14 } 11、嵌入式软件中通常使用函数扇出数和注释率来衡量程序的可维护性,请计算函数num_of_passer的扇出数和注释率,并判断此函数扇出数和注释率是否符合嵌入式软件的一般要求。(6分) 12、请使用代码审查的方法找出该程序中所包含的至少4处错误,指出错误所在的行号和问题描述。(8分) 13、覆盖率是度量测试完整性的一个手段,也是度量测试有效性的一个手段。在嵌入式软件白盒测试过程中,通常以语句覆盖率、分支覆盖率和MC/DC覆盖率作为度量指标,请分别指出对函数num_of_passer达到100%语句覆盖、100%分支覆盖和100%MC/DC覆盖所需的最少测试用例数目。(6分)