现在的位置: 首页 > 教材内容 > 正文

函数和数组

2012年12月27日 教材内容 ⁄ 共 260字 ⁄ 字号 暂无评论

函数和数组

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <stdio.h>
void data_in(int *p,int n);
void data_out(int *p,int n);
main()
{
    int a[10]= {0},b[6]= {0};
    printf("Input a:");
    data_in(a,10);
    printf("Input b:");
    data_in(b,6);
    printf("Array a:");
    data_out(a,10);
    printf("Array b:");
    data_out(b,6);
}
 
void data_in(int *p,int n)
{
    int i=0;
    for(i=0; i<n; i++,p++)
        scanf("%d",p);
}
 
void data_out(int *p,int n)
{
    int i=0;
    for(i=0; i<n; i++,p++)
        printf("%5d",*p);
    printf("\n");
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <stdio.h>
void reverse(int *p,int n);
void data_out(int *p,int n);
main()
{
    int a[10]= {1,2,3,4,5,6,7,8,9,10};
    printf("Original:\n");
    data_out(a,10);
    reverse(a,10);
    printf("Final:\n");
    data_out(a,10);
}
 
void reverse(int *p,int n)
{
    int t=0,*q=NULL;
    q=p+n-1;
    while(p<q) {
        t=*p; *p=*q; *q=t;
        p++; q--;
    }
}
 
void data_out(int *p,int n)
{
    int i=0;
    for(i=0; i<n; i++,p++)
        printf("%5d",*p);
    printf("\n");
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <stdio.h>
#define N 5
void data_in(int *p,float *q);
void data_out1(int *p);
void data_out2(float *p);
int data_max(float *p);
 
main()
{
    int num[N]= {0},k=0;
    float score[N]= {0.0};
 
    printf("Input numbers and scores:\n");
    data_in(num,score);
    data_out1(num);
    data_out2(score);
    k=data_max(score);
    printf("number=%d,score=%.2f\n",num[k],score[k]);
}
 
void data_in(int *p,float *q)
{
    int i=0;
    for(i=0; i<N; i++,p++,q++)
        scanf("%d%f",p,q);
}
 
void data_out1(int *p)
{
    int i=0;
    for(i=0; i<N; i++,p++)
        printf("%8d",*p);
    printf("\n");
}
 
void data_out2(float *p)
{
    int i=0;
    for(i=0; i<N; i++,p++)
        printf("%8.2f",*p);
    printf("\n");
}
 
int data_max(float *p)
{
    int i=0,k=0;
    for(i=1; i<N; i++)
        if(p[k]<p[i])   k=i;
    return k;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <stdio.h>
int funp(char *p);
main()
{
    char a[80]= {'\0'};
    int k=0;
    printf("Input a string:\n");
    gets(a);
    k=funp(a);
    if(k==0)
        printf("\"%s\" is not a huiwen string.\n",a);
    else
        printf("\"%s\" is a huiwen string.\n",a);
}
 
int funp(char *p)
{
    char *q=p;
    while(*q!='\0')
        q++;
    q--;
    while(p<q)
        if(*p!=*q)
            return 0;
        else {
            p++; q--;
        }
    return 1;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <stdio.h>
void data_out(int p[3][4]);
void fun_add(int p[3][4],int q[3][4],int w[3][4]);
 
main()
{
    int a[3][4]= {{3,8,12,15},{2,6,15,13},{5,7,10,16}};
    int b[3][4]= {{6,10,17,15},{5,12,19,20},{7,16,21,16}};
    int c[3][4]= {0};
    printf("Array a:\n");
    data_out(a);
    printf("Array b:\n");
    data_out(b);
    fun_add(a,b,c);
    printf("Array c:\n");
    data_out(c);
}
 
void data_out(int p[3][4])
{
    int i=0,j=0;
    for(i=0; i<3; i++) {
        for(j=0; j<4; j++)
            printf("%4d",p[i][j]);
        printf("\n");
    }
}
 
void fun_add(int p[3][4],int q[3][4],int w[3][4])
{
    int i=0,j=0;
    for(i=0; i<3; i++)
        for(j=0; j<4; j++)
            w[i][j]=p[i][j]+q[i][j];
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
void fun(int c);
int a=3,b=5,c=0;
 
main()
{
    int c=1;
    fun(c);
    printf("a=%d,b=%d,c=%d\n",a,b,c);
}
 
void fun(int c)
{
    int a=1;
    a=2*a;
    {
        int c=2;
        b=a+b+c;
    }
    c=c+5;
    printf("a=%d,b=%d,c=%d\n",a,b,c);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
void fun();
main()
{
    int i=0;
    for(i=1; i<=3; i++)
        fun();
}
 
void fun()
{
    auto int a=3;
    static int b=3;
 
    a=a+2;
    b=b+2;
    printf("a=%d,b=%d\n",a,b);
}
【上篇】
【下篇】

抱歉!评论已关闭.