9.4C基础作业

1. 输入一个字符串,再输入两个数n,m.要求把字符串中从n个数开始,向后数m个数,生成一个新的字符串并输出, 如果数完m个数之后超出字符串的长度,只输出原长度就好,如果m和n输入的值不合法,那么提示不合法。

int main(int argc, const char *argv[])
{ 	
	char arr[30]="";
	int i,n,m;
	printf("请输入一串字符串\n");
	gets(arr);
	printf("请输入n,m的值:");
	scanf("%d %d",&n,&m);
	char brr[30]="";
	if(n>strlen(arr)||m<0||n<0)//不合理的条件
	{
		printf("参数不合法\n");
	}
	else
	{
		for(i=0;i

2.独立封装strcpy

#include 
#include 
int main(int argc, const char *argv[])
{ 	
	char arr[30]="";
	char brr[30]="";
	printf("请输入字符串1:\n");
	gets(arr);
	printf("请输入字符串2:\n");
	gets(brr);
	int i;
	for(i=0;brr[i]!='\0';i++)
	{
		arr[i]=brr[i];
	}
		arr[i]=brr[i];//for循环结束后把'\0'赋值给arr
	puts(arr);
	return 0;
}		

3.选择排序

#include 
#include 
int main(int argc, const char *argv[])
{ 	int arr[5]={11,10,13,15,1};
	int min;
	for(int i=0;i<4;i++)
	{
		min=i;//默认从第一个到最后一个的下标为最小值下标
		for(int j=i+1;j<5;j++)
		{
			if(arr[min]>arr[j])
			{
				min=j;
			}
		}
		int temp=arr[i];
		arr[i]=arr[min];
		arr[min]=temp;
		for(i=0;i<5;i++)
		{
			printf("%d\t",arr[i]);
		}
	}

	return 0;
}		

9.4C基础作业_第1张图片

4.删除字符串中的重复字符,要求只用一个数组 “aa_b_cc” --->结果 “a_bc”

#include 
#include 
int main(int argc, const char *argv[])
{ 	
	char arr[30]="";
	printf("请输入字符串:\n");
	gets(arr);
	int i,j,k=0;
	for(i=0;arr[i]!='\0';i++)
	{
		for(j=i+1;arr[j]!='\0';j++)//判断这个字符后面的是否有相同的
		{ 
			if(arr[i]==arr[j])
			{  
				for(k=j;arr[k]!='\0';k++)
				{
					arr[k]=arr[k+1];
				}
				
			}
		}
	}
	puts(arr);

	return 0;
}		

5.终端输入一个位置,要求从指定位置插入 char str[20] = "abc"; char dest[30] = "12345"; 例子:n=0-->abc12345 n=1--> 1abc2345 n=3-->123abc45

 

#include 
#include 
int main(int argc, const char *argv[])
{ 	char str[20]="abc";
	char dest[30]="12345";
	char bak[30]="12345";//备份一个dest
	int n;
	printf("请输入一个插入的位置\n");
	scanf("%d",&n);
	int i=0,j;
		for(i=0;i

9.4C基础作业_第2张图片

9.4C基础作业_第3张图片

你可能感兴趣的:(c语言,开发语言)