【c语言基础学习】c语言学习第五天作业和思维导图笔记

一、作业

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

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(int argc, const char *argv[])
{
	int arr[]={13,67,2,89,24};
	int i,j,t;
	int len=sizeof(arr)/sizeof(int);	
	printf("原数组是");
	for(i=0;i<len;i++)
	{
		printf("%d ",arr[i]);
	}
	putchar(10);
	for(i=1;i<len;i++)
	{
		for(j=0;j<len-i;j++)
		{
			if(arr[j]>arr[j+1])
			{
				t=arr[j+1];
				arr[j+1]=arr[j];
				arr[j]=t;
			}
		}
	}
	printf("数值种第二大值是%d\n",arr[len-2]);	
	return 0;
}

终端运行结果:

linux@linux:~/zuoye230711/xiaozuoye$ gcc 10.c -o 10.out
linux@linux:~/zuoye230711/xiaozuoye$ ./10.out 
原数组是13 67 2 89 24 
数值种第二大值是67

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

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(int argc, const char *argv[])
{
	int i,j;
	char str[100]="abxdefg";
	gets(str);
	for(i=0;i<strlen(str);i++)
	{
		if(str[i]==' '){
			for(j=i;j<strlen(str);j++){
				str[j]=str[j+1];
			}
		}
	}
	puts(str);
	return 0;
}

终端运行结果:

linux@linux:~/zuoye230711/xiaozuoye$ gcc 11.c -o 11.out
11.c: In function ‘main’:
11.c:8:2: warning: implicit declaration of function ‘gets’; did you mean ‘fgets’? [-Wimplicit-function-declaration]
    8 |  gets(str);
      |  ^~~~
      |  fgets
/usr/bin/ld: /tmp/ccniI2au.o: in function `main':
11.c:(.text+0xa7): 警告: the `gets' function is dangerous and should not be used.
linux@linux:~/zuoye230711/xiaozuoye$ ./11.out 
qwqwe ab1113 123aaa  
qwqweab1113123aaa

备注:使用gets();会有友好警告,不是出错了。

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

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define arrlen 6
int main(int argc, const char *argv[])
{
	char arr1[]="hello";
	char arr2[]="world";
	char arr3[10]="11";
	strcpy(arr3,arr1);
	strcat(arr3,arr2);
	//int len=sizeof(arr)/sizeof(int);
	int len;
	puts(arr1);
	puts(arr2);
	puts(arr3);
	printf("%d\n",strcmp(arr1,arr3));
	return 0;
}

终端运行结果:

linux@linux:~/zuoye230711/xiaozuoye$ gcc 9.c -o 9.out
linux@linux:~/zuoye230711/xiaozuoye$ ./9.out 
hello
world
helloworld
-119

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

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(int argc, const char *argv[])
{
	int arr[10]={};
	int i,j,t;
	for(i=0;i<10;i++)
	{
		scanf("%d",&arr[i]);
	}
	int len=sizeof(arr)/sizeof(int);
	for(i=1;i<len;i++)
	{
		for(j=0;j<len-i;j++)
		{
			if(arr[j]>arr[j+1])
			{
				t=arr[j+1];
				arr[j+1]=arr[j];
				arr[j]=t;
			}
		}
	}
	for(j=0;j<len;j++)
		printf("%d ",arr[j]);
	putchar(10);
	return 0;
}

终端运行结果:

linux@linux:~/zuoye230711/xiaozuoye$ gcc 12.c -o 12.out
linux@linux:~/zuoye230711/xiaozuoye$ ./12.out 
90 99 100 95 89 77 60 69 88 99
60 69 77 88 89 90 95 99 99 100 

二、思维导图学习笔记

c语言学习第5天

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值