c上机实验(经典附答案)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.根据下列函数接口,实现该函数.

voidSortP(int a[],int m, int flag)

函数的功能:如果flag==0,则函数实现对数组a的前m个元素进行降序排列,如果flag!=0,则对数组a的前m个元素进行升序排列.

#include

void main()

{

voidSortP(int a[],int m, int flag);

int a[5],m=3,flag;

inti;

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

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

scanf("%d",&flag);

SortP(a,3,flag);

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

printf("%d\n",a[i]);

}

voidSortP(int a[],int m, int flag)

{

inti,t,j;

if(flag==0)

{

for(i=0;i

for(j=0;j

{

if(a[j]>a[j+1])

{

t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

}

}

else

{

for(i=0;i

for(j=0;j

{

if(a[j]

{

t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

}

}

}

2.任意输入三个整数,求其中非负数的和。

#include

void main()

{

int a[3],i,sum=0;

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

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

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

if(a[i]>=0)

sum=sum+a[i];

printf("%d",sum);

}

3.任意输入三个整数a,b,c,将他们从大到小输出。

#include

void main()

{inta,b,c,t;

scanf("%d%d%d",&a,&b,&c);

if(a

{t=a;

a=b;

b=t;}

if(a

{t=a;

a=c;

c=t;}

if(b

{

t=b;

b=c;

c=t;}

printf("%d%d%d",a,b,c);

}

4.编写一函数,将一字符串s2连接在另一字符串s1的后面。(不能调用strcat函数)#include

#include

void main()

{

voidfunc(char str1[],char str2[]);

char str1[80],str2[80];

gets(str1);

gets(str2);

func(str1,str2);

puts(str1);

}

voidfunc(char str1[],char str2[])

{

inti=0,j=0;

while(str1[i]!='\0')

i++;

while(str2[j]!='\0')

str1[i++]=str2[j++];

str1[i]='\0';

}

5.写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度.不能采

用strlen函数。

#include

#include

void main()

{

int length (char a[]);

char a[80];

gets(a);

int m;

m=length (a);

printf("%d\n",m);

}

int length (char a[])

{

inti=0;

for(i=0;a[i]!='\0';)

i++;

return(i);

}

6.输入一整形数组,应用冒泡法对该数组排序,并输出排序结果。

#include

void main()

{

int a[5],i,j,t;

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

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

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

for(j=0;j<5-i;j++)

{

if(a[j]>a[j+1])

{

t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

}

for(j=0;j<5;j++)

printf("%d\n",a[j]);

}

7.编写一函数,找出一整型数组中,最大元素和最小元素的位置(应用全局变量实现)。#include

void main()

{

int fun(int a[]);

intfunc(int a[]);

int a[10],i;

intm,n;

for(i=1;i<=10;i++)

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

m=fun(a);

n=func(a);

printf("%d,%d\n",m,n);

}

int fun(int a[])

{

intmax,i,m;

max=a[1];

for(i=2;i<=10;i++)

{

相关文档
最新文档