当前位置:文档之家› 复习试题(1)

复习试题(1)

[题目内容] 编写一个用户自定义函数,函数的功能是:将华氏温度转换为摄氏温度。

编写一个程序,输出一个华氏温度与摄氏温度的对照表,其中华氏温度从32开始到100为止,步长为4。

[输入] 无[输出] 如下:华氏温度摄氏温度32 0.0036 2.2240 4.4444 6.6748 8.8952 11.1156 13.3360 15.5664 17.7868 20.0072 22.2276 24.4480 26.6784 28.8988 31.1192 33.3396 35.56100 37.78[提示]主函数使用for(f=32;f<=100;f=f+4)#include <stdio.h>void main(){float ftoc(int f);int f;printf("华氏温度摄氏温度\n");for(f=32;f<=100;f=f+4)printf("%d %.2f\n",f,ftoc(f));}float ftoc(int f){float c;c=5*(f-32)/9.0;return c;}[题目内容] 某班同学检查身体,身高测量的结果如下:1.65,1.90,1.81,1.55,1.56,1.70,1.72,1.65,1.69,1.75,1.73,1.85,1.74,1.71,1.60,1.50,1.68,1.73,1.72,1.80。

编写程序,从键盘将这组数据输入到数组中保存,并输出;然后,求出这些同学身高的最大值和最小值以及平均值,并输出。

(数据保留2位小数)[输入]某班同学身高测量[输出] 某班同学身高测量,身高的最大值和最小值以及平均值。

[提示]定义一维数组,利用for循环语句从键盘逐个输入身高数据、输出数组中的每个元素;定义最大值、最小值、平均值变量,利用for循环语句求数组元素中的最大值、最小值、和值,再求出平均值;利用printf输出结果。

#include <stdio.h>void main(){float x[20];int i;float max,min,sum,ave;for(i=0;i<20;i++)scanf("%f",&x[i]);for(i=0;i<20;i++)printf("%.2f\t",x[i]);max=x[0];min=x[0];sum=x[0];for(i=1;i<20;i++){ if(max<x[i]) max=x[i];if(min>x[i]) min=x[i];sum=sum+x[i];}ave=sum/20;printf("\n%.2f\n%.2f\n%.2f\n",max,min,ave);}3.[目的]应用所学知识解决实际问题。

[题目内容] 数值的分布范围。

一份计算机市场调查报告显示,市场上PC机的售价不同:6500,4990,5500,7200,6810,5700,5660,6900,5850,6250。

编写程序,计算平均售价以及价格范围。

(数据保留2位小数)[输入] 市场上PC机的售价[输出] 平均售价、价格范围[提示]分布范围是对一系列数值进行统计分析的方法之一。

分布范围是指该系列数值中最大值与最小值之差。

即分布范围=最大值-最小值。

#include <stdio.h>void main(){int i,x[10],max,min,sum,range;float ave;printf("\n请输入售价:\n");for(i=0;i<10;i++)scanf("%d",&x[i]);for(i=0;i<10;i++)printf("%d ",x[i]);printf("\n");max=min=sum=x[0];for(i=1;i<10;i++){if(x[i]>max) max=x[i];if(x[i]<min) min=x[i];sum=sum+x[i];}range=max-min;ave=sum/10.0;printf("ave=%f\trange=%d\n",ave,range);}[目的]掌握循环次数已知的循环控制处理方法。

[题目内容]编写一个程序,其功能为:求1-100之间的奇数之和。

[输入]无[输出]计算结果[提示]使用三种循环语句均可。

#include "stdio.h"void main(){int i,sum=0;for(i=1;i<=100;i=i+2)sum=sum+i;printf("sum=%d\n",sum);}4.[目的]掌握循环次数已知的循环控制处理方法。

[题目内容]编写一个程序,其功能为:输出100以内能被7整除的数。

[输入]无[输出]判断结果[提示]使用三种循环语句均可。

#include "stdio.h"void main(){int i,sum=0;for(i=1;i<=100;i++)if(i%7==0) printf("%d\t",i);}5.[目的]掌握循环次数已知的循环控制处理方法。

[题目内容]编写一个程序,其功能为:计算并输出一年12个月的总降雨量和平均降雨量。

[输入]12个月的降雨量[输出]总降雨量和平均降雨量[提示]使用for循环语句,和值、平均值变量采用双精度类型,和值初值设为零。

#include "stdio.h"void main(){int i;double x,sum=0,ave;for(i=1;i<=12;i++){printf("请输入%d月的降雨量:",i);scanf("%lf",&x);sum=sum+x;}ave=sum/12;printf("sum=%lf\tave=%lf\n",sum,ave);}6.[目的]掌握循环次数已知的循环控制处理方法。

[题目内容]编写一个程序,其功能为:在0°到90°之间每隔5°输出一行数据,打印一个表。

每行中包括5个项目:角度数,以及它所对应的正弦、余弦、正切、余切函数值。

[输入]无[输出]如下表格[提示]使用for循环语句和if语句,注意0°、90°时的正切和余切的处理。

#include "stdio.h"#include "math.h"#define PI 3.1415926void main(){int i;double ih;printf("角度数正弦余弦正切余切\n");for(i=0;i<=90;i=i+5){ih=i*PI/180;if(i==0)printf("%d\t%lf\t%lf\t%lf\t%c\n",i,sin(ih),cos(ih),sin(ih)/cos(ih),'-');else if(i==90)printf("%d\t%lf\t%lf\t%c \t%lf\n",i,sin(ih),cos(ih),'-',cos(ih)/sin(ih));elseprintf("%d\t%lf\t%lf\t%lf\t%lf\t\n",i,sin(ih),cos(ih), sin(ih)/cos(ih),cos(ih)/sin(ih));}}7.[目的]掌握循环次数已知的循环控制处理方法。

[题目内容]编写一个程序,其功能为:输入10个字符,输出各个字符的ASCII编码。

[输入] 10个字符[输出] 各个字符的ASCII编码[提示]使用for循环语句,字符的输入不需要分隔符,可以连续输入10个字符。

#include "stdio.h"void main(){int i;char ch;for(i=1;i<=10;i++){printf("请输入一个字符:");scanf("%c",&ch);printf("\n%c %d\n",ch,ch);}}8.[目的]掌握循环次数未知的循环控制处理方法。

[题目内容]编写一个程序,其功能为:计算一批货物的总值,输入货物单价和数量。

事先不知道需要统计的货物有多少种。

[输入] 货物单价和数量[输出] 货物的总值[提示]使用while循环语句或do…while语句,设计一个特殊值作为循环结束的标志,例如,单价值为零。

#include "stdio.h"void main(){double price,num,sum=0;printf("请输入货物单价和数量:");scanf("%lf%lf",&price,&num);while(price!=0){sum=sum+price*num;printf("请输入货物单价和数量:");scanf("%lf%lf",&price,&num);}printf("sum=%lf\n",sum);}9.[目的]掌握递推法的处理方法。

[题目内容]编写一个程序,其功能为:输出fibnocci数列的前20项,每行输出5个。

说明:fibnocci数列的前两项均为1,以后各项等于其前两项之和。

[输入] 无[输出] fibnocci数列的前20项[提示]使用for循环语句以及递推算法,fibnocci数列的前两项均为1,以后各项等于其前两项之和。

#include "stdio.h"void main( ){int i,f1,f2,f3,n;f1=1;f2=1;printf("\n%8d%8d",f1,f2);n=2;for(i=1;i<=18;i++){if(n%5==0) printf("\n");f3=f1+f2;printf("%8d",f3); n++;f1=f2;f2=f3;}printf("\n");}(1 计算a+|b| 2 判断一个整数是否可以被3和5整除)1.[目的]掌握判断一个字符型数据是否数字字符的方法,以及数字字符转换为相应整数的方法。

相关主题