程序填空:
以下程序中,函数fun的功能是:将数组s中的所有素数复制到数组t中。
例如:当数组s中值为:21,17,9,59,77,67,49,99,35,83时,则数组t中的值应为:17,59,67,83。
#include
void fun(int s[],int t[])
{
int i,j,k,y=0;
for(i=0;i<=9;i++)
{
k=s[i]/2;
/************found************/
for(j= ____1____ ; j<=k; j++)
if(s[i]%j==0) break;
/************found************/
if(j ____2____ k)
{
/************found************/
t[ ____3____ ]=s[i];
}
}
t[y]=0;
}
main()
{ int i,s[10]={21,17,9,59,77,67,49,99,35,83}, t[10];
fun(s, t);
for(i=0;t[i]!=0;i++)printf("%d ", t[i]);
printf("
");
}
以下程序中,函数fun的功能是:将数组s中的所有素数复制到数组t中。
例如:当数组s中值为:21,17,9,59,77,67,49,99,35,83时,则数组t中的值应为:17,59,67,83。
#include
void fun(int s[],int t[])
{
int i,j,k,y=0;
for(i=0;i<=9;i++)
{
k=s[i]/2;
/************found************/
for(j= ____1____ ; j<=k; j++)
if(s[i]%j==0) break;
/************found************/
if(j ____2____ k)
{
/************found************/
t[ ____3____ ]=s[i];
}
}
t[y]=0;
}
main()
{ int i,s[10]={21,17,9,59,77,67,49,99,35,83}, t[10];
fun(s, t);
for(i=0;t[i]!=0;i++)printf("%d ", t[i]);
printf("
");
}
举一反三
- 分析以下算法的时间复杂度。void fun( int n)i{ int s = 0,i,i,k; for (i - 0; i<= n; i++ ) for (j= 0;j<=i;j++) for (k = 0;k<j;k++) s tt ;}
- 用冒泡法对十个数由小到大排序。 #include void main { int a[10],i,j,t; printf("input 10 numbers: "); for(i=0; i<10;i++) scanf("%d", (1) ); printf(" "); for(i=0;i<9;i++) for(j=i+1;j<10;j++) if(a[i]>a[j]) { (2) ; a[i]=a[j]; a[j]=t; } printf("the sorted numbers: "); for(i=0;i<10;i++) printf("%d ", a[i]); }
- 以下程序的输出是 ___。main() {char a[2][5]={”6937”,”8254”}; int i,j,s=0; for ( i = 0; i < 2; i++ ) for ( j = 0; a[i][j]>’0’ && a[i][j]<=’9’; j+=2 ) s=10*s+a[i][j]-’0’; printf(”s=%d\n”,s);}
- 【单选题】下列给定程序中,函数fun的功能是:有N×N矩阵,根据给定的m(m<=N)值,将每行元素中的值均向右移动m个位置,左位置为0。例如,N=3,m=2,有下列矩阵 1 2 3 4 5 6 7 8 9 程序执行结果为 0 0 1 0 0 4 0 0 7 #include #define N 4 void fun(int (*t)[N], int m) { int i, j; for(i=0; i { for(j=N-1-m; j>=0; j--) t[i][j+m ]=t[i][j]; /**********found**********/ for(j=0; j t[i][j]=0; } } main() { int t[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10}, i, j, m; printf(" The original array: "); for(i=0; i { for(j=0; j printf("%2d ",t[i][j]); printf(" "); A. i B. m C. j D. N
- 下面程序的时间复杂为() for(i=1,s=0; i<=n; i++) {t=1;for(j=1;j<=i;j++) t=t*j;s=s+t;}