您现在的位置是:首页 >技术交流 >码蹄杯语言基础:指针(C语言)网站首页技术交流

码蹄杯语言基础:指针(C语言)

YueXuan_521 2024-10-04 12:01:05
简介码蹄杯语言基础:指针(C语言)

码蹄集网站地址:https://www.matiji.net/exam/ojquestionlist
Gitee代码仓库:码蹄杯代码

⭐MT1515整型变量和它的指针

定义一个整型变量和指针,让指针指向这个变量,通过指针输出变量的值。

格式
输入格式:
输入整型

输出格式:
输出整型

#include<stdio.h>
int main() 
{
    int x, *p;
    scanf("%d", &x);
    p = &x;
    printf("%d
", *p);
    return 0; 
}

⭐MT1517顺序输出

编写一个程序,输入3个整数,用指针方法指向他们, 将它们按由小到大的顺序输出。

格式
输入格式:
输入整型,空格分隔

输出格式:
输出整型,空格分隔

#include<stdio.h>
int main() 
{
    int a, b, c, *x, *y, *z;
    scanf("%d %d %d", &a, &b, &c);
    x = &a;
    y = &b;
    z = &c;
    if ((*x < *y) && (*y < *z))
    {
        printf("%d %d %d", *x, *y, *z);
    }
    else if ((*z < *y) && (*y < *x))
    {
        printf("%d %d %d", *z, *y, *x);
    }
    else if ((*y < *x) && (*x < *z))
    {
        printf("%d %d %d", *y, *x, *z);
    }
    else if ((*z < *x) && (*x < *y))
    {
        printf("%d %d %d", *z, *x, *y);
    }
    else if ((*x < *z) && (*z < *y))
    {
        printf("%d %d %d", *x, *z, *y);
    }
    else if ((*y < *z) && (*z < *x))
    {
        printf("%d %d %d", *y, *z, *x);
    }
    return 0; 
}

⭐MT1518用指针交换

输入3个整数a,b,c,编写一个交换函数,用指针做参数,将它们按由小到大的顺序放到a,b,c中再输出。

格式
输入格式:
输入整型,空格分隔。

输出格式:
输出整型,空格分隔。

#include<stdio.h>
#define N 3
void Exchange(int *p, int size)
{
    int i, j, temp, *q;
    q = p;
    for (i=0;i<size-1;i++)
    {
        for (j=0;j<size-i-1;j++)
        {
            if (*p > *++q)
            {
                temp = *p;
                *p = *q;
                *q = temp;
            }
        }
    }
}
int main() 
{
    int a[N], i, size;
    for (i=0;i<N;i++)
    {
        scanf("%d", &a[i]);
    }
    size = sizeof(a) / sizeof(a[0]);
    Exchange(a, size);
    for (i=0;i<N;i++)
    {
        printf("%d ", a[i]);
    }
    return 0; 
}

⭐MT1519实型指针

定义一个实型变量和指针,让指针指向这个变量,通过指针输出变量的值。

格式
输入格式:
输入实型

输出格式:
输出实型

#include<stdio.h>
int main() 
{
    double x, *p;
    scanf("%lf", &x);
    p = &x;
    printf("%lf
", *p); 
    return 0; 
}

⭐MT1520字符型指针

定义一个字符型变量和指针,让指针指向这个变量,通过指针输出变量的值。

格式
输入格式:
输入字符型

输出格式:
输出字符型

#include<stdio.h>
int main() 
{
    char x, *p;
    scanf("%c", &x);
    p = &x;
    printf("%c
", *p);
    return 0; 
}

⭐MT1534指针递增

编写一个使用指针递增方式访问数组a的元素的程序。数组长度为3,数组元素为1,2,3。

格式
输入格式:

输出格式:
分行输出数组a的元素,数组为整型

#include<stdio.h>
int main()
{
    int a[3] = { 1, 2, 3 };
    int* p = a;
    for (int i = 0; i < 3; i++)
    {
        printf("a[%d]=%d
", i, *p++);
    }
    return 0;
}

⭐MT1455

// #include<stdio.h>
// #define N 10
// int main() 
// { 
//     int a[N], i;
//     for (i=0;i<N;i++)
//     {
//         scanf("%d", &a[i]);
//     }
//     int *p = a;
//     for (i=0;i<N;i++)
//     {
//         if (i % 2 == 0)
//         {
//             printf("%d ", *p++);
//         }
//         else
//         {
//             *p++;
//         }
//     }
//     return 0; 
// }

#include<stdio.h>
#define N 10
int main()
{
    int a[N], i;
    for (i = 0; i < N; i++)
    {
        scanf("%d", &a[i]);
    }
    int* p = a;
    for (i = 0; i < N / 2; i++)
    {
        printf("%d ", *p);
        p = p + 2;
    }
    return 0;

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。