C语言第三章基本的输入输出.ppt
第三章基本的输入输出第三章第三章 基本的输入输出基本的输入输出 n n本章主要内容:本章主要内容:本章主要内容:本章主要内容:3.1 3.1 输入输出概述输入输出概述输入输出概述输入输出概述3.2 3.2 字符的输入与输出字符的输入与输出字符的输入与输出字符的输入与输出 3.3 3.3 格式数据的输入与输出格式数据的输入与输出格式数据的输入与输出格式数据的输入与输出 3.4 3.4 程序举例程序举例程序举例程序举例 n n本章重点:本章重点:本章重点:本章重点:单字符的输入输出单字符的输入输出单字符的输入输出单字符的输入输出常用输入输出格式描述符常用输入输出格式描述符常用输入输出格式描述符常用输入输出格式描述符 C语言程序设计3.1 3.1 输入输出概述输入输出概述n n输入输出输入输出输入输出输入输出(I/O)(I/O)是人机交互的基本方式。是人机交互的基本方式。是人机交互的基本方式。是人机交互的基本方式。n n编程时有些数据无法确定,只能在运行程序时由编程时有些数据无法确定,只能在运行程序时由编程时有些数据无法确定,只能在运行程序时由编程时有些数据无法确定,只能在运行程序时由用户从键盘来给定,这就需要输入;用户从键盘来给定,这就需要输入;用户从键盘来给定,这就需要输入;用户从键盘来给定,这就需要输入;n n数据经过程序处理后所得到的结果将告知用户,数据经过程序处理后所得到的结果将告知用户,数据经过程序处理后所得到的结果将告知用户,数据经过程序处理后所得到的结果将告知用户,这就是输出。这就是输出。这就是输出。这就是输出。n nC C语言本身并没有提供输入输出语句,输入和输语言本身并没有提供输入输出语句,输入和输语言本身并没有提供输入输出语句,输入和输语言本身并没有提供输入输出语句,输入和输出操作是由库函数来实现的。出操作是由库函数来实现的。出操作是由库函数来实现的。出操作是由库函数来实现的。基本的输入输出C语言程序设计n nI/OI/O库函数是库函数是库函数是库函数是“stdio.hstdio.h”,事先应将其包含到用,事先应将其包含到用,事先应将其包含到用,事先应将其包含到用户程序文件中。语法格式:户程序文件中。语法格式:户程序文件中。语法格式:户程序文件中。语法格式:#include#include#include“#include“stdio.hstdio.h”n n一般:格式一般:格式一般:格式一般:格式用于系统头文件的包含,格式用于系统头文件的包含,格式用于系统头文件的包含,格式用于系统头文件的包含,格式用用用用于用户头文件的包含。于用户头文件的包含。于用户头文件的包含。于用户头文件的包含。n n系统隐含的输入设备是键盘,输出设备是显示器。系统隐含的输入设备是键盘,输出设备是显示器。系统隐含的输入设备是键盘,输出设备是显示器。系统隐含的输入设备是键盘,输出设备是显示器。n n可以说,没有输入的程序缺乏灵活性;没有可以说,没有输入的程序缺乏灵活性;没有可以说,没有输入的程序缺乏灵活性;没有可以说,没有输入的程序缺乏灵活性;没有(输出输出输出输出)结果的程序毫无用途。结果的程序毫无用途。结果的程序毫无用途。结果的程序毫无用途。基本的输入输出只在系统目录(默认为只在系统目录(默认为只在系统目录(默认为只在系统目录(默认为c:includec:includec:includec:include)中查找。)中查找。)中查找。)中查找。先在当前目录中查找,没找先在当前目录中查找,没找先在当前目录中查找,没找先在当前目录中查找,没找到时再到系统目录中查找。到时再到系统目录中查找。到时再到系统目录中查找。到时再到系统目录中查找。C语言程序设计3.2 字符的输入与输出 3.2.1 3.2.1 字符输出字符输出字符输出字符输出n n将指定的字符显示在显示器上,使用字符输出函将指定的字符显示在显示器上,使用字符输出函将指定的字符显示在显示器上,使用字符输出函将指定的字符显示在显示器上,使用字符输出函数。其一般的调用格式为:数。其一般的调用格式为:数。其一般的调用格式为:数。其一般的调用格式为:putchar(chputchar(ch);其中其中其中其中chch是要显示的字符型数据,可以是常量是要显示的字符型数据,可以是常量是要显示的字符型数据,可以是常量是要显示的字符型数据,可以是常量(包括包括包括包括普通字符和转义字符普通字符和转义字符普通字符和转义字符普通字符和转义字符)、变量或表达式。、变量或表达式。、变量或表达式。、变量或表达式。n n 例例例例3.1 3.1 使用使用使用使用putcharputchar()()函数显示字符函数显示字符函数显示字符函数显示字符基本的输入输出C语言程序设计3.2.2 3.2.2 字符输入字符输入字符输入字符输入n n将键盘上的输入以字符方式读入,使用字符输入将键盘上的输入以字符方式读入,使用字符输入将键盘上的输入以字符方式读入,使用字符输入将键盘上的输入以字符方式读入,使用字符输入函数。该函数的一般调用格式为:函数。该函数的一般调用格式为:函数。该函数的一般调用格式为:函数。该函数的一般调用格式为:chch=getchargetchar();();n n该函数没有参数,函数的值就是从键盘上输入的该函数没有参数,函数的值就是从键盘上输入的该函数没有参数,函数的值就是从键盘上输入的该函数没有参数,函数的值就是从键盘上输入的字符。字符。字符。字符。n n 例例例例3.2 3.2 使用使用使用使用getchargetchar()()函数从键盘上读一个字符函数从键盘上读一个字符函数从键盘上读一个字符函数从键盘上读一个字符n n思考思考思考思考n n练习练习练习练习基本的输入输出C语言程序设计3.3 格式数据的输入与输出n ngetchargetchar()()和和和和putcharputchar()()函数每次只能输入输出一个函数每次只能输入输出一个函数每次只能输入输出一个函数每次只能输入输出一个字符。字符。字符。字符。n n要想一次输入或输出多个且为任意类型的数据就要想一次输入或输出多个且为任意类型的数据就要想一次输入或输出多个且为任意类型的数据就要想一次输入或输出多个且为任意类型的数据就要使用要使用要使用要使用scanfscanf()()和和和和printfprintf()()函数。函数。函数。函数。n nscanfscanf()()称格式输入函数;称格式输入函数;称格式输入函数;称格式输入函数;printfprintf()()称格式输出函数。称格式输出函数。称格式输出函数。称格式输出函数。n n这两个函数将按照用户描述的格式来完成数据的这两个函数将按照用户描述的格式来完成数据的这两个函数将按照用户描述的格式来完成数据的这两个函数将按照用户描述的格式来完成数据的输入输出。输入输出。输入输出。输入输出。基本的输入输出C语言程序设计3.2.1 格式输出printf()函数 1 1printfprintf()()函数的一般格式:函数的一般格式:函数的一般格式:函数的一般格式:printfprintf(“(“格式控制格式控制格式控制格式控制”,输出项表,输出项表,输出项表,输出项表)n n如:如:如:如:intint a=10,b=20;a=10,b=20;printf(“aprintf(“a=%=%d,bd,b=%=%dn”,a,bdn”,a,b););结果:结果:结果:结果:a=10,b=20a=10,b=20n n格式控制:普通字符、格式字符、转义字符。格式控制:普通字符、格式字符、转义字符。格式控制:普通字符、格式字符、转义字符。格式控制:普通字符、格式字符、转义字符。n n输出项表:常量、变量和表达式。输出项表:常量、变量和表达式。输出项表:常量、变量和表达式。输出项表:常量、变量和表达式。基本的输入输出C语言程序设计2 2格式字符格式字符格式字符格式字符n n格式字符是以格式字符是以格式字符是以格式字符是以“%”%”开始的特定字符。对不同类开始的特定字符。对不同类开始的特定字符。对不同类开始的特定字符。对不同类型的输出项,应使用不同的格式字符。型的输出项,应使用不同的格式字符。型的输出项,应使用不同的格式字符。型的输出项,应使用不同的格式字符。1.1.d d格式符格式符格式符格式符十进制整数十进制整数十进制整数十进制整数用法:用法:用法:用法:%d%d、%mdmd如有:如有:如有:如有:intint a=123;a=123;printf(“%d,%4d,%2d printf(“%d,%4d,%2d”,a,a,a);”,a,a,a);结果:结果:结果:结果:123,123,123123,123,123基本的输入输出C语言程序设计2.2.o o格式符格式符格式符格式符八进制整数八进制整数八进制整数八进制整数用法:用法:用法:用法:%o%o如有:如有:如有:如有:intint a=-1;a=-1;printf(%d,%o”,a,aprintf(%d,%o”,a,a););结果:结果:结果:结果:-1,177777-1,177777-1-1的内存表示:的内存表示:的内存表示:的内存表示:1111,1111,1111,11111111,1111,1111,11113.3.X|xX|x格式符格式符格式符格式符十六进制整数十六进制整数十六进制整数十六进制整数用法:用法:用法:用法:%x%x、%X%X如有:如有:如有:如有:intint a=-1;a=-1;printf(“%d,%x,%X”,a,a,aprintf(“%d,%x,%X”,a,a,a););结果:结果:结果:结果:-1,ffff,FFFF-1,ffff,FFFF基本的输入输出C语言程序设计4.4.u u格式符格式符格式符格式符无符号整数无符号整数无符号整数无符号整数用法:用法:用法:用法:%u%u如有:如有:如有:如有:intint a=-1;a=-1;printf(“%d,%u”,a,aprintf(“%d,%u”,a,a););结果:结果:结果:结果:-1,65535-1,655355.5.C C格式符格式符格式符格式符字符字符字符字符用法:用法:用法:用法:%c%c、%mc%mc如有:如有:如有:如有:char char chch=A;=A;printf(“%c,%3c”,ch,ch);printf(“%c,%3c”,ch,ch);结果:结果:结果:结果:A,AA,A基本的输入输出C语言程序设计6.6.s s格式符格式符格式符格式符字符串字符串字符串字符串用法:用法:用法:用法:%s%s、%ms%ms、%m.nsm.ns、%-ms%-ms、%-%-m.nsm.ns如:如:如:如:char*p=“CHINA”;char*p=“CHINA”;printf(“%s,%6s,%4.3s,%-6s,%-printf(“%s,%6s,%4.3s,%-6s,%-5.3s”,p,p,p,p,p);5.3s”,p,p,p,p,p);结果:结果:结果:结果:CHINA,CHINA,CHI,CHINA,CHICHINA,CHINA,CHI,CHINA,CHI7.7.f f格式符格式符格式符格式符实型(单精度、双精度),小数格式实型(单精度、双精度),小数格式实型(单精度、双精度),小数格式实型(单精度、双精度),小数格式用法:用法:用法:用法:%f%f、%m.nfm.nf、%mf%mf、%.%.nfnf如有:如有:如有:如有:float x=123.456;float x=123.456;printf(“%f,%7.2f,%12f,%.2f”,x,x,x,x);printf(“%f,%7.2f,%12f,%.2f”,x,x,x,x);结果:结果:结果:结果:123.456000,123.46,123.456000,123.46123.456000,123.46,123.456000,123.46基本的输入输出C语言程序设计8.8.e|Ee|E格式符格式符格式符格式符实型(单精度、双精度),指数格式实型(单精度、双精度),指数格式实型(单精度、双精度),指数格式实型(单精度、双精度),指数格式用法:用法:用法:用法:%e%e、%me%me、%m.nem.ne、%.%.nene标准指数表示法:标准指数表示法:标准指数表示法:标准指数表示法:a.bbbbbbEcca.bbbbbbEcc如有:如有:如有:如有:float x=123.456,y=78.932e-6;float x=123.456,y=78.932e-6;printf(“%e,%14E,%10.2e”,x,-y,x);printf(“%e,%14E,%10.2e”,x,-y,x);结果:结果:结果:结果:1.234560e+02,-7.893200E-05,1.23e+021.234560e+02,-7.893200E-05,1.23e+028.8.g g格式符格式符格式符格式符实型(单精度、双精度),自动格式实型(单精度、双精度),自动格式实型(单精度、双精度),自动格式实型(单精度、双精度),自动格式用法:用法:用法:用法:%g%g如有:如有:如有:如有:float x=123.456,y=78.932e-6;float x=123.456,y=78.932e-6;printf(“%g,%g”,x,yprintf(“%g,%g”,x,y););结果:结果:结果:结果:123.456,7.8932e-05123.456,7.8932e-05基本的输入输出C语言程序设计3.3.2 格式输入 1 1scanfscanf()()函数的一般格式:函数的一般格式:函数的一般格式:函数的一般格式:scanfscanf(“(“格式控制格式控制格式控制格式控制”,地址表,地址表,地址表,地址表 )n n如:如:如:如:intint a,ba,b;scanf(“%dscanf(“%d,%d”%d”,&a&a,&b);&b);输入:输入:输入:输入:1010,2020 n n格式控制:格式字符、普通字符。格式控制:格式字符、普通字符。格式控制:格式字符、普通字符。格式控制:格式字符、普通字符。n n地址表:只能是变量的地址列表。地址表:只能是变量的地址列表。地址表:只能是变量的地址列表。地址表:只能是变量的地址列表。基本的输入输出C语言程序设计2 2使用使用使用使用scanfscanf()()函数时应注意的几个问题函数时应注意的几个问题函数时应注意的几个问题函数时应注意的几个问题 1.1.“格式控制格式控制格式控制格式控制”字符串中如果没有任何普通字符,字符串中如果没有任何普通字符,字符串中如果没有任何普通字符,字符串中如果没有任何普通字符,例如:例如:例如:例如:scanf(“%d%d”,&a,&bscanf(“%d%d”,&a,&b););在输入数据在输入数据在输入数据在输入数据(10(10和和和和20)20)时有三种方式:时有三种方式:时有三种方式:时有三种方式:数据中间使用一个或多个空格:数据中间使用一个或多个空格:数据中间使用一个或多个空格:数据中间使用一个或多个空格:10 2010 20 数据中间按下跳格键数据中间按下跳格键数据中间按下跳格键数据中间按下跳格键(Tab)(Tab):10Tab2010Tab20 数据中间按下回车键,即分行输入:数据中间按下回车键,即分行输入:数据中间按下回车键,即分行输入:数据中间按下回车键,即分行输入:1010 2020 基本的输入输出数据分隔符C语言程序设计2.2.可以指定输入数据所占的列数,系统自动按指定可以指定输入数据所占的列数,系统自动按指定可以指定输入数据所占的列数,系统自动按指定可以指定输入数据所占的列数,系统自动按指定的列数截取所需的数据。如:的列数截取所需的数据。如:的列数截取所需的数据。如:的列数截取所需的数据。如:scanf(“%2d%3d”,&a,&b);scanf(“%2d%3d”,&a,&b);输入:输入:输入:输入:123456123456 当然也可以用于字符型,如:当然也可以用于字符型,如:当然也可以用于字符型,如:当然也可以用于字符型,如:scanf(“%3c%2c”,&ch1,&ch2);scanf(“%3c%2c”,&ch1,&ch2);输入:输入:输入:输入:ABCDEFABCDEF 基本的输入输出a ab bch1ch1ch2ch21212345345A AD DC语言程序设计3.3.使用使用使用使用“%c”%c”时相当于写成时相当于写成时相当于写成时相当于写成“%1c”%1c”,即不必在输,即不必在输,即不必在输,即不必在输入时使用入时使用入时使用入时使用“数据分隔符数据分隔符数据分隔符数据分隔符”,否则它也会被当做字,否则它也会被当做字,否则它也会被当做字,否则它也会被当做字符读入。如:符读入。如:符读入。如:符读入。如:scanf(“%c%c%c”,&ch1,&ch2,&ch3);scanf(“%c%c%c”,&ch1,&ch2,&ch3);输入输入输入输入ABCABC 时,字符时,字符时,字符时,字符 AA送送送送ch1ch1,字符,字符,字符,字符 送送送送ch2ch2,字符,字符,字符,字符 BB送送送送ch3ch3。而:。而:。而:。而:输入输入输入输入A123BA123B 时,字符时,字符时,字符时,字符 AA送送送送ch1ch1,字符,字符,字符,字符 11送送送送ch2ch2,字符,字符,字符,字符 22送送送送ch3ch3。基本的输入输出C语言程序设计4.4.输入数据时不能规定精度。如:输入数据时不能规定精度。如:输入数据时不能规定精度。如:输入数据时不能规定精度。如:scanf(“%5.2f”,&x);scanf(“%5.2f”,&x);/*/*非法非法非法非法*/5.5.在在在在scanfscanf()()函数中不能使用函数中不能使用函数中不能使用函数中不能使用“u”u”格式字符和格式字符和格式字符和格式字符和“-”-”附加字符。附加字符。附加字符。附加字符。6.6.scanfscanf()()函数中不能有提示,若要提示可以用函数中不能有提示,若要提示可以用函数中不能有提示,若要提示可以用函数中不能有提示,若要提示可以用printfprintf()()。如:。如:。如:。如:scanf(“ascanf(“a=%=%d”,&ad”,&a););printf(“bprintf(“b=”);=”);scanf(“%d”,&bscanf(“%d”,&b););运行应输入:运行应输入:运行应输入:运行应输入:a=10a=10 b=b=2020 基本的输入输出C语言程序设计7.7.如果输入的数据多于如果输入的数据多于如果输入的数据多于如果输入的数据多于scanfscanf()()函数所要求的个数,函数所要求的个数,函数所要求的个数,函数所要求的个数,余下的数据可以为下一个余下的数据可以为下一个余下的数据可以为下一个余下的数据可以为下一个scanfscanf()()函数接着使用。函数接着使用。函数接着使用。函数接着使用。如:如:如:如:scanf(“%d%d”,&a,&bscanf(“%d%d”,&a,&b););scanf(“%d”,&cscanf(“%d”,&c););输入输入输入输入12 34 5612 34 56 时,第一个时,第一个时,第一个时,第一个scanfscanf()()只读入了前两只读入了前两只读入了前两只读入了前两个数据个数据个数据个数据1212和和和和3434,剩下的,剩下的,剩下的,剩下的5656将被下一个将被下一个将被下一个将被下一个scanfscanf()()函数函数函数函数所用。所用。所用。所用。基本的输入输出C语言程序设计8.8.在在在在scanfscanf()()函数中某格式字符读入数据时,遇以下函数中某格式字符读入数据时,遇以下函数中某格式字符读入数据时,遇以下函数中某格式字符读入数据时,遇以下情况时认为该数据结束:情况时认为该数据结束:情况时认为该数据结束:情况时认为该数据结束:遇遇遇遇“数据分隔符数据分隔符数据分隔符数据分隔符”。遇宽度结束。如遇宽度结束。如遇宽度结束。如遇宽度结束。如“%3d”%3d”,只取,只取,只取,只取3 3列;列;列;列;遇非法输入。如:遇非法输入。如:遇非法输入。如:遇非法输入。如:scanf(%d%d”,&a,&bscanf(%d%d”,&a,&b););输入输入输入输入123.45 678123.45 678 时,时,时,时,123123送送送送a a,而,而,而,而b b没有被赋值,没有被赋值,没有被赋值,没有被赋值,因为整型数据中不能出现小数点。因为整型数据中不能出现小数点。因为整型数据中不能出现小数点。因为整型数据中不能出现小数点。基本的输入输出C语言程序设计小结 本章所介绍的格式字符比较多,规则也比较本章所介绍的格式字符比较多,规则也比较本章所介绍的格式字符比较多,规则也比较本章所介绍的格式字符比较多,规则也比较多,但用的最多的不外乎:多,但用的最多的不外乎:多,但用的最多的不外乎:多,但用的最多的不外乎:%d%d,%mdmd,%f%f,%m.nfm.nf,%c%c,%s%s 这几种形式。在输入数据时,由于用户不知道你这几种形式。在输入数据时,由于用户不知道你这几种形式。在输入数据时,由于用户不知道你这几种形式。在输入数据时,由于用户不知道你要求输入数据的格式如何,难免会出现错误。所要求输入数据的格式如何,难免会出现错误。所要求输入数据的格式如何,难免会出现错误。所要求输入数据的格式如何,难免会出现错误。所以在编程时,通常在输入语句之前有输出语句,以在编程时,通常在输入语句之前有输出语句,以在编程时,通常在输入语句之前有输出语句,以在编程时,通常在输入语句之前有输出语句,用来输出提示信息,告诉用户将要输入的是什么用来输出提示信息,告诉用户将要输入的是什么用来输出提示信息,告诉用户将要输入的是什么用来输出提示信息,告诉用户将要输入的是什么数据及要求的输入格式。一方面解决了用户的困数据及要求的输入格式。一方面解决了用户的困数据及要求的输入格式。一方面解决了用户的困数据及要求的输入格式。一方面解决了用户的困惑,另一方面也使程序的可读性增强。惑,另一方面也使程序的可读性增强。惑,另一方面也使程序的可读性增强。惑,另一方面也使程序的可读性增强。基本的输入输出C语言程序设计3.4 程序举例 n n 例例例例3.4 3.4 将键盘输入的两个整数互换之后输出。将键盘输入的两个整数互换之后输出。将键盘输入的两个整数互换之后输出。将键盘输入的两个整数互换之后输出。n n分析:这个问题与分析:这个问题与分析:这个问题与分析:这个问题与“把把把把SONYSONY带中的歌曲与带中的歌曲与带中的歌曲与带中的歌曲与TDKTDK带中的舞曲互换带中的舞曲互换带中的舞曲互换带中的舞曲互换”类似,你会怎么做?类似,你会怎么做?类似,你会怎么做?类似,你会怎么做?得用第三盘带作中间磁带。得用第三盘带作中间磁带。得用第三盘带作中间磁带。得用第三盘带作中间磁带。n n三个步骤:三个步骤:三个步骤:三个步骤:(1)(1)把把把把SONYSONY带的歌曲录到中间带;带的歌曲录到中间带;带的歌曲录到中间带;带的歌曲录到中间带;(2)(2)这盘这盘这盘这盘SONYSONY带就可以录成另一盘带就可以录成另一盘带就可以录成另一盘带就可以录成另一盘TDKTDK带的舞曲;带的舞曲;带的舞曲;带的舞曲;(3)(3)最后再把中间带的内容最后再把中间带的内容最后再把中间带的内容最后再把中间带的内容(为歌曲为歌曲为歌曲为歌曲)录回到录回到录回到录回到TDKTDK带。带。带。带。基本的输入输出舞曲舞曲歌曲歌曲SONYTDK中间带中间带歌曲歌曲舞曲舞曲歌曲歌曲a ab bt tt=a;t=a;a=b;a=b;b=t;b=t;C语言程序设计n n 例例例例3.5 3.5 将输入的一个大写字母转换为小写字母将输入的一个大写字母转换为小写字母将输入的一个大写字母转换为小写字母将输入的一个大写字母转换为小写字母输出。输出。输出。输出。n n分析:在分析:在分析:在分析:在ASCIIASCII码表中,字母是按字母表的顺序码表中,字母是按字母表的顺序码表中,字母是按字母表的顺序码表中,字母是按字母表的顺序排列的,即排列的,即排列的,即排列的,即:小写小写小写小写(c1)(c1):a b c a b c 大写大写大写大写(c2)(c2):A B C A B C 基本的输入输出97 98 99 97 98 99 65 66 67 65 66 67 c2=c1-32;c2=c1-32;c1=c2+32;c1=c2+32;C语言程序设计n n 例例例例3.6 3.6 输入一个时间数据,用汉字输出表示的时输入一个时间数据,用汉字输出表示的时输入一个时间数据,用汉字输出表示的时输入一个时间数据,用汉字输出表示的时间。如输入如间。如输入如间。如输入如间。如输入如“10:20:34”10:20:34”时,输出时,输出时,输出时,输出“1010时时时时2020分分分分3434秒秒秒秒”。n n分析:分析:分析:分析:输入格式:输入格式:输入格式:输入格式:10:20:3410:20:34输出格式:输出格式:输出格式:输出格式:1010时时时时2020分分分分3434秒秒秒秒基本的输入输出h hmms sscanf(“%d:%d:%d”,&h,&m,&sscanf(“%d:%d:%d”,&h,&m,&s););printf(“%dprintf(“%d时时时时%d%d分分分分%d%d秒秒秒秒”,h,m,sh,m,s););C语言程序设计n n 例例例例3.7 3.7 输入一个输入一个输入一个输入一个3 3位整数,将这个数逆序组成一位整数,将这个数逆序组成一位整数,将这个数逆序组成一位整数,将这个数逆序组成一个新的数输出。如输入个新的数输出。如输入个新的数输出。如输入个新的数输出。如输入“123”123”,输出,输出,输出,输出“321”321”。n n分析:分析:分析:分析:输入数据输入数据输入数据输入数据(x)(x):1 2 3输出数据输出数据输出数据输出数据(y)(y):3 2 1百百百百 十十十十 个个个个百百百百 十十十十 个个个个a ab bc ca=x%10;b=x%100/10;c=x/100;b=x/10%10;y=100*a+10*b+c;基本的输入输出C语言程序设计n n 例例例例3.8 3.8 由计算机随机出一道两位数由计算机随机出一道两位数由计算机随机出一道两位数由计算机随机出一道两位数10991099的加的加的加的加法题,并让用户回答。法题,并让用户回答。法题,并让用户回答。法题,并让用户回答。n n预备知识:在预备知识:在预备知识:在预备知识:在“stdlib.hstdlib.h”中提供了两个随机函中提供了两个随机函中提供了两个随机函中提供了两个随机函数数数数random(Numrandom(Num):得到一个:得到一个:得到一个:得到一个0Num)0Num)之间的随机整数之间的随机整数之间的随机整数之间的随机整数randomize()randomize():重置随机数序列:重置随机数序列:重置随机数序列:重置随机数序列n n分析:分析:分析:分析:random(Numrandom(Num)0 Num-1 0 Num-1?10 99 10 99 0 89 +10 0 89 +10random(90)+10random(90)+10基本的输入输出C语言程序设计第3章作业1.1.从键盘上输入三角形的两条边及其夹角,求第三边及面积。从键盘上输入三角形的两条边及其夹角,求第三边及面积。从键盘上输入三角形的两条边及其夹角,求第三边及面积。从键盘上输入三角形的两条边及其夹角,求第三边及面积。设两边及夹角分别为设两边及夹角分别为设两边及夹角分别为设两边及夹角分别为a a、b b、,则第三边为,则第三边为,则第三边为,则第三边为,面积,面积,面积,面积。2.2.模仿例模仿例模仿例模仿例3.83.8,随机产生两个,随机产生两个,随机产生两个,随机产生两个-1010-1010之间的整数,求这两个数之间的整数,求这两个数之间的整数,求这两个数之间的整数,求这两个数的乘积。的乘积。的乘积。的乘积。3.3.将输入的一个表示日期的数显示成明显的日期。如输入将输入的一个表示日期的数显示成明显的日期。如输入将输入的一个表示日期的数显示成明显的日期。如输入将输入的一个表示日期的数显示成明显的日期。如输入“20030512”20030512”,显示为,显示为,显示为,显示为“20032003年年年年5 5月月月月1212日日日日”。4.4.输入一个华氏温度,要求输出摄氏温度。公式为:输入一个华氏温度,要求输出摄氏温度。公式为:输入一个华氏温度,要求输出摄氏温度。公式为:输入一个华氏温度,要求输出摄氏温度。公式为:输入要有说明,结果保留输入要有说明,结果保留输入要有说明,结果保留输入要有说明,结果保留3 3位小数。位小数。位小数。位小数。5.5.设圆的直径为设圆的直径为设圆的直径为设圆的直径为2.8cm2.8cm,圆柱的高为,圆柱的高为,圆柱的高为,圆柱的高为3cm3cm,求圆的周长、圆柱,求圆的周长、圆柱,求圆的周长、圆柱,求圆的周长、圆柱的表面积和圆柱的体积。用的表面积和圆柱的体积。用的表面积和圆柱的体积。用的表面积和圆柱的体积。用scanfscanf()()函数输入数据,输出的函数输入数据,输出的函数输入数据,输出的函数输入数据,输出的结果保留两位小数。结果保留两位小数。结果保留两位小数。结果保留两位小数。基本的输入输出C语言程序设计