2024.1.4-C语言基础作业

1>

i>

要求:

源代码:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(int argc,char *argv[])
{                              
//将b拷贝至a中
     char a[10]="hello";
     puts(a);

     char b[]="123";
     int i;
     for(i=0;b[i]!='\0';i++)
         a[i]=b[i];

     a[i]='\0';
     puts(a); 
     return 0;
}              


效果图:

ii>

要求:

源代码:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(int argc,char *argv[])
{                              
        //将c连接到a后面
         char a[20]="hello ";
         char c[]="123";
         int i,j;
 
         for(i=0;a[i]!='\0';i++);
         for(j=0;c[j]!='\0';j++)
                 a[i+j]=c[j];
         a[j+i]='\0';
         puts(a);

     return 0;
}              

效果图:

iii>

要求:

源代码:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(int argc,char *argv[])
{                              
        char s[]="hello";
        int i;
        for(i=0;s[i]!='\0';i++);
        printf("len=%d\n",i);


     return 0;
}              

效果图:

iv>

要求:

源代码:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(int argc,char *argv[])
{                              
    char a[10]="hella";
    char b[10]="hello";

    int i=0;
    while(a[i]==b[i])
    {
            if(a[i]=='\0'||b[i]=='\0')
                    break;
            i++;

    }                                         
    int t=a[i]-b[i];
    if(t==0)
            puts("s1==s2");
    else    t>0?puts("s1>s2"):puts("s1<s2");


     return 0;
}              

效果图:

vi>

要求:

源代码:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(int argc,char *argv[])
{ 
//函数
     char str[10];
     gets(str);
     printf("%d\n",atoi(str));
//非函数
     int i=0,sum=0;
     //先跳过空格符
     while(str[i]==' ')
             i++;

     int j=i;
     //保存+-的下标
     if(str[i]=='+'||str[i]=='-')
             i++;

     //循环后面的字符组成整数
     while(str[i]!='\0')
     {
             if(str[i]>='0'&&str[i]<='9')
             {
                     sum=sum*10+(str[i]-'0');
             }
             else break;
             i++;
     }                                        
     //判断j对应度字符是否是-
     if(str[j]=='-')
     {
             sum=-sum;
     }
     printf("sum=%d\n",sum);
     return 0;
}

效果图:

vii>

要求:

源代码:

 #include<stdio.h>
 #include<string.h>
 #include<stdlib.h>
 int main(int argc,char *argv[])
 {
         char str[]="good good study";
         //1.整体逆置
         int i=0;
         int j=strlen(str)-1;
         printf("原字符串为:%s\n",str);
         while(i<j)
         {
                 char t=str[i];
                 str[i++]=str[j];
                 str[j--]=t;
         }
         //单词逆置(yduts doog doog)
         i=j=0;
         while(str[j]!='\0')
         {
                 //j循环到空格结束
                 while(str[j]!=' '&&str[j]!='\0')
                 {j++;}
 
                 int k=j-1;
                 //交换i到j-1之间度字符
                 while(i<k)
                 {
                          char t=str[i];
                          str[i++]=str[k];
                          str[k--]=t;
                 }
 
                 while(str[j]==' ')
                         j++;
                 i=j;
 
         }
         printf("转置后字符串为:%s\n",str);
         return 0;
 }

效果图:

2>

要求:

源代码:

#include<stdio.h>                        
#include<string.h>
#include<stdlib.h>
int main(int argc,char *argv[])
{
        char a[]={"abcd"};
        char b[]={"Abcd"};
        char c[]={"cbcd"};
        if(strcmp(a,b)>0&&strcmp(a,c)>0)
                printf("max=%s\n",a);
        if(strcmp(b,c)>0&&strcmp(b,a)>0)
                printf("max=%s\n",b);
        if(strcmp(c,b)>0&&strcmp(c,a)>0)
                printf("max=%s\n",c);
        return 0;
}

效果图:

3>思维导图

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值