顺序结构程序设计

  • 格式:docx
  • 大小:21.20 KB
  • 文档页数:6

下载文档原格式

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

实验报告—实验3顺序结构程序设计(学号—姓名)

一、实验目的:

1、熟悉赋值运算符的使用,能根据需要构建相应的赋值表达式,掌握两变量交

换数据的方法;

2、继续熟悉整数相除、取余运算及数据类型转换等内容,能实现四舍五入保留指定位小数的算法;

3、熟悉常用数学函数的使用;

4、通过样例加深对printf()常用格式控制符功能的理解,掌握printf()函数的使用;

5、掌握seanf()函数的使用,能正确输入数据;

6掌握顺序结构程序设计的方法,能够画传统的流程图和N_S流程图。

、实验内容

1、(基础题)编写程序,将10000秒转换成以“xx时xx分xx秒”格式输出

(提示:可考虑整数的/、%运算)

#include

int main()

{

int h,m,s,a;

a=10000;

h=10000/3600;

m=10000%3600/60;

s=10000%60;

printf( "%d时o?a %d O ?%d秒?\n" ,h,m,s);

return 0;

2、(基础题)编程实现:先定义两个整数变量,然后输入两个值,再交换这两个变量的值,最后输出交换后的新值。如下图所示:

问题:

#include

int main()

{

int a,b,temp;

pr intf( "in ter a,b:" );

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

printf("交?换?前??, e ?a=%d,b=%n" ,a,b); temp=a;

a=b;

b=temp;

printf("交?换?后••? , e ?a=%d,b=%df ,a,b); return 0;

}

(1)语句组:a=b; b=a;能交换a、b的值吗?

不能

(2)若不能,如何改进?

使用第三变量再进行交换操作

⑶画出程序的传统流程图。

3、(基础题)运行下列程序,体会printf()中“格式控制符”的用法,并回答相关问题:

#i nclude

int main()

{

int k=1234;

double f=12345.0123456789;

char * p= "China";

printf ( "%%(格式符:\n");

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

printf ( "%6d\n" ,k);

printf ( "%06d\n" ,k);

printf ( "%2d\n\n" ,k);

printf ( "%%f格式符:\n");

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

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

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

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

printf ( "%-15f\n" ,f);

printf ( "%-15.4f\n" ,f);

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

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

printf ( "%%酪式符:\n");

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

printf ( "%15e\n" ,f);

printf ( "%15.4e\n" ,f);

printf ( "%-15e\n" ,f);

printf ( "%-15.4e\n" ,f);

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

printf ( "%30.20e\n\n" ,f);

printf ( "%%{格式符:\n");

printf ( "%s\n" ,p);

printf ( "%10s\n" ,p);

printf ( "%-10s\n\n" ,p);

return 0;

}

问题:请说明格式控制符%d、%f、%e、%s的基本用法。

%d:用来输入有符号的十进制整数

%f: 用来输入实数,可以用小数形式或指数形式输入

%e:与f作用相同

%s:用来输入字符串,将字符串送到一个字符数组中,在输入时以非空白字符开始,以第一个空白字符结束。

4、(基础题)分析、运行下列程序,要让各变量得到对应的值:a=3, b=7, x=8.5, y=71.82, c1= ' A' , c2=问键盘上该如何输入?并回答相关问题。

#include

int main( )

{

int a, b;

float x, y;

char c1,c2;

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

scanf( "%f%e" ,&x,&y);

scanf( "%c%c",&c1,&c2);

printf( "a=%d, b=%d\n" ,a,b);

printf( "x=%f, y=%f\n" ,x,y);

printf( "c1=%c,c2=%c\n\n" ,c1,c2);

return 0;

}

问题:

⑴seanf()函数应如何书写?

Scanf格式控制,地址表列)

(2) 输入不同类型数据时,应注意什么?

1、scanf函数中的”格式控制”后面应当是变量地址,而不是变量名;

2、如果再”格式控制字符串”中除了格式声明以外还有其他字符,则在输入数

据是在对应的位置上应输入与这些字符相同的字符;

3、在用%c格式声明输入字符时,空格字符和转义字符中的字符都作为有效字符输

入;

4、在输入数值数据时,如输入空格、回车、Tab 键或遇非法字符认为该数据结

束;

5、(提高题)以下程序实现的功能是:输入一个double 类型的数据,使该数保留

两位小数,对第三位小数进行四舍五入处理,然后输出此数,查验处理是否正确。请根据注释和运行截图填充程序。

程序代码:

#include

int main( )

{

double x;

printf( "Enter x=" );

scanf( "%lf" ,&x);

printf( "(1) x=%f .... 原始数据\n" ,x);

printf( "(2) x=%.2f .... 格式控制数据\n" ,x);