1. 输入一个字符串,再输入两个数n,m.要求把字符串中从n个数开始,向后数m个数,生成一个新的字符串并输出。
#include<stdio.h>
#include<string.h>
int main()
{
char arr[30]="";
char brr[30]="";
int n=0;
int m=0;
int i=0;
gets(arr);
scanf("%d",&n);
scanf("%d",&m);
int len=strlen(arr);
if(n+m-1<=len)
{
for(i=0 ; i<m ; i++)
{
brr[i]=arr[n+i-1];
}
}
else
{
printf("不合法\n");
}
printf("%d\n",len);
puts(brr);
return 0;
}
2.独立封装strcpy
#include<stdio.h>
#include<string.h>
int main()
{
char arr[30]="";
char brr[30]="";
gets(arr);
gets(brr);
int i=0;
int j=0;
int len_arr=strlen(arr);
printf("%d\n",len_arr);
for(i=0 ; arr[i]!='\0' ; i++)
{
arr[i]=brr[i];
}
puts(arr);
puts(brr);
return 0;
}
3.选择排序
#include<stdio.h>
#include<string.h>
int main()
{
int arr[5]={17,1,16,56,14};
int index=0;
int temp=0;
int i=0;
int j=0;
for(i=1 ; i<5 ; i++)
{
index=i-1;
for(j=0 ; j<5-i ; j++)
{
if(arr[index]>arr[j+i])
{
index=j+i;
}
temp=arr[index];
arr[index]=arr[i-1];
arr[i-1]=temp;
}
}
for(i=0 ; i<5 ; i++)
{
printf("%d ",arr[i]);
}
printf("\n");
return 0;
}
4.删除字符串中的重复字符,要求只用一个数组 “aa_b_cc” --->结果 “a_bc”
#include<stdio.h>
#include<string.h>
int main()
{
char arr[30]="";
char brr[30]="";
gets(arr);
int i=0;
int j=0;
int k=0;
char temp=0;
int len=strlen(arr);
printf("%d\n",len);
for(i=0 ; i<len-1 ; i++)
{
temp=arr[i];
for(j=i+1 ; j<len ; j++)
{
if(temp==arr[j])
{
for(k=j ; k<len-1 ; k++)
{
arr[k]=arr[k+1];
}
arr[len-1]='\0';
len--;
j--;
}
}
}
int b=strlen(arr);
printf("%d\n",b);
puts(arr);
return 0;
}
5.终端输入一个位置,要求从指定位置插入 char str[20] = "abc"; char dest[30] = "12345"; 例子:n=0-->abc12345 n=1--> 1abc2345 n=3-->123abc45
#include<stdio.h>
#include<string.h>
int main()
{
char str[20]="abc";
char dest[20]="12345";
char arr[20]="12345";
int n=0;
int i=0;
scanf("%d",&n);
for(i=0 ; i<8 ; i++)
{
if(i<n)
{
dest[i]=arr[i];
}
else if(i>=n && i<n+3)
{
dest[i]=str[i-n];
}
else if(i>=n+3)
{
dest[i]=arr[i-3];
}
}
puts(dest);
return 0;
}