第三章:顺序结构
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.将华氏温度转换为摄氏温度和绝对温度的公式分别为:
c= (f-32) (摄氏温度)
k=273.16+c (绝对温度)
请编程序:当给出f时,求其相应摄氏温度和绝对温度。
测试数据:① f=34
② f=100
2.写一个程序把极坐标(r,θ) (θ之单位为度)转换为直角坐标( X,Y)。转换公式是:
x=r.cosθ
y=r.sinθ
测试数据:① r=10 θ=45°
② r=20 θ=90°
3.写一个程序,按如下格式输出数据。
name number math english computer
zhanghua 9901 80.50 87.0 80
lina 9902 70.00 80.0 90
wanggang 9903 87.00 76.0 78
main()
{
char name1[10]="zhanghua",name2[10]="lina",name3[10]="wanggang";
int number1=9901,number2=9902,number3=9903;
float math1=80.5,english1=87,computer1=80;
float math2=70.5,english2=80,computer2=70;
float math3=87,english3=65,computer3=65;
/*printf("first student:name,number,math,english,computer\n");
gets(name);
scanf("%d%f%f%f",&number,&math,&english,&computer);*/
printf(" name number math english computer\n");
printf("%10s %6d %5.2f %7.1f %-8.0f\n",name1,number1,math1,english1,comput er1);
printf("%10s %6d %5.2f %7.1f %-8.0f\n",name2,number2,math2,english2,comput er2);
printf("%10s %6d %5.2f %7.1f %-8.0f\n",name3,number3,math3,english3,comput er3);
getch();
}
4.输入3个双精度实数,分别求出它们的和、平均值、平方和以及平方和的开方,并输出所求出各个值。
5.输入一个3位整数,求出该数每个位上的数字之和。如123,每个位上的数字和就是1+2+3=6。
扩展到五位数:
main()
{
long int x,ge,shi,bai,qian,wan;
scanf("%ld",&x);
ge=x%10;
shi=x/10%10;
bai=x/100%10;
qian=x/1000%10;
wan=x/10000%10;
x=ge+shi+bai+qian+wan;
printf("%ld+%ld+%ld+%ld+%ld=%ld\n",ge,shi,bai,qian,wan,x); getch();
}
6. 键盘输入两个整形变量的值,交换两个变量的值后,输出结果。
(利用中间变量及不利用中间变量两种方法)
7. 输入一个3位整数,将该数反序输出。
main()
{
long int a,b;
scanf("%ld",&a);
printf("input:%ld\n",a);
b=a%10;
a=a/10;
printf("output:%ld",b);
b=a%10;
a=a/10;
printf("%ld",b);
b=a%10;
a=a/10;
printf("%ld\n",b);
getch();
}
8. 猜字母:主要用于讲解getch与getchar之间的区别
#include "stdio.h"
#include "conio.h"
main()
{
char a,b;
printf("Easy Game:Guess letter\n");
printf("Firster input a letter:\n");
a=getch();
printf("*\nOK,then the Seconder input a letter:\n");
b=getchar();
if(a==b)
printf("you guess right!!!");
else
printf("you are loser!!");
getch();
}
9. 读程序:如果输入1234567,则下面的程序输出是什么?
main()
{ int x,y;
scanf("%2d%*3d%ld",&x,&y);
printf("%*d\n",x,x);
printf("%d\n",y);
printf("%d\n",x+y);
getch();
}
讲解:
%*d在scanf中的作用:读取相关的数据但不存入变量。(本例中可以认为是忽略读取的整数)%*d在printf中的作用:用对应变量的值代替,指定输入的宽度,可以用于通过变量确定输入宽度。(本例中用第一个X的值代替*)