* 编写一个函数edge(m),将N*N的二维数组m周边的元素置0值,即第0行、第N-1行、第0列、第N-1列的元素置0。 * 请编写函数fun(s, t),函数的功能是:在字符串s中所有数字字符前加一个$字符,结果存到t中。例如,输入:A1B23CD45,则输出为:A$1B$2$3CD$4$5。 * 写一个程序avg,在命令行参数上读入一组整数,输出整数的平均值。比如avg 10 20 30,输出20。 * 写一个函数foreach(a, n, f),对于长度是n的数组上的每一个元素,调用函数f进行操作。 {{{#!cplusplus #define N 20 void edge(int m[N][N]) { int i; for(i = 0; i < N; i++) { m[0][i] = 0; m[N-1][i] = 0; m[i][0] = 0; m[i][N-1] = 0; } } }}} {{{#!cplusplus void fun(char *s, char *t){ while(*s!='\0') { if(isdigit(*s)) { *t++ = '$'; } *t++ = *s++; } *t = '\0'; } }}} {{{#!cplusplus void foreach(int a[], int n, void (*f)(int)) { int i; for(i = 0; i < n; i++) (*f)(a[i]); } }}} {{{#!cplusplus #include #include int main(int argc, char *argv[]) { int sum = 0; int i; for( i = 1; i < argc; i++) sum+=atoi(argv[i]); if(argc!=1) printf("%f", (double)sum / (argc -1)); return 0; } }}}