Chinaunix首页 | 论坛 | 博客
  • 博客访问: 631256
  • 博文数量: 1008
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 5175
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-31 09:44
文章分类
文章存档

2012年(1008)

我的朋友

分类:

2012-08-01 11:19:28

原文地址:C_指针数组 作者:luozhiyong131

指针数组

#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

阅读(196) | 评论(0) | 转发(0) |
0

上一篇:C_指针(二)

下一篇:C_数据转换

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