【无标题】作业练习

1.改写strcat

char ch5[20]="abcd";
    char ch6[30]="1234";
    //改写strcat
    char ch5[20]="abcd";
    char ch6[30]="1234";
    int c=strlen(ch5);             //获取ch5字符串'\0'的位置
    int d=strlen(ch6);             //获取ch6字符串'\0'的位置
    printf("c:%d,d:%d\n",c,d);
    for(int j=0;j<d;j++){           
        ch5[c]=ch6[j];             //将ch6的字符串依次拼接到ch5的后面
        c++;
    }
    printf("ch5:%s,ch6:%s\n",ch5,ch6);

2.改写strcmp

char str1[10]="12345";
    char str2[20]="12345";
    int a=0;
    for(int i=0;;i++){
        if(str1[i]!=str2[i]){
            a=str1[i]-str2[i];
            break;
        }else{
            a=0;break;
        }
    }
    printf("a=%d\n",a);

3.获取字符串,判断大小写字母个数和数字字符个数

char ch1[100];
    scanf("%s",ch1);
    int a=0,b=0,c=0;       //a记录小写字母个数,b记录大写字母个数,c记录数字字符个数
    for(int i=0;i<strlen(ch1);i++){
        if(ch1[i]<='z'&&ch1[i]>='a'){
            a++;
        }else if(ch1[i]<='Z'&&ch1[i]>='A'){
            b++;
        }
        else if(ch1[i]<='9'&&ch1[i]>='0'){
            c++;
        }
    }
    printf("输出字符串为:%s\n",ch1);
    printf("a:%d,b:%d,c:%d\n",a,b,c);

4.倒置存储

char ch2[100];
    char ch3[200];
    scanf("%s",ch2);

int j=0;
    for(int i=strlen(ch2)-1;i>=0;i--){
        ch3[j]=ch2[i];
            j++;
            if(j==strlen(ch2)){
                ch3[j]='\0';
            }
    }
    printf("倒置后的字符串为:%s\n",ch3);
    printf("%d\n",strlen(ch3));

5.终端获取字符串,删除其中的空格

char ch4[100],ch5[100];
    gets(ch4);
    int j=0,m=0;
    for(int i=0;i<strlen(ch4);i++){
        if(ch4[i]!=' '){
            ch5[j]=ch4[i];
            j++;
        }
        if(ch4[i]==' '){
            m++;
        }
    }
    printf("删除空格后的字符数组:%s,删除的空格个数为:%d\n",ch5,m);

6.杨辉三角

int arr1[10][10]={};
    int j,k;
    for(j=0;j<10;j++){
        arr1[j][0]=1;
        arr1[j][j]=1;

        for(k=0;k<=j;k++){
            if(j>=2){
                arr1[j][k]=arr1[j-1][k-1]+arr1[j-1][k];
            }    
            printf("%-5d",arr1[j][k]);
        }
        printf("\n");
    }
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值