C语言作业软件工程 联系客服

发布时间 : 星期一 文章C语言作业软件工程更新完毕开始阅读d755573b5ebfc77da26925c52cc58bd6308693e9

习题五 数组编程题

1、 用筛法求100之内的素数

2、 用选择法和起泡法对10个整数排序

3、 已有一个已经排好序的数组,输入一个数,要求按原来的排序规律将它插入到数组中 4、 将一个数组中的数按逆序存放,如:1 6 5 9 2 变成 2 9 5 6 1 5、 编写一个程序将两个字符串连接起来,不用strcat函数

6、 输入一行字符串,统计该字符串中字符对ab个数,如:字符串:abcabacda,则个数为:2 7、 把一个字符串头和尾部的“*”去除,如:***abc**def***,变为:abc**def 8、 把一个字符串中间的“*”去除,如:**a**b**c*def***,变为:**abcdef***

9、 已知数组a和数组b中分别存放了若干个有序整数,现在将a和b中的数按顺序存放在

c中,如:a[]={1,3,5,7,9,11} b[]={2,4,6,8},则c[]={1,2,3,4,5,6,7,8,9,11}

10、一个素数依次从低位划去一位、二位、……,若所得个数仍然都时素数,则称为超级素数,例如:239,划去一位为23是素数,划去2位为2是素数,求[100~999]间的超级素数。

习题六 数组程序填空题

1、下列程序运行的结果为 :

main( )

{char ch[7]={“65ab21”}; int i,a=0;

for(i=0;ch[i]>=’0’&&ch[i]<=’9’;i+=2) s=10*s+ch[i]-‘0’; printf(“%d\\n”,s); }

2、下列程序是将字符数组a中下标值为偶数的元素从大到小排列,其他元素不变。 # include # include main( )

{ char a[]=”clanguage”,t; int i, j ,k; k=strlen(a);

for(i=0;i

{ t=a[i];a[i]=a[j];a[j]=t; } puts(a);

printf(“\\n”); }

3、下列程序的输出结果是 ,函数int p( int k,int a[])的功能是 。 # include int p(int k,int a[ ]) { int m,i,c=0;

for(m=2;m<=k;m++)

{ for(i=2;i<=m;i++) if(!(m%i)) break; if(i==m) a[c++]=m; }

return( ); }

#define MAXN 20 main ( )

{ int i,m,s[MAXN]; m=p(13,s);

for(i=0;i

printf(“M\\t”,s[i]);

printf(“\\n”) },

4、以下程序的输出结果是 ,函数s(int a[ ],int n)的功能是

# include void s(int a[ ],int n)

{ int i,j,t;

for(i=0;i

{ for(t=a[i],j=i-1;j>=0&&t

main( )

{ int i,c[ ]={15,3,8,9,6,2 }; s(c,6);

for(i=0;i<6;i++)

printf(“M\\t”,c[i]); printf(“\\n”); }

5、求以下级数和的近似值,约定求和的精度为0.000001 s(x)=x-x3/3*1!+x5/5*2!-x7/7*3!+……………… # include # include

# define Epsilon 0.000001 main( )

{ int i;double s,x,t;

printf(“Enter x. \\n”); scanf(“”,&x); s=0.0; t=x;i=0;

while(fabs(t)>=Epsilon) { s= ;i++;

t=-t*x*x* /((2*i+1)*I); }

printf(“s(%f)=%f\\n”,x,s); }

6、以下程序的输出结果是: # include

int digit (long n,int k) { while(n!=0&&k-->1) n/=10;

return n; }

main( )

{ printf(“%d,%d\\n”,digit(123456789L,2),digit(123456789L,9)); }

7、# include

void s (int a [ ],int n) { int i, j,t,flg; for(i=0;i

{ for(flg=0,j=0;ja[j+1])

{ t=a[j];a[j]=a[j+1];a[j+1]=t; flg=1; }

if(! flg) return; } }

void main( )

{ int i,c[ ]={15,3,8,9,6,2}; s(c,6);

for(i=0;i<6;i++)

printf(“M\\t”,c[i]); printf(“\\n”); }

此程序的输出结果是 ;函数s(int a[ ],int n)的功能是

8、本程序从键盘输入n(0

# include # define N 100 void main( )

{ int a[N],n,i,j,ind,c1,c2;

do { printf(“input n(0

printf(“input shuzu yuansu:\\n”); for(i=0;i

for(c1=1,j=i+1;ja[ind]) c2=c1; ; } }

printf(“其中%d出现%d次\\n”,a[ind], ); }