1/2作业

文章包含四个C语言程序示例,分别演示了如何实现字符串的逆置、非函数方式的字符串比较、字符串连接以及打印杨辉三角。这些程序使用基本的数组操作和循环结构来处理字符串数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 实现字符串逆置

例如:char a[]=”hello     my    student”

输出:student    my    hello

#include<stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
	char a[]="hello my student";
	int i=0,j=strlen(a)-1;
	char t;
	while(i<j)
	{
		t=a[i];
		a[i]=a[j];
		a[j]=t;
		i++;
		j--;
	}
	i=0;
	j=0;
	int k;
	while(a[i]!='\0')
	{
		while(a[j]!=' '&&a[j]!='\0')
		{
			j++;
		}
		k=j-1;
		while(i<k)
		{
			t=a[i];
			a[i]=a[k];
			a[k]=t;
			i++;
			k--;
		}
		while(a[j]==' ')
		{
			j++;
		}
		i=j;
	}
	puts(a);
	return 0;
}

2,使用非函数方法实现字符串比较

#include<stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
    char a[]="abc",b[]="ABC";
	int i=0,j=0,sub;
	while(a[i]==b[j])
	{
		if(a[i]=='\0'&&b[j]=='\0')
		{
			
			break;
		}
		else
		{
			i++;
			j++;
		}
	}
	sub=a[i]-b[j];
	if(sub==0)
	printf("a=b\n");
	else if(sub>0)
		printf("a>b\n");
	else
		printf("a<b\n");
	return 0;
}

3,使用非函数方法实现字符串连接

#include<stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
     char arr[20],brr[20];
    char len1,len2,len;
    char crr[100];
    printf("请输入两个字符串:\n");
    scanf("%s %s",arr,brr);
    len1=strlen(arr);
    len2=strlen(brr);
    len=len1+len2-1;
    for(int i=0;i<=len;i++)
    {
        if(i<len1)
        {
            crr[i]=arr[i];
        }
        else
        {
            crr[i]=brr[i-len1];
        } 
    }
    puts(crr);
	return 0;
}

4.打印杨辉三角

#include<stdio.h>
#include <string.h>
#define LINE_MAXIMUM 10
int main(int argc, const char *argv[])
{  
    int i = 0, j = 0;
    int array[LINE_MAXIMUM][LINE_MAXIMUM] = {0};
    for(i = 0; i < LINE_MAXIMUM; i++)
    {
        for(j = 0; j <= i; j++)
        {
            if(j == 0 || j == i)  
                array[i][j] = 1;
            else                   
                array[i][j] = array[i - 1][j - 1]\
                        + array[i - 1][j];
        }
    }
    for(i = 0; i < LINE_MAXIMUM; i++)
    {
        for(j = 0; j <= i; j++)
            printf("%d ", array[i][j]);
        printf("\n");
    }
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值