顺序结构程序设计

更新时间:2023-10-18 12:53:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

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

一、实验目的:

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

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

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

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

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

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

二、实验内容

1、(基础题)编写程序,将10000秒转换成以“xx时xx分xx秒”格式输出。 (提示:可考虑整数的/、%运算)

#include int main() { }

int h,m,s,a; a=10000; h=10000/3600; m=10000600/60; s=10000`;

printf(\时o?à%d分¤?%d秒?\\n\,h,m,s); return 0;

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

问题:

#include int main() { }

int a,b,temp;

printf(\); scanf(\,&a,&b);

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

printf(\交?换?后¨?,ê?a=%d,b=%d\\n\,a,b); return 0;

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

(2) 若不能,如何改进? 使用第三变量再进行交换操作 (3)画出程序的传统流程图。

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

#include int main( ) {

int k=1234;

double f=12345.0123456789; char * p=\;

printf (\格式符:\\n\); printf (\,k); printf (\,k);

printf (\,k); printf (\,k);

printf (\格式符:\\n\); printf (\,f); printf (\,f); printf (\,f); printf (\,f); printf (\,f); printf (\,f); printf (\,f);

printf (\,f);

printf (\格式符:\\n\); printf (\,f); printf (\,f); printf (\,f); printf (\,f); printf (\,f); printf (\,f);

printf (\,f);

printf (\格式符:\\n\); printf (\,p); printf (\,p); printf (\,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=’a’。问键盘上该如何输入?并回答相关问题。

#include int main( ) {

int a, b;

}

float x, y; char c1,c2;

scanf(\,&a,&b); scanf(\,&x,&y); scanf(\,&c1,&c2);

printf(\,a,b); printf(\,x,y);

printf(\,c1,c2); return 0;

问题:

(1) scanf()函数应如何书写? Scanf(格式控制,地址表列)

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

1、 scanf函数中的”格式控制”后面应当是变量地址,而不是变量名; 2、 如果再”格式控制字符串”中除了格式声明以外还有其他字符,则在输入数据是在对应的位置上应输入与这些字符相同的字符;

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

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

5、(提高题)以下程序实现的功能是:输入一个double类型的数据,使该数保留两位小数,对第三位小数进行四舍五入处理,然后输出此数,查验处理是否正确。请根据注释和运行截图填充程序。 程序代码:

#include int main( ) {

double x;

printf(\); scanf(\,&x);

printf(\原始数据\\n\,x);

printf(\格式控制数据\\n\,x);

x=_____________; //x扩大100倍 x=_____________; //x增加0.5

x=_____________; //对x 取整后再赋值给x x=_____________; //x缩小100倍 printf(\处理后数据\\n\,x);

return 0; }

程序运行截图:

#include int main( ) {

double x;

printf(\); scanf(\,&x);

printf(\原始数据\\n\,x);

printf(\格式控制数据\\n\,x);

x=x*100; //x扩大倍 x=x+0.5; //x增加0.5

x=(int)x; //对x 取整后再赋值给x x=x/100; //x缩小倍

printf(\处理后数据\\n\\n\,x);

return 0; }

6、(提高题)改错题:以下程序有多处错误,若按下列截图所示格式输入、输出数据,请在程序的相应位置上改正错误。

程序代码: main {

double a, b, c, s, v ; printf(input a, b,c :\\n); scanf(\,a, b,c);

}

s=a*b; /*计算长方形面积*/ v=a*b*c; /*计算长方体面积*/ printf(\,a, b,c); printf(\,s,\,v);

运行截图:

#include int main() {

double a, b, c, s, v ; printf(\); scanf(\,&a,&b,&c); s=a*b; /*计算长方形面积*/ v=a*b*c; /*计算长方体面积*/

printf(\,a, b,c); printf(\,s,v); return 0; }

本文来源:https://www.bwwdw.com/article/1b5f.html

Top