实验二 基本数据处理
源程序:
#include
double f,c; /*定义两个双精度的实型数*/
printf(“Enter f:”);/*输入提示*/
/*调用scanf函数给双精度的实型变量赋值,格式控制为%lf,变量名前要加地址操作符&*/
scanf(\ }
运行结果: Enter f:80
f=80.000000,c=26.666667 Enter f:100
f=100.000000,c=37.777778
c=5*(f-32)/9; /*根据公式求摄氏度*/ printf(\
?举一反三
【2-2】任意输入两个基本型的整型数,其中一个为正数,另一个为负数,输出它们的余数。
?提示:取余操作符:% 二、程序改错
不允许增加行也不允许删除行,也不得更改程序的结构。 1、已知a=3,b=5,输出a+b的和值 源程序: #include “stdio.h” main()
{ /********found********/ int a=3;b=5;sum;
sum=a+b;
9
实验二 基本数据处理
printf(“sum=%d\\n”,sum);}
2、任意输入两个实型数,输出它们的积。 源程序: #include “stdio.h” main() {
double x,y;
printf(“在键盘上给x,y赋值:”); /********found********/ scanf(“%lf%lf”,x,y);
printf(“%f,%lf\\n”,x*y,x*y); }
3、分别输出234的每一位数字。 源程序: #include “stdio.h” main() {
int x=234,a,b,c; a=x/100;
/********found********/ b=x0;
/********found********/ c=x/10;
printf(“a=%d,b=%d,c=%d\\n”,a,b,c); }
【思考题】
1、 在定义变量时,变量名sum和Sum是同一个变量吗?
2、 两个数取余数,余数的符号和被除数符合相同吗?取余符号两端的数可以是任意类型
的数据吗?
3、 用scanf函数给变量赋值时,变量名的前面为什么必须加&(即地址操作符)? 4、给一个双精度实型变量以%f形式赋值,会得到正确的值吗?
10
实验三 计算分段函数
实验三 计算分段函数
【实验目的】
1、使用if语句编写简单分支结构程序。 2、正确书写关系表达式
【实验内容】 一、试着编写下列程序
【例3-1】输出a=3,b=9中大的数。 源程序: #include \main() {
int a=3,b=9,max; /*使用if-else分支结构*/ }
if(a>b) max=a; else max=b;
printf(\
?举一反三
【3-1】任意输入一个整数,如果能被3整除,输出此数;否则,输出“不是3的倍数”。 【例3-2】计算分段函数,
x (x≥0)
y= 3x3+1 (x<0) 源程序:
#include \
#include \ /*程序中调用了数学库函数,需包含头文件math.h*/
11
实验三 计算分段函数
main()
{ double x,y;
printf(“Enter x:”);
scanf(\if(x>=0) y=sqrt(x); /*调用开方函数sqrt()计算*/ else y=3*pow(x,3)+1; /*调用幂函数pow()计算*/ printf(\ /*%.2lf保留两位小数输出*/
}
运行结果: Enter x:3
x=3.00,y=1.732051 Enter x:-4
x=-4.00,y=-191.000000
?举一反三
y=
【3-2】编写程序,输入x,利用分段函数,计算并输出y值。 |x| (x≤0)
ex (x>0)
?提示:需要调用求实型数绝对值函数fabs和指数函数exp。 二、程序改错
不允许增加行也不允许删除行,也不得更改程序的结构。
1、任意输入一个数,如果是奇数输出“奇数”,否则,输出“偶数”。 源程序: #include “stdio.h” main() {
int x;
printf(“Enter x:”); scanf(“%d”,&x);
12
实验三 计算分段函数
/********found********/ if x%2!=0
printf(“奇数”); else
printf(“偶数”);
}
输入输出示例(共运行2次) 第一次运行: Enter x:10 偶数
第一次运行: Enter x:11 奇数
2、输入x,计算并输出下列分段函数y的值(保留一位小数)。
(x≠0)
xy= 0 (x=0)
源程序: #include “stdio.h” main()
{
int x; double y;
printf(“Enter x:”); scanf(“%d”,&x);
/********found********/ if(x!=0);
/********found********/ y=1/x; else
y=0;
printf(“y=%.1f\\n”,y); }
输入输出示例(共运行2次) 第一次运行: Enter x:10
13
1