600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 马秀丽C语言程序设计答案pdf C语言程序设计清华大学马秀丽刘志妩科后习题9答案.doc...

马秀丽C语言程序设计答案pdf C语言程序设计清华大学马秀丽刘志妩科后习题9答案.doc...

时间:2020-09-07 09:40:40

相关推荐

马秀丽C语言程序设计答案pdf C语言程序设计清华大学马秀丽刘志妩科后习题9答案.doc...

C语言程序设计清华大学马秀丽刘志妩科后习题9答案

习 题 9

二 编程题

main(){

int n,*a,i,j,t=0;

scanf("%d",&n);

for(i=0;i

for(j=0;j

scanf("%d",a+i*n+j);

for(i=0;i

for(j=0;j

if (*(a+i*n+j)!=0) t=1;

if (t==0) printf("is xia san jiao fang zhen");

else printf("not is xia san jiao zhen");

}

运行结果:

有一个字符串,包含n个字符,将字符串从第i个字符到第j个字符间的字符逆置。

#include "stdlib.h"

#include "stdio.h"

void main()

{char *s,ch;

int i,j;

printf("input string s\n");

scanf("%s",s);

printf("input i j\n");

scanf("%d %d",&i,&j);

for(;i

{ch=*(s+i);

*(s+i)=*(s+j);*(s+j)=ch;

}printf("%s",s);

}

运行结果:

编写一个函数,对n个字符开辟连续的存储空间,此函数返回一个指针(地址)指向字符串开始的空间。

# define NULL 0

# define NEWSIZE 1000/*足够大的连续存储空间*/

static char newbuf[NEWSIZE];

static char *newp=newbuf;/*可用存储区的起始地址的指针*/

char *new(n)/*定义开辟n个字符连续存储空间的函数,此函数返回一个指针(地址)*/

int n;

{ if(newp+n<=newbuf+NEWSIZE)/*存储空间够用*/

{ newp+=n;/*起始地址指向新地方*/

return(newp-n);}/*返回n个字节连续空间的开始地址*/

else return(NULL);}/*如果存储空间不够,返回空指针*/

main()

{ char *p;

p=new(100);/*调用函数开辟100个字符的连续可用空间*/

printf("%u",p);}

运行结果:

题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数

.程序源代码:

main()

{

int number[20],n,m,i;

printf("the total numbers is:");

scanf("%d",&n);

printf("back m:");

scanf("%d",&m);

for(i=0;i

scanf("%d,",&number[i]);

scanf("%d",&number[n-1]);

move(number,n,m);

for(i=0;i

printf("%d,",number[i]);

printf("%d",number[n-1]);

}

move(array,n,m)

int n,m,array[20];

{

int *p,array_end;

array_end=*(array+n-1);

for(p=array+n-1;p>array;p--)

*p=*(p-1);

*array=array_end;

m--;

if(m>0) move(array,n,m);

}

运行结果:

输入n个整数,将最小数与第一个数对换,把最大数与最后一个数对换

main()

{

int number[10];

input(number);

max_min(number);

output(number);

}

input(number)

int number[10];

{int i;

for(i=0;i<9;i++)

scanf("%d,",&number[i]);

scanf("%d",&number[9]);

}

max_min(array)

int array[10];

{int *max,*min,k,l;

int *p,*arr_end;

arr_end=array+10;

max=min=array;

for(p=array+1;p

if(*p>*max) max=p;

else if(*p

k=*max;

l=*min;

*p=array[0];array[0]=l;l=*p;

*p=array[9];array[9]=k;k=*p;

return;

}

output(array)

int array

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。