文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.
C语言习题及解答
1、输入一个华氏温度,要求输出摄氏温度。公式为#include
printf(\ scanf(\ C=5.0/9*(F-32); printf(\
2、编写程序,从键盘输入一个大写字母,将它转}
1111???rr1r2r35、有三个电阻r1、r2、r3并联,编写程序计算并输出并联后的电阻r。已知电阻并联公式为:
#include
printf(\ scanf(\ r=1/(1/r1+1/r2+1/r3); printf(\}
6、由键盘输入一个10-99之间的整数,将该数分C?5?F?32?9换为对应的小写字母后输出。(提示:同一个字母的大写比小写小32)
#include
printf(\ scanf(\ ch=ch+32;
printf(“ch=%c\\n\
3、编写程序,输入梯形的上底、下底和高,计算解,分别输出其个位数字和十位数字。例如,输入85,输出:5,8。
提示:用算术运算中的整除和取余运算实现。
#include
{int x, a, b; scanf(\ a=x; b=x/10;
printf(“a=%d, b=%d\\n\
7、编写程序,输入三角形的三条边,计算并输出并输出梯形的面积。
#include
printf(\}
4、编写程序,输入圆半径r,求圆周长、圆面积、三角形的面积。(注意输入的三条边必须要能构成一个三角形)求三角形的面积公式为 其中s=(a+b+c)/2。
#include
scanf(\s= (a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c)); printf(\
?1126.67?10MTH?3?R4?2area?s?s?a??s?b??s?c?圆球表面积、圆球体积。
#include
printf(\ L,s1,s2,V);
8、周期为T秒的人造卫星离地面
的平均高度H的计算公式为:
其中:M=6×1024kg是地球质量,R=6.371×106m是地球半径。
编写程序,输入人造卫星的周期T,计算并输出人造卫星离地面的高度H。
算法提示:求xy结果的数学函数是pow(x, y)
#include
{double M=6E24,R=6.371E6,T,H,x;
1
文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.
printf(\ scanf(\
x=6.67E-11*M*T*T/(4*PI*PI); H=pow(x,1.0/3)-R; printf(\
9、求任意三个整数的平均值。要求:输入数据与 printf(\ scanf(\
if ((ch>='A'&&ch<='Z')||(ch>='a'&&ch<='z')) printf(\ else if (ch>='0' && ch<='9') printf(\ else
printf(\}
13、有一个函数,编写程序,输入x的值,计算并输出结果都应有相应的提示信息。且输出数据取小数点后两位数字显示。
#include
{float a,b,c,ave;printf(“Input 3 numbers:”); scanf(\ave= (a+b+c)/3;
printf(“average=%.2f\\n\
10、输入一个字符,并输出。其中有一个条件是如输出y值。
#include
?x3?1 ???3x?1y??2x?1?5?3e?5x?3lg(2x2?1)?13??x??1???1?x?1??1?x?10??x?10?{double x,y; printf(\ (x<-1)
y=x*x*x-1; else if (x<=1) y=-3*x+1; else if (x<=10) y=3*exp(2*x-1)+5;
else y=5*x+3*log10(2*x*x-1)-13; printf(\
14、从键盘输入三个数,代表三条线段的长度。请果该字符是小写的英文字母,则需把它转换成大写字母再输出。
#include
printf(\ scanf(\ if (ch>='a'&&ch<='z') ch=ch-32; printf(\}
11、输入年号,判断并输出该年是否为闰年。所谓编写程序,判断这三条线段组成的三角形是什么类型(等边、等腰、不等边或不能构成三角形)。
#include
{float a,b,c; printf(\scanf(\if (a+b<=c || b+c<=a || c+a<=b) printf(\else if (a==b&&b==c)
printf(\else if (a==b||b==c||c==a)
if
printf(\else
printf(\
15、简单选择界面的编程,要求用switch实现多分闰年,是指能被4整除,但不能被100整除;或能被400整除的年份。
#include
printf(\scanf(\
printf(\else
printf(\
12、编写程序,输入一个字符存入变量ch中,根(year%4==0&&year0!=0||year@0==0)
支。从键盘输入整数,输出不同的字符串:
输入1,输出Good morning; 输入2,输出Good afternoon; 输入3,输出Good evening; 输入4,输出Good night; 输入其它数字,输出Bye-bye。 #include
据该字符的ASCII码值判断并输出字符的类型,即字母(alpha)、数字(numeric)或其他字符(other)
#include
2
文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.
void main( ) { int x;
printf(\ scanf(\ switch(x)
{ case 1: printf(\ break; case 2: printf(\ case 3: printf(\ break; case 4: printf(\ break; default: printf(\ } }
16、从键盘输入若干整数,以0结束,判断并输出 else if (ch>='a'&&ch<='z')
b=b+1;
else if (ch==' ') // ch==32 c=c+1;
else if (ch>='0'&&ch<='9') d=d+1; else e=e+1; }
printf(\}
数学表达式的写法:
x=6.67E-11*M*T*T/4*PI*PI; × x=6.67E-11*M*T*T/(4*PI*PI); √ x=6.67E-11*M*T*T/4/PI/PI; √
x=pow(6.67E-11*M*T*T/(4*PI*PI),1.0/3); √2 、scanf、printf函数的格式:
其中的最大数。
#include
Scanf(“%d”,&x);max=x; While(x!=0) {if(x>max)max=x; Scanf(“%d”,&x);} printf(\;
17、输入一行字符,以回车键作为结束标志,分 scanf(\ //双引号间不要加其它任何符号
scanf(\ //double型输入时应使用%lf
printf(\ //printf函数中常加其它说明字符
别统计出大写字母、小写字母、空格、数字和其它字符的个数。
while (ch!='\\n') if (ch>='A'&&cn<='Z') a=a+1;
else if (ch>='a'&&ch<='z') b=b+1; else if (ch==' ') c=c+1;
else if (ch>='0'&&ch<='9') d=d+1; else e=e+1;
#include
int a=0,b=0,c=0,d=0,e=0; printf(\ while ((ch=getchar( ))!='\\n') { if (ch>='A'&&cn<='Z') a=a+1;
数学函数的使用方法;同时需加上#include
double pow(double x,double y);4、方法一:使用scanf函数
scanf(\读入第一个字符 while (ch!='\\n') { if (…) ┊
scanf(\读入其它字符
}
//循环之前读入第一个字符,以便第一次判断表达式是否成立;循环体最后读入下一个字符,以便判断循环是否继续执行
5、5/9.0*(F-32) 5.0/9.0*(F-32) 5*(F-32)/9
18、分别用while、do-while和for语句计算 (即求1!+2!+3!+…+20!),并试着简化程序。
#include
3