实验3-5 编程初步

来源:互联网 发布:mac ps导入字体 编辑:程序博客网 时间:2024/05/17 22:59
 实验目的:

1.利用表达式实现简单的功能

2.学会分析程序执行时其状态(各变量的值)的变化。

实验步骤:

1.把下面的程序补充完整。程序的功能为当用户输入一个小数点位数较多的小数时,程序输出它四舍五入到小数点后两位的结果。测试数据如下:

 

第一次

第二次

第三次

用户输入

3.1415926

3.14592

-3.1

预期输出

3.14

3.15

-3.10

实际输出

 

 

 

#include<stdio.h>

int main()

{

       float fa;

       scanf("%f", &fa);

       printf("%.2f\n", fa);

       printf("%f\n", fa); 

       fa =                 ;

       printf("%f\n", fa);

}

提示:

程序中的几处输出用于对照。程序运行时当用户输入3.1415926后,程序第一行的输出为:3.14;第二行的输出为:3.141593;第三行的输出应为:3.140000。

思路:

1)怎样去掉变量fa的小数部分?

把浮点型变量赋值给整型变量时会自动省略小数部分,如i=fa;再把此整型变量赋值给fa,如fa = i,则转换后的变量fa就没有了小数部分。

2)怎样去掉变量fa多余的小数部分?

把变量fa扩大相关倍数,如i=fa*100。再转换回去时缩小相关倍数,如fa=i/100.0。

3)如何四舍五入?

4)程序没有定义整型变量时又将如何办?

分析:

测试数据为-3.1时怎么出现错误了?

2.当用户输入2352时分析例3-11的执行过程。

#include <stdio.h>

void main( )

{

       int n, sum = 0;

       printf("请输入一个三位数的正整数\n");

       scanf("%d", &n);               

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

       sum = sum + n % 10;             

       printf("%d+", n % 10);         

       n = n / 10;                     

       sum = sum + n % 10;             

       printf("%d+", n % 10);          

       n /= 10;                        

       sum += n % 10;                 

       printf("%d=%d\n", n % 10, sum); 

}

语句

变量n

变量sum

运行窗口的显示

int n, sum = 0;

随机

0

printf("请输入一个三位数的正整数\n");

随机

0

请输入一个三位数的正整数

 

scanf("%d", &n);               

2352

0

2352回车(此为用户的输入)

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

2352

0

 

sum = sum + n % 10;             

 

 

 

printf("%d+", n % 10);         

 

 

 

n = n / 10;                      

 

 

 

sum = sum + n % 10;             

 

 

 

printf("%d+", n % 10);          

 

 

 

n /= 10;                        

 

 

 

sum += n % 10;                 

 

 

 

printf("%d=%d\n", n % 10, sum); 

 

 

 

注意:

填表时不必重复运行窗口中已有的输出。

分析:

调试执行程序,并注意观察对比。

3.比照第2步的方法分析例3-12的执行过程。