给定程序中,函数fun的功能是:求出形参ss所指字符串数组中最长字符串的长度,其余字符串左边用字符*补齐,使其与最长的字符串等长。字符串数组中共有M个字符串,且串长小于N。()#include()#include()#define()M()5()#define()N()20()void()fun(char()()(*ss)[N])(){()()int()()i,()j,()k=0,()n,()m,()len;()for(i=0;()i(){()()len=strlen(ss[i]);()if(i==0)()n=len;()if(len>n)(){()n=len;()()k=i;()}()}()for(i=0;()i()if()(i!=k)(){()m=n;()len=strlen(ss[i]);()for(j=len;()j>=0;()j--)()ss[i][m--]=ss[i][j];()for(j=0;()j()/**********found**********/()____________='*';()}()}()main()(){()()char()()ss[M][N]={"shanghai","guangzhou","beijing","tianjing","cchA.()ss[i]()B.()ss[j][i]()C.()ss[j]()D.()ss[i][j]
举一反三
- 从键盘输入一个字符串放在字符数组ss中,假设ss的大小是30,求输入的字符串中字符为'a'的个数。 #include int fun(char ss[]) { } main() { char ss[30]; int i,n; gets(ss); n=fun(ss) ; printf("%d ",n); }
- 1. 写出下面函数实现的功能是什么? char *maxstr(char *str[],int n) {int i,len,j=0; len=strlen(str[j]); for(i=1;ilen) {j=i;len=strlen(str[i]) ;} return str[j]; }
- 下面程序的运行结果是__________。 char a[2][6]={"Sun","Moon"}; int i,j,len[2]; for(i=0;i<2;i++) { for(j=0;j<6;j++) if(a[i][j]==’\0’) { len[i]=j; break; } if(i!=1) printf(“%s:%d\\”,a[i],len[i]); else printf(“%s:%d\n”,a[i],len[i]); }
- 【单选题】以下算法的时间复杂度() void matrimult(int a[M][N],int b[N][L],int c[M][L]) // { int i,j,k; for(i=0;i<M;i++) for(j=0;j<L;j++) c[i][j]=0; for(i=0;i<M;i++) for(j=0;j<L;j++) for(k=0;k<N;k++) c[i][j]+=a[i][k]*b[k][j]; } A. O(n*l) B. O(m*l) C. O(m*n) D. O(m*n*l)
- 【单选题】下列给定程序中,函数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