- 编写一个函数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进行操作。
1 #define N 20
2 void edge(int m[N][N]) {
3 int i;
4 for(i = 0; i < N; i++) {
5 m[0][i] = 0;
6 m[N-1][i] = 0;
7 m[i][0] = 0;
8 m[i][N-1] = 0;
9 }
10 }
1 void fun(char *s, char *t){
2 while(*s!='\0') {
3 if(isdigit(*s)) {
4 *t++ = '$';
5 }
6 *t++ = *s++;
7 }
8 *t = '\0';
9 }
1 void foreach(int a[], int n, void (*f)(int))
2 {
3 int i;
4 for(i = 0; i < n; i++)
5 (*f)(a[i]);
6 }
1 #include
2 #include
3
4 int main(int argc, char *argv[])
5 {
6 int sum = 0;
7 int i;
8 for( i = 1; i < argc; i++)
9 sum+=atoi(argv[i]);
10 if(argc!=1)
11 printf("%f", (double)sum / (argc -1));
12 return 0;
13 }
C语言练习3 (2008-02-23 15:34:09由localhost编辑)