第十次上机

任务1:
输入一个字符串和一个正整数x,将该字符串中的后x个字符复制到另一个字符串y中,再对y串的内容前后倒置后存入数组z中并输出。
要求:用指针访问数组元素、用函数getx(char *c1)实现复制、用函数getr(char *c2)实现倒置。


程序:

#include
#include 
#define n 100
void getr(char *y);
void getx(char *x)
{
	int m,i,j=0,k=0;char temp[n];
	printf("Enter a string: ");
	scanf("%d",&m);
	while(*(x+j)!='\0')    
	{j++;}
	for(i=j-m;i


运行:

第十次上机_第1张图片

----------------------分割线----------------------
任务2:
定义一维整形数组,对数组分别进行“由大到小”和"由小到大"排序并输出。
要求:用函数和指针实现排序

程序:

#include
#include 
#define m 100
void px(int *x,int n)
{
	int i,j;int temp=NULL;
	for(j=0;j*(x+i+1))  
    {temp=*(x+i);  
    *(x+i)=*(x+i+1);  
    *(x+i+1)=temp;}  
    } 
	}
}  
void ddx(int *y,int n)
{
	int i,j;int temp=NULL;
	for(j=0;j


运行:

第十次上机_第2张图片

----------------------分割线----------------------
任务3:
输入字符串s,将字符放入d数组中,最后输出d中的字符串。
要求:
用函数和指针实现

程序:

#include
#include 
#define m 100
void sc(char *x);
void main()
{
	char s[m];int i=0,n=0;
	printf("请输入一串字符:");
	gets(s);
	sc(s);
}
void sc(char *a)
{
	int i=0;char b[m];
	while(*a!='\0')
	{if(*a>=65&&*a<=90||*a>=97&&*a<=122)
	{b[i]=*a;  
	i++;}  
	a++;}  
	b[i]='\0';  
	puts(b);  
}  


运行:

你可能感兴趣的:(第十次上机)