2024.1.19 作业

本文介绍了C语言中的四个基本指针操作:strcpy用于字符串复制,strcmp用于比较字符串,strcat用于字符串连接,以及如何使用指针计算终端输入字符串中的空格数量。同时展示了冒泡排序算法的实现,均通过指针实现。
摘要由CSDN通过智能技术生成

1.用指针封装 strcpy strcmp strcat

strcpy:

#include<stdio.h>
#include<string.h>
int main(int argc,const char *argv[])
{
    char arr[30]="",brr[30]="";
    char *pa = arr,*pb = brr;
    int i=0,len1=0,len2=0;
    printf("请输入字符串>>");
    gets(arr);
    printf("请输入字符串>>");
    gets(brr);
    len1=strlen(arr);
    len2=strlen(brr);
    for(i=0;i<len2;i++)
    {
        *(pa+i)=*(pb+i);
    }
    *(pa+len2)='\0';
    puts(arr);
    return 0;
}
 

strcmp:

#include<stdio.h>
#include<string.h>
int main(int argc,const char *argv[])
{
    char arr[30]="",brr[30]="";
    char *pa = arr,*pb = brr;
    int i=0,len1=0,len2=0,len=0,n=0;
    printf("请输入字符串>>");
    gets(arr);
    printf("请输入字符串>>");
    gets(brr);
    len1=strlen(arr);
    len2=strlen(brr);
    len=len2;
    if(len1>len2)
    {
        len=len1;
    }
    for(i=0;i<len;i++)
    {
        if(*(pa+i)==*(pb+i))
        {
            continue;
        }
        else
        {
            printf("%d\n",*(pa+i)-*(pb+i));
            n=1;
            break;
        }
    }
    if(n==0)
    {
        printf("%d\n",n);
    }
    printf("%d\n",strcmp(arr,brr)); //验证

    return 0;
}
 

strcat:

#include<stdio.h>
#include<string.h>
int main(int argc,const char *argv[])
{
    char arr[30]="",brr[30]="";
    char *pa = arr,*pb = brr;
    int i=0,len1=0,len2=0;
    printf("请输入字符串>>");
    gets(arr);
    printf("请输入字符串>>");
    gets(brr);
    len1=strlen(arr);
    len2=strlen(brr);
    for(i=0;i<len2;i++)
    {
        *(pa+len1+i)=*(pb+i);
    }
    *(pa+len1+len2)='\0';
    puts(arr);
    return 0;
}
 

2.从终端中输入一串字符,求出空格的个数;指针

代码:

#include<stdio.h>
#include<string.h>
int main(int argc,const char *argv[])
{
    char arr[30]="";
    char *p = arr;
    int len=0,i=0,n=0;
    printf("请输入字符串>>");
    gets(arr);
    len=strlen(arr);
    for(i=0;i<len;i++)
    {
        if(*(p+i)==' ')
        {
            n++;
        }
    }    
    printf("空格的个数为%d个\n",n);
    return 0;
}
 

3.冒泡排序--->指针

代码:

#include<stdio.h>
#include<string.h>
int main(int argc,const char *argv[])
{
    int arr[6]={34,23,78,56,99,1};
    int *p=arr,i=0,j=0,t=0;
    for(i=0;i<6-1;i++)
    {
        for(j=i+1;j<6;j++)
        {
            if(*(p+i)>*(p+j))
            {
                t=*(p+i);
                *(p+i)=*(p+j);
                *(p+j)=t;
            }
        }
    }
    for(i=0;i<6;i++)
    {
        printf("%d  ",*(p+i));
    }
    putchar(10);
    return 0;
}
 

  • 17
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值