int word=0,max=0; while(*p!='.') {
while((*p<='z')&&(*p>='a')||(*p<='Z')&&(*p>='A')) { ① ; p++; } if(② ) max=word; ③ ; p++; }
return max; }
void main() {
char str[80]; gets(str);
printf(\}
3. 下面程序中,函数SumColumMin的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。主函数中输出和值。
# include
void SumColumMin(int a[M][N],int *sum) {
int i,j,k,s=0; for(i=0;i k=0; for(j=0;j if(a[k][i]>a[j][i]) k=j; s+=① ; } ② =s; } void main() { int x[M][N]={3,2,5,1,4,1,8,3},s; SumColumMin(③ ); printf(\} 4. 以下程序采用直接选择法对数组a中的10个数进行降序排列,然后按每行5个数的格式输出。 # include int i,j,k,t,a[10]={1,4,3,5,7,9,2,0,6,8}; for(j=0;j<9;j++) { k=j; for(i=j+1;i<10;i++) { if(*(a+i)>① ) k=i; } t=a[j]; *(a+j)=② ; *(a+k)=t; } for(i=0;i<10;i++) printf( (i%5) ? \③ , *(a+i) ); printf(\} 5. 以下程序的功能是计算下列级数之和 s=1+x+x2/2!+x3/3!+…+xn/n! double sum(int x,int n) { int i; double a,b,s; a=1.0;b=1.0;s=1.0; for(i=1;i void main() { int x,n;double s; scanf(\ ③ ; printf(\} 6. 下面invert函数实现数组元素值的逆置,即a[0],a[9]互换,a[1],a[8]互换,以此类推。 请填空。 # include { void invert(int *s,int num); int a[10]={1,2,3,4,5,6,7,8,9,10},i,n=10; for(i=0;i<10;i++) printf(\ printf(\ invert(a,n-1); for(i=0;i<10;i++) printf(\ printf(\} void invert(int *s,int num) { int *t,k; t=s+num; while(① ) { k=*s;*s=*t;*t=k; ② ; ③ ; } } 7. 下面程序的功能是在数组中同时查找最大元素下标和最小元素下标,分别存放在main函数的变量max和min中,请填空。 # include void fun(int *a,int n,int *max,int *min) { int i; *max=*min=0; for(i=1;i if(*(a+i)>*(a+*max)) ① ; else if(*(a+i)<*(a+min)) ② ; return; } void main() { int a[10]={3,15,2,26,9,28,7,1,4,12}; int max,min; ③ ; printf(\} 程序输出为: max=5,min=7 8. 下面程序的功能是将已按升序排好序的两个字符串a和b中的字符按升序归并到字符 串c中。即字符串c为:abcdefghijklmnpq # include { char a[]=\ char b[]=\ char c[80],*p; int i=0,j=0,k=0; while(a[i]!='\\0'&&b[j]!='\\0') { if(a[i] c[k]='\\0'; if(③ )p=b+j; else p=a+i; strcat(c,p); puts(c); } 9. 以下程序可把输入的十进制数以十六进制的形式输出。 # include char b[17]=\ int c[64],d,i=0,base=16; long n; scanf(\ do{ c[i]=① ; i++; n=n/base; }while(n!=0); for(i--; i>=0; --i) { d=② ; printf(\③ ); } printf(\ } 10. 以下程序能统计并输出1至100之间所有能被3整除但不能被7整除的所有正整数。 # include void fun( int m, int *p, int *t) {