Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7678927
  • 博文数量: 961
  • 博客积分: 15795
  • 博客等级: 上将
  • 技术积分: 16612
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-07 14:23
文章分类

全部博文(961)

文章存档

2016年(1)

2015年(61)

2014年(41)

2013年(51)

2012年(235)

2011年(391)

2010年(181)

分类: C/C++

2011-05-11 20:13:06

指针数组

#include

#include

 

int main()

{

    int X[3][3] = {{1,2,3},{4,5,6},{7,8,9}};/*定义一个二维数组并初始化*/

    //int X[3][3] = {1,2,3,4,5,6,7,8,9};

    int *P[3] = {X[0],X[1],X[2]};               /*定义一个指针数组*/  

    int *ptr;                                  /*定义一个指针变量*/

    int **p;                                   /*定义一个二级指针变量*/

    int i;

   

    ptr = P[0];                       /*一级地址给指针变量ptr*/

    for(i = 0; i < 3; i++)

        printf("%d ",*ptr++);        /*打印?*/

 

    printf("\n----------\n");

 

    p = P;                         /*二级地址给二级指针变量p*/

    for(i = 0; i < 3; i++)

        printf("%d ",**p++);     /*打印?*/

 

    printf("\n");

}

 

其他:1.编写一函数,用于接收3-10之间的一个数,然后输出由星号组成的正方形。例如,用户输入4,输出结果应为如下所示

****

*  *

*  *

****

/***************************************************

文件名:

  明:熟习函数的使用,完成打印正方形图形

 AutorLzy

 Time 2011-5-8

****************************************************/

#include

 

int init()

{

    int n = 0;

    while(n > 11 || n < 2)               /*判断输入是否合法,否则重新输入*/

    {

        printf("输入正方形的长度(大于2小于11):");

        scanf("%d",&n);

    }

    return n;

}

 

void fprint(int N)

{

    int i, j;

 

    for(i = 0; i < N; i++)

        printf("*");

    printf("\n");

 

    for(i = 0; i < N-2; i++)

    {

        printf("*");

        j = N - 2;

        while(j--)

            printf(" ");

        printf("*\n");

    }

 

    for(i = 0; i < N; i++)

        printf("*");

    printf("\n");

}

 

int main()

{

    int side;

    side = init();

    fprint(side);

}

 

2、编写一个函数,输入字符串内,如果是两个以上连续空格,则用一个空格代替

/******************************************

文件名:

  明:continue的使用

 AutorLzy

 Time 2011-5-9

*******************************************/

#include

 

int main()

{

    char c;

    char flag = 0;

 

    while((c = getchar()) != EOF)

    {

        if(flag == c)

            if( c == ' ')          

                continue;

        putchar(c);    

        flag = c;

    }

}

 

3、写一个函数找出一个整数数组中,第二大的数

#include

#define N 5

 

int main()

{

     int data[N] = {8,2,6,4,5};

     int i,j;

     int temp;

    

     for(j = 0; j < N ; j++)

          for(i = j; i < N-1 ; i++)

          {

               if(data[j] > data[i+1])

               {

                     temp = data[j] ;

                     data[j] = data[i+1];

                     data[i+1] = temp;

               }

          }

    

          printf("%d ",data[N-2]);

     return 0;

}

——部分:Linux C

阅读(2225) | 评论(0) | 转发(3) |
0

上一篇:C_数据转换

下一篇:C_指针(二)

给主人留下些什么吧!~~