上面的程序有很多错误,更改为
#include
main()
{
int a,b;
float x,y;
char c1,c2;
scanf("%d %d",&a,&b);
scanf("%f %e",&x,&y);
scanf("%c %c",&c1,&c2);
printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n",a,b,x,y,c1,c2);
getchar();
}
输入顺序与输出结果见下图:
晕,什么是实验报告啊
主要仪器怎么理解??C语言会用到仪器?
主要仪器:VC++2005(仪器可能就是这个吧)
实验目的:掌握输入函数scanf的使用。
实验过程:
在VC的源文件(.cpp文件)中,输入楼主所写的程序内容,然后按F5或者选择“调试”菜单,选择“启用调试 F5”,运行并检测程序是否有错误之处,若有错误按提示更改之,直到程序能正确运行为止。
正确运行程序后,按以下格式输入内容
a=3 b=7
8.5 7.182e1
A a
实验结果:
程序输出:
a=3,b=7,x=8.500000.y=71.820000,c1=A, c2=a
以上内容就是实验报告了
一.实验目的 return 0;
(1)熟悉定义函数的方法、函数是参与形参的对应关系以及“值传递”的方式;
(2)熟悉函数的嵌套调用和递归调用的方法;
(3)熟悉全局变量、局部变量概念和使用方法;
(4)熟悉编译预处理的应用。
二.实验软件环境
Microsoft visual C++
三.实验内容
习题四:第2、8、9题
四.实验的结果及分析。
第2题:
void da(float a,float b,float c) //大于0时的函数
{
float x1,x2;
x1=(-b+sqrt(b*b-4*a*c))/(2*a), //按公式计算两解
x2=(-b-sqrt(b*b-4*a*c))/(2*a);
cout<<"x1="<
void deng(float a,float b,float c) //等于0时的函数
{
int z;
z=-b/(2*a); //按公式算解
cout<<"x="<
void xiao(float a,float b,float c) //小于0时的函数
{
cout<<"无解"<
void suan(float a,float b,float c) //该函数按三种不同情况分别调用函数
{
if ((b*b-4*a*c)>0) //当大于0时调用da函数
da(a,b,c);
else if((b*b-4*a*c)==0) //当等于0时调用deng函数
deng(a,b,c);
else xiao(a,b,c); //当小于0时调用xiao函数
}
int main()
{
float a,b,c,f;
cin>>a>>b>>c;
suan(a,b,c); //调用函数
return 0;
}
运行结果:输入:1 2 1 输出:x=-1
1 3 2 x1=-1, x2=-2
2 2 3 无解
第8题:
float p(int n,float x)
{
if(n==0) //当n=0时,返回值为1
return 1;
else if(n==1) //当n=1时,返回值为x
return x;
else //当n>=1时,递归计算并返回结果
return ((2*n-1)*x-p(n-1,x)-(n-1)*p(n-2,x))/n;
}
int main()
{
int n;
float x;
cin>>n>>x;
if (n<0) //排除n<0的情况
cout<<"n值不符合要求"<
cout<
}
运行结果:输入:0 2 输出:1
1 4 4
5 7 7.5
第9题:
void m(char x,char y)
{
cout<
}
void h(int n,char a,char b,char c)
{
if (n==1) //当n=1时,直接移
m(a,c);
else //当n>1时,用递归法移
{h(n-1,a,c,b);
m(a,c);
h(n-1,b,a,c);
}
}
int main()
{
h(64,65,66,67); //用A,B,C的代码赋传递值
return 0;
}
运行结果: 输出:(省略)
五.实验心得体会
通过本次上机实验操作,初步领会到定义函数的方法、函数是参与形参的对应关系以及“值传递”的方式;掌握了函数的嵌套调用和递归调用的方法,明白了预处理的应用。同时也提高了本人的编程水平和技巧的应用能力。
a=3 b=7
8.5 71.82
A a