2 .上机调试下面的程序。
#include <stdio.h>
main()
{
float x,y;
scanf("%d,%d",&x,&y);
f(x,y);
}
void fun2(float a,float b)
{
float c;
if(b>0)
c=a+b;
else
c=a-b;
printf("%f",c);
}
( 1 )记录系统给出的出错信息,并指出出错原因。
未定义的符号‘f’在模块c中 出错原因:没有对’f’这个函数函数定义,但却在main函数中调用了这个函数。
( 2 )如果将该函数定义为 float fun2(float a,float b) ,该程序应该如何改变?
#include<stdio.h>
main()
{ float fun2(flaot a,float b);
float x,y,z;
scanf(“%f,%f”,&x,&y);
z=fun(x,y);
printf(“%f”,z);
}
float fun2(float a,float b)
{
float c;
if(b>0)
c=a+b;
else
c=a-b;
return(c);
}
( 3 )调试运行该程序,并记录输出结果。
3 .上机调试下面程序,改正其不合理之处。
main()
{
int x,n,s;
s=power(x,n);
}
power
{
int i,p=1;
for(i=1;i<=n;i++)
p=p*y;
}
实验结果:
4 .编写一个函数,计算 xy ,用主函数进行调用。此题可以不写出主函数,能够写出来更好。
( 1 )在主函数里,实现数据的输入和输出;
( 2 )函数的头部的定义,注意函数的形参个数和类型,函数的返回类型;
( 3 )函数体的定义,注意返回语句的用法。
程序代码:
5 .编写程序,用递归的方法求 1+2+3+ … +n ,可设递归函数为 fun5() 。
( 1 )递归结束条件为 n=0;
( 2 )递推公式为 n+fun5(n - 1)。
程序代码:
6 .编写并调试一个求 n !( n 为整数)的递归函数,希望能在程序运行过程中动态地显示递归函数被调用的轨迹。
( 1 )注意递归结束条件和递推公式;
( 2 )动态的显示递归函数被调用的轨迹,即每次要打印出变量的变化情况。
程序代码:
7 .分析下面的程序,并记录输出结果。
#include <stdio.h>
main()
{
int x=2,y=3;
void fun7();
printf("x=%d,y=%d\n",x,y);
fun7();
printf("x=%d,y=%d\n",x,y);
fun7();
}
void fun7()
{
static int x=1;
int y=10;
x=x+2;
y=y+x;
printf("x0=%d,y0=%d\n",x,y);
}
( 1 )分析自动变量的作用域和生存期。
( 2 )分析静态变量的作用域和生存期。
8 .分析下面的程序,并记录其执行结果。
#include <stdio.h>
main()
{
void fun8x(),fun8y();
extern int x,y;
printf("1:x=%d\ty=%d\n",x,y);
y=100;
fun8x();
fun8y();
}
void fun8x()
{
extern int x,y;
x=110;
printf("2:x=%d\ty=%d\n",x,y);
}
int x,y;
void fun8y()
{
printf("3:x=%d\ty=%d\n",x,y);
}
( 1 )分析外部变量的作用域和生存期。
( 2 )注意 extern 关键字的用法。
9 .调用库函数,随机生成 100 ~ 200 之间的整数。
提示:随机函数为rand(),定义在stdlib.h。具体用法同学们自己查。
程序代码:
10 .编写一个函数 fun11() ,输入3个顶点坐标,求Δ ABC 的面积。
答案请发到邮箱sannalpost@163.com,有奖赏。。。。。谢谢。。。。。
有时间少打打游戏 多练习练习比这个强!!本回答被网友采纳