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

指针和数组

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

【实例5.1】阅读程序,理解通过指针变量访问普通变量的方法。
【实例5.2】假设运动会包括10个项目,编写程序,输入某班各项目的得分,计算该班的总分。
【实例5.3】假设数组a中已存放10个数据,编写程序,将这些数据按逆序重新存放在数组a中。
【实例5.4】改写实例4.3,通过指针变量输入100名学生学号和学年总平均成绩,并找出其中成绩最高的学生。
【实例5.5】改写实例4.5,通过指针将8名候选人的投票数由多到少排序。
【实例5.6】改写实例4.6,使用指针变量计算两个3*5矩阵的和。

【实例5.1】阅读程序,理解通过指针变量访问普通变量的方法。

1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
int main(int argc, char *argv[])
{
    int x=0;
    int *p;
 
    p=&x;
    *p=100;
    *p=*p+50;
    printf("x=%d\n",x);
    return 0;
}

【实例5.2】假设运动会包括10个项目,编写程序,输入某班各项目的得分,计算该班的总分。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
int main(int argc, char *argv[])
{
    int a[10]= {0},*p=NULL,sum=0;
    printf("Input scores:\n");
    for(p=a; p<a+10; p++)
        scanf("%d",p);
    for(p=a; p<a+10; p++) {
        printf("%4d",*p);
        sum=sum+*p;
    }
    printf("\nsum=%d\n",sum);
    return 0;
}

【实例5.3】假设数组a中已存放10个数据,编写程序,将这些数据按逆序重新存放在数组a中。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
int main(int argc, char *argv[])
{
    int a[10]= {1,2,3,4,5,6,7,8,9,10},t=0,*p=NULL,*q=NULL;
 
    p=a; q=p+9;
    while(p<q) {
        t=*p; *p=*q; *q=t;
        p++; q--;
    }
    printf("Final:\n");
    for(p=a; p<a+10; p++)
        printf("%4d",*p);
    printf("\n");
    return 0;
}

抱歉!评论已关闭.