高级语言程序设计作业2

高级语言程序设计作业2

作业内容

编写并运行书本第3章3.11 编程练习题目中的第1题~第8题

  • 第一题
#include<stdio.h>
#include<float.h>
int main(void){
	int a=2147483647;   //int的最大取值
	float b=FLT_MAX;
	float c=FLT_MIN;
	printf("%d %d\n",a,a+1);   //输出a,a+1观察整数上溢         整数上溢重新从int表示的最小值-2147483647开始计数 
	printf("%e %e\n",b,b*100.0f);  //b*100.0f后浮点数上溢      浮点数上溢显示inf 
	printf("%e %e\n",c,c/100.0f);   //c/100.0f后浮点数下溢     浮点数下溢使输出小于真正c/100的值 
}
  • 运行&结果

屏幕截图 2025-10-24 195445


  • 第二题
#include <stdio.h>
int main(void){
	int ASCII;
	printf("请输入一个ASCII值:" );
	scanf("%d",&ASCII);
	printf("\nASCII值对应字符为:%c",ASCII);   
	return 0;
}
  • 运行&结果

屏幕截图 2025-10-24 200314


  • 第三题
#include<stdio.h>

int main(void){
	printf("\a");
	printf("Startled by the sudden sound, Sally shouted,\n");
	printf("\"By the Great Pumpkin,what was that!\"");
    return 0;
}
  • 运行&结果

屏幕截图 2025-10-24 201858


  • 第四题
#include<stdio.h>

int main(void){
	float a;
	printf("Enter a floating-point value: ");
	scanf("%f",&a);
	printf("fixed-ponit notation: %f\n",a);
	printf("exponential notation: %e\n",a);
	printf("p notation: %a\n",a);
    return 0;

}
  • 运行&结果

屏幕截图 2025-10-24 210300


  • 第五题
#include <stdio.h>
#define YEAR 3.156e7 
int main(void){
	int year;
	printf("请输入你的年龄:" );
	scanf("%d",&year);
	printf("\n你已经过了%e秒",year*YEAR);
	return 0;
}
  • 运行&结果

屏幕截图 2025-10-24 210854


  • 第六题
#include <stdio.h>
#define M 3e-23
#define QUART 950.0
int main(void){
	float Q;
	printf("请输入水的夸脱数:" );
	scanf("%f",&Q);
	printf("\n共有水分子%e个",Q*QUART/M);
	return 0;
}
  • 运行&结果

屏幕截图 2025-10-24 213426


  • 第七题
#include <stdio.h>
#define INCH 2.54
int main(void){
	float h;
	printf("请输入身高(in):" );
	scanf("%f",&h);
	printf("你的身高为:%-6.2fcm",h*INCH);
	return 0;
} 
  • 运行&结果

屏幕截图 2025-10-24 214504


  • 第八题
#include <stdio.h>
int main(void){
	int n;
	printf("请输入杯数:" );
	scanf("%d",&n);
	printf("%d杯=%f品脱=%d盎司=%d汤勺=%d茶勺\n",n,n/2.0,n*8,n*16,n*48);
	return 0;
}  
  • 运行&结果

屏幕截图 2025-10-24 215730


程序清单3.13.53,.83.9结果输出

  • 3.1

屏幕截图 2025-10-21 213247

  • 3.2

屏幕截图 2025-10-21 213837

  • 3.3

屏幕截图 2025-10-21 214100

  • 3.4

屏幕截图 2025-10-21 214649

  • 3.5

屏幕截图 2025-10-21 215007

  • 3.8

屏幕截图 2025-10-21 215441

  • 3.9

屏幕截图 2025-10-21 215903


运行程序代码截图

(1)

屏幕截图 2025-10-21 220355

(2)

屏幕截图 2025-10-21 220633

  • 改进
    最后一行输出不为 0.000053 can be written 5.320000e-05
    尝试改变环境再次运行结果如下:

屏幕截图 2025-10-24 190631

(3)

屏幕截图 2025-10-21 220811

(4)

屏幕截图 2025-10-21 221021

(5)

屏幕截图 2025-10-21 221153

设计一个程序完成以下内容的不同形式输出。

  • 按小数形式输出实数:%f 由系统指定宽度(6位小数), %m.nf 指定宽度m,小数位数n,右靠齐, %-m.nf 指定宽度m,小数位数n,左靠齐
  • 用于输出字符串:%s 不指定宽度, %-ms 指定宽度,左靠齐, %ms 指定宽度,右靠齐, %m.ns 指定宽度m,只取左端n个字符, 右靠齐, %-m.ns 指定宽度m,只取左端n个字符, 左靠齐。

  • 代码
#include <stdio.h>
#define PI 3.1415926
#define X "abcdefghijklmnopqrstuvwxyz"
int main(void){
	int m,n;
	printf("输入指定宽度m,小数位数n:");
	scanf("%d%d",&m,&n);
	printf("[%f]\n",PI);
	printf("[%*.*f]\n",m,n,PI);
	printf("[%-*.*f]\n",m,n,PI);

	
	
	printf("输入指定宽度m,取字符数n:");
	scanf("%d%d",&m,&n);
	printf("[%s]\n",X);
	printf("[%*s] [%-*s]\n",m,X,m,X);
	printf("[%*.*s] [%-*.*s]\n",m,n,X,m,n,X);
	return 0;
}  
  • 运行结果

屏幕截图 2025-10-24 231505

总结&思考

  • 学习了printf()scanf()的使用方法,掌握不同数据类型的不同形式输出
  • 学习了float.h limits.h中明示常量的用法
  • 思考根据不同实际问题选取数据不同数据类型
posted @ 2025-10-24 23:42  叶银珍  阅读(3)  评论(0)    收藏  举报