給定程序MODI1.C中函數fun的功能是:將 m(1≤m≤10)個字符串連接起來,組成一個新串,放入pt所指存儲區中。 例如:把3個串:“abc”,“CD”,"EF"連接起來,結果是 “abcCDEF”。 請改正程序中的錯誤,使它能得出正確的結果。 注意:不要改動 main 函數,不得增行或刪行,也不得更改程序的結構! 給定源程序:
#include<stdio.h>#include<string.h>int fun (char str[][10],int m,char*pt ){
Int k, q, i ;for( k =0; k < m; k++){ q = strlen ( str [k]);for(i=0; i<q; i++)
pt[i]= str[k,i];
pt += q ;
pt[0]=0;}}main(){int m, h ;char s[10][10], p[120];printf("\nPlease enter m:");scanf("%d",&m);gets(s[0]);printf("\nPlease enter %d string:\n", m );for( h =0; h < m; h++)gets( s[h]);fun(s, m, p);printf("\nThe result is : %s\n", p);}
#include<stdio.h>#include<stdlib.h>#define N 5 int fun (int a[][N]){}
main (){int a[N][N], i, j;printf("***** The array *****\n");for( i =0; i<N; i++){for( j =0; j<N; j++){ a[i][j]=rand()%10;printf("%4d", a[i][j]);}printf("\n");}
fun ( a );
printf ("THE RESULT\n");for( i =0; i<N; i++){for( j =0; j<N; j++)printf("%4d", a[i][j]);printf("\n");}NONO();}
解題思路: 本題是利用兩重循環給二維數組左下三角元素中的值全部置成0。 參考答案:
int fun (int a[][N]){int i, j;for(i =0; i < N ; i++)for(j =0; j <= i; j++)
a[i][j]=0;}創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎