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

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

下面的算法是判断n是否为素数,其算法时间复杂度为()。 void prime(int n) { 判断n是否是素数 */ for (i=2; i<sqrt(n) && (n % i)!=0; i++) ; if (i>sqrt(n)) printf("%d is a prime number", n); else printf("%d is not a prime number", n); }

A.O(n)

B.O(1)

C.O(sqrt(n)) sqrt表示对n取根方

D.O(n-i)


参考答案和解析
(1)当n=1时,n既不是质数,也不是合数; (2)当n=2时,n是质数; (3)当n≥3时,从2到n-1依次判断是否存在n的因数(因数1除外),若存在,则n是合数;若不存在,则n是质数.
更多 “下面的算法是判断n是否为素数,其算法时间复杂度为()。 void prime(int n) { 判断n是否是素数 */ for (i=2; i<sqrt(n) (n % i)!=0; i++) ; if (i>sqrt(n)) printf("%d is a prime number", n); else printf("%d is not a prime number", n); }A.O(n)B.O(1)C.O(sqrt(n)) sqrt表示对n取根方D.O(n-i)” 相关考题
考题 以下函数按每行 8 个输出数组中的数据void fun(int *w,int n){ int i;for(i=0;in;i++){ ____________printf("%d ",w[i]);}printf("\n");}下划线出应填入的语句是A)if(i/8==0) printf("\n");B)if(i/8==0) continue;C)if(i%8==0) printf("\n");D)if(i%8==0) continue;

考题 若变量n中的值为24,则print()函数共输出【7】行,最后一行有【8】个数。void print (int n,int aa[]){int i;for (i=1; i1;i++){printf ("%6d", aa[i]);if(!(i%5)) printf ("\n");}printf ("\n");}

考题 若变量n中的值为24,则pint函数共输出【】行。void pint(int n,int aa[]){ int i; for(i=1; i=n; i++) { printf("%6d",aa[i]); if(!(i%5))printf("\n"); }printf("\n");}

考题 (28)以下函数按每行8个输出数组中的数据void fun( int *w,int n){ int i;for(i=0;in;i++){________printf(“%d”,w);}printf(“\n”);}下划线处应填入的语句是A)if(i/8==0)print(“\n”); B) if(i/8==0)continue;C) if(i%8==0)print(“\n”); D) if(i%8==0)continue;

考题 以下程序运行后的输出结果是【9】。includestdio.hmain(){ int i,n[]={0,0,0,0,0};for(i=1;i=2;i++){ n[i]=n[i-1]*3+1;printf("%d",n[i]);}printf("\n");}

考题 以下程序运行后的输出结果是【13】。includestdio.hmain(){ int n[2],i,j;for(i=0;i2;i++)n[i]=0;for(i=0;i2;i++)for(j=0;j2;j++)n[j]=n[i]+1;printf("%d\n",n[1]);}

考题 下列给定程序的功能是:读入一个整数n(2=n= 5000),打印它的所有为素数的因子。例如,若输入整数1234,则应输出:2,617。 请修改程序中的错误,使程序能得出正确的结果。 注意:不要改动main函数,不能增选或删行,也不能匿改程序的结构。 试题程序: includeconio.h includestdio.h //****found**** Prime(int m); { int j,P; p=1; //****found**** for(j=2;jm;j++) if!(m%j) { p=0; break; } return(p);int i,n; printf("\nplease enter an integer number between2 and 5000:"); scanf("%d",&n); printf("\n\nThe prime factor(s)of%d is(are):",n): for(i=2;in;i4+) if((!(n%i))&&(Prime(i))) printf("%4d,",i); printf("\n"); }

考题 以下程序可把输入的十进制数以十六进制数的形式输出,请填空。main(){char b[17]={"0123456789ABCDEF"};int c[64],d,i=0,base=16;long n;printf("Enter a number:\n");scanf("%ld",n);do{c[i]=【17】;i++;n=n/base;}while(n!=0);printf("Transmite new base:\n");for(--i;i=0;--i){d=c[i];printf("%c",b【18】);}printf("\n");}

考题 下列程序的功能是输入一个整数,判断是否是素数,若为素数输出1,否则输出0,请填空。main(){int i, x, y=1;scanf("%d", x);for(i=2; i=x/2; i++)if【14】{ y=0; break;}printf("%d\n", y);}

考题 该程序运行的结果是( )。#include#include#define M 100void fun(int m, int *a, int *n){ int i,j=0;for(i=1;i=m;i++)if(i%7==0||i==0)a[j++]=i;*n=j;}main(){ int aa[M],n,k;clrscr();fun(10,aa,n);for(k=0;kif((k+1) ==0)printf("\n");else printf("M",aa[k]);printf("\n");}

考题 假如整数数列中的数不重复,并存放在数组中。下列给定的程序中,函数fun()的功能是:删除数列中值为X的元素。 N中存放的是数列中元素的个数。请改正程序中的错误,使它能够得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:include<stdio.h>define N 20fun (int *a,int n,int x){int p=0,i;a[n]=x;while (x!=a[p])p=p+1;if(p==n) return -1;else{for (i=p;i<n;i++)/*************found**************/a[i+1]=a[i];return n-1;}}main(){int w[N]={-3,0,1,5,7,99,10,15,30,90},x,n,i;n=10;printf("The original data :\n");for (i=0;i<n;i++) printf("%5d",w[i]);printf("\nInput x (to delete ): ");scanf("%d",x);printf("Delete : %d\n",x);n=fun(w,n,x);if (n==-1) printf("***No be found!***\n\n");else{printf("The data after deleted:\n");for (i=0;i<n;i++) printf("%5d",w[i]);printf("\n\n");}}

考题 请补充函数fun(),该函数的功能是:按行统计N×N维矩阵元素中的最大值(均为整数),并把这些值按从小到大的顺序保存在数组b中。矩阵的维数在主函数中输入,并赋予随机数。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。试题程序:include<stdio.h>include<conio.h>include<stdlib.h>define N 20void fun(【 】){int i j;int t;for(i=0;i<n;i++)for(j=0;j<n;j++)if(【 】)b[i]=a[i][j];for(i=0;i<n;i++){for(j=0;i<n;j++)if(【 】){t=b[i];b[i]=b[j];b[j]=t;}}}main(){int a[N][N];int b[N];int n;int i,j;clrscr();printf("*****Input the dimension of array N*****\n");scanf("%d",n);printf("*****The array *****\n");for(i=0;i<n;i++){for(j=0;i<n;j++){a[i][j]=rand()%20;while(a[i][j]==0)a[i][j]=rand()%30;printf("%4d",a[i][j]);}printf(”\n\n”);}for(i=0;i<n;i++)b[i]=0;fun(a,b,n);printf("***** THE RESULT *****\n");for(i=0;i<n;i++)printf(“%d”,b[i]);}

考题 以下程序运行后的输出结果是 。includemain(){int i,n[5]={0};for(i=l;i=4;i++){n[i]=n[i-1]*2+1;printf(“%d”,n[i])}printf(“\n”):}

考题 阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。【说明】有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。【函数】main(){int number[20],n,m,i;printf("the total numbers is:");scanf("%d",n);printf("back m:");scanf("%d",m);for(i=0;i<=n-1;i)scanf("%d,",number[i]);(1);for(i=0;i<=n-1;i)printf("%d,",number[i]);}move(array,n,m)int n,m,array[20];{int *p,array_end;array_end=(2);for(p=array[n-1];(3);p--)*p=(4);*array=array_end;m--;if(m>0) (5);}

考题 阅读以下说明和C语言程序,将应填入(n)处的字句写在对应栏内。【说明】计算n的合数。一个整数n可以有多种划分,使其划分的一列整数之和为n。例如,整数5的划分为:54 13 23 1 12 2 12 1 1 11 1 1 1 1共有7种划分。这种划分的程序如下所示。【程序】include <stdio.h>int n[1000],m,k;void output sum(){int j;for(j=0;n[j]!=0;j++)printf("%d\t",n[j]);printf("\n");}void sum(int i)if(m-n[i]<n[i]){ m=m-n[i];(1)i++;n[i+1]=0;}else{(2)m-=n[i];i++;}if(m!=n[i])sum(i);elseoutput_sum();if(n[i]>1){n[i]--;(3)}else{while((n[i]==1)(i>O)){i--;(4)}if(i!=0){(5)sum(i);}}}void main(){int i;scanf("%d",n[0]);m=k=n[0];for(i=1;i<=k;i++)n[i]=0;while(n[0]!=1){n[0]--;i=0;sum(0);m=k;}}

考题 以下函数按每珩8个输出数组中的数据 void fun( iht*w, int n) { inti; for(i=0;i<n,i++) { ______ printf("%d",w[i]); } printf("\n"); } 下划线处应填入的语句是______。A.if(i/8=0)printf("\n);B.if(i/8=0)continue;C.if(i%8=0)printf("\n");D.if(i%8=0)continue;

考题 分析下列程序,其最终执行结果是______。 main() { int n[3],i,j,k; for(i=0;i<3;i++)n[i]=O; k=2; for(i=0;i<k;i++) for(j=0;j<k;j++) n[j]=n[i]-1; printf("%d\n",n[0]); }A.-2B.-1C.0D.-3

考题 有以下程序 include void fun(int a[],int n) { int i,t; for(i=0; 有以下程序 #include <stdio.h> void fun(int a[],int n) { int i,t; for(i=0;i<n/2;i++) {t=a[i]; a[i]=a[n-1-i]; a[n-1-i]=t;} } main() {int k[10]={1,2,3,4,5,6,7,8,9,10},i; fun(k,5); for(i=2;i<8;i++) printf("%d",k[i]); printf("\n"); } 程序的运行结果是______。A.345678B.876543C.1098765D.321678

考题 有以下程序 include define N 4 void fun(int a[][N],int b[]) { int 有以下程序 #include <stdio.h> #define N 4 void fun(int a[][N],int b[]) { int i; for(i=0;i<N;i++) b[i]=a[i][i]; } main() {int x[][N]={{1,2,3},{4},{5,6,7,8},{9,10} },Y[N],i; fun(x,y); for(i=0;i<N;i++) printf("%d,",y[i]); printf("\n"); } 程序的运行结果是______。A.1,2,3,4,B.1,0,7,0,C.1,4,5,9,D.3,4,8,10,

考题 有以下程序: #includestdio.h void func(int n) { int i; for(i=0;i=n;i++)printf("*"): printf("#"); } main( ) {func(3);printf("????");func(4);printf("n\"); 程序运行后的输出结果( )。A.****#????***#B.***#????****#C.**#????****#D.****#????*****#

考题 若变量n中的值为24,则print()函数共输出行,最后一行有个数。void print (int n,int aa[]){ int i; for(i=1; i1;i++) { printf("%6d",aa[i]); if(!(i%5)) printf("\n"); } printf ("\n");}

考题 请补充main函数,该函数的功能是:把1~100间的所有素数保存在数组aa中,然后输出这些素数并计算它们的和。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若干表达式或语句。试题程序:include<stdio.h>main(){int n, i, j, k, flag, sum;int aa [50];sum=O;k=O;clrscr ();for (i=2; i<100; i++){【 】;for (j=2; j<i&&flag; j++)if (i%j==O){【 】;}if (flag){sum+=i;【 】;}}printf("\n*** prime number ***\n");for (i=0; i<k; i++){if (i%10==0)printf ("\n");printf ("%4d", aa [i]);}printf ("\nsum=%d", sum);}

考题 以下程序的输出结果是#include conio.h#include stdio.h#define M 100void fun(int m, int *a, int *n){ int i,j=0; for(i=1;i=m;i++) if(i%7==0||i%11==0) a[j++]=i; *n=j;}main(){ int aa[M],n,k; clrscr(); fun(100,aa,n); for(k=0;kn;k++) if((k+1)%20==0)printf("\n"); else printf("%d",aa[k]); printf("\n"); }

考题 请补充函数fun(),该函数的功能是:寻找两个整数之间的的所有素数(包括这两个整数),把结果保存在数组bb中,函数返回素数的个数。例如,输入6和21,则输出为:7 11 13 17 19 21。注意:部分源程序给出如下。请勿改动主函数main 和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:include<conio. h>include<stdio. h>define N 1000int fun (int n, int m, int bb [N]){int i, j, k=0, flag;for (j=n; j<=m; j++){【 】;for (i=2; i<j; i++)if(【 】){flag=0;break;}if(【 】)bb [k++] =j}return k;}main (){int n=0,m=0, i, k;int bb[N];clrscr ();printf ("Input n\n");scanf ("%d", n);printf ("Input m\n");scanf ("%d", m);for (i=0; i<m-n; i++)bb[i]=0;k=fun (n, m, bb);for (i=0; i<k; i++)printf ("%4d",bb [i]);}

考题 有以下程序: #includestdio.h #define N 4 void fun(int a[][N],int[]) { int i; for(i=o;iN;i++)b[i]=a[i][i]-a[i][N-1-i-]}; } main( ) { int x[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},y[N],i; fun(X,y); for(i=0;iN;i++)printf("%d,",y[i]);printf("\n"); } 程序运行结果为( )。A.-l2,-3,0,0,B.-3,-l,1,3,C.0,1,2,3,D.-3,-3,-3,-3,

考题 试题9以下程序运行后的输出结果是_____.#include stdio.hmain(){ int i, n[]={0,0,0,0,0};for(i=1; i=2; i++){ n[i]=n[i-1]*3+1;printf(“%d”, n[i]);}printf(“\n”);}

考题 试题13以下程序运行后的输出结果是______.#include stdio.hmain(){ int n[2], i, j;for(i=0; i2;i++) n[i]=0;for(i=0; i2; i++)for(j=0; j2; j++) n[j]=n[i]+1;printf(“%d\n”, n[1]);}

考题 (13)以下程序运行后的输出结果是 【13】 。#include stdio.hmain(){ int i,n[5]={0};for(i=1;i=4;i++){ n[i]==n[i-1]*2+1; printf("%d",n[i]); }printf("\n");}