实验7函数——参考程序

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

实验七函数——参考程序

一、程序调试方法实验

1.找出并改正以下源程序中错误,得出正确的运行结果。

源程序如下:

#include

//函数声明int add(int a, int b);

void main()

{

int a,b;

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

printf("a+b=%d",add(a,b));

}

void add(int a,b) //改为int add(int a, int b)

{

return a+b;

}

2.找出并改正以下源程序中错误,得出正确的运行结果,其中max函数的功能是得到数组中最大元素的值。源程序如下:

#include

#define N 10; //去掉尾部分号

float max(float a[], int n) //尾部加上分号

void main()

{

float data[N];

int i;

for(i=0;i

scanf("%f",data[i]); //改为scanf("%f", &data[i]);

printf("max is=%f",max(data[N],N)); // 改为printf("max is=%f",max(data, N));

}

float max(float a[], int n)

{

int i,result; //改为int i;

float result;

//增加result=a[0];

for(i=0;i

{

if(a[i] > result)

result = a[i];

}

return result;

}

3.找出并改正以下源程序中错误,得出正确的运行结果,其中converse函数的功能是逆序输出

n个字符。

解题思路:已知字符串的长度,逆序输出字符串

如果只有1个字符,直接输出该字符后结束

否则:输出后面的所有字符之后,再输出该字符

源程序如下:

#include

void main()

{

int i=5;

void converse(int n);

printf("Input 5 characters:");

converse(i);

printf("\n");

}

void converse(n); //改为void converse(int n) 并去掉分号

{

char next;

if(n>=1) //改为if(n= =1)

{

next=getchar();

putchar(next);

}

else

{

next=getchar();

converse(n-1);

putchar(next);

}

}

四、编写程序

1、编写一个函数,其功能是判断形式参数是否为小写字母,若是,返回其对应的大写字母,否则返回原字符。然后在main函数中输入一个字符,调用该函数得到其大写字母并输出

#include

char isLow(char ch)

{

if(ch >= 'a' && ch <= 'z')

return ch - 32;

else

return ch;

}

void main(void)

{

char ch;

printf("请输入一个字符:\n");

scanf("%c",&ch);

printf("%c\n", isLow(ch));

}

2、编写函数reverse(int number),它的功能是将number逆序输出,在main函数中输入一个整数,调用该函数得到逆序的数并输出。例如reverse(11233)的返回值为33211。

#include

int reverse(int n)

{

int rev=0,num;

do

{

num=n %10;

rev = rev*10 + num;

n=n/10;

}while(n);

return rev;

}

void main(void)

{

int num,revnum;

printf("请输入一个整数:\n");

scanf("%d",&num);

revnum = reverse(num);

printf("逆序后整数为:%d\n",revnum);

}

3、编写函数完成如下功能:将长整型数中数字为偶数的数依次取出,构成一个新数返回,例如,当s 中的数为:时,则返回的数为:8642。

提示:依次取出长整型数的每一位数字,如果是偶数,则放入新数中。在main函数中输入一个长整型数,调用该函数得到新的数,并输出结果。

#include "stdio.h"

long func(long s);

void main()

{

long a;

printf("请输入一个整数:");

scanf("%ld",&a);

printf("%ld\n",func(a));

}

long func(long n)

{

long result=0;

int num, weight=1 ; // weight表示数位的权值(即个、十、百,。。。。)

while ( n != 0 )

{

num = n%10; //得到最低位

if (num % 2==0)

相关文档
最新文档