C语言基础 day 6

1、求一维数组中的第二大值

{
    int arr[20]={8,2,15,48,26};
    int i,j,temp,second;

    for(i=1; i<5; i++)
    {
        for(j=0; j<5-i; j++)
        {
            if(arr[j]>arr[j+1])
            {
                temp=arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=temp;
            }
        }
    } 
    printf("second=%d\n",arr[3]);
    
    return 0;
} 



int main(int argc, const char *argv[])
{
    int arr[]={12,34,56,25,66};
    int i,second,max=arr[0];
    int len=sizeof(arr)/sizeof(arr[0]);
    for(i=0; i<len; i++)
    {
        if(arr[i]>max)
        {
            max=arr[i];
        }
        
        if(arr[i]!=max)
        {
            second=arr[i];
        }
    }
    for(i=0; i<len; i++)
    {
        if(arr[i]!=max && arr[i]>second)
        {
            second=arr[i];
        }
    }
    printf("最大值为%d 第二大值为%d\n",max,second);
    return 0;
} 

2、终端输入带空格的字符串,删除字符中的空格 

{
    char str[50]="";
    gets(str);
    int i,j;
    while(str[i]!='\0')
    {
        if(str[i]!=' ')
        {
            str[j]=str[i];
            j++;
        }
        i++;
    }
    str[j]=str[i];
    puts(str);
    return 0;
}  


3、自己实现剩余的string函数族函数,strcat、strcpy、strcmp

strcpy

{
    char arr[]="hello";
    char arr1[]="world";
    int i,j;
    for(i=0; i<5; i++)
    {
        if(arr1[i]!=0)
        {
            arr[i]=arr1[i];
        }else{
            arr[i]=0;
        }
    }
    puts(arr);
    return 0;
} 


strcat

{
	char str[50]="abcdefg";
	char str1[]="ijklmn";
	int i=0,j=0;
	
	while(str[i])
	{
		i++;
	}
	while(str1[j])
	{
		str[i]=str1[j];
		i++;
		j++;
	}
	str[i]=str1[j];
	puts(str);
	return 0;
}  

 

strcmp

{
    char str[50]="woainizhongguo";
    char str1[]="woaini168";
    int i=0;
    while(str[i]==str1[i] && str[i]!='\0')
    {
        i++;
    }
    printf("%d\n",str[i]-str1[i]);
    return 0;
} 


 

4、整理思维导图

5、终端输入10个学生成绩,使用冒泡排序对学生成绩从低到高排序

{
    int arr[50]={0};
    int i,j,temp;
    printf("请输入10个学生的成绩:");
    for(i=0; i<10; i++)
    {
        scanf("%d",&arr[i]);
    }
    for(i=1; i<10; i++)
    {
        for(j=0; j<10-i; j++)
        {
            if(arr[j]>arr[j+1])
            {
                temp=arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=temp;
            }
        }
    }

    for(i=0; i<10; i++)
    {
        printf("%d  ",arr[i]);
    }
    return 0;
} 


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值