c语言期末1.docx
《c语言期末1.docx》由会员分享,可在线阅读,更多相关《c语言期末1.docx(32页珍藏版)》请在冰豆网上搜索。
c语言期末1
【程序改错】
1.功能:
根据整型形参m,计算如下公式的值:
y=1/2+1/8+1/18+...+1/2m*m
#include"stdio.h"
doublefun(intm)
{
/**********ERROR**********/
doubley=0.0[doubley=0.0;]
inti;
/**********ERROR**********/
for(i=1;i{
/**********ERROR**********/
y=+1.0/(2*i*i);[y=y+1.0/(2*i*i);]
}
return(y);
}
main()
{
intn;
printf("Entern:
");
scanf("%d",&n);
printf("\nTheresultis%1f\n",fun(n));
}
2.题目:
从键盘输入的正整数中找出最大值,输入0时结束。
#include"stdio.h"
main()
{
intmax=0,a;
do
{
scanf("%d",&a);
/**********ERROR**********/
if(a>max)a=max;[if(a>max)max=a;]
}
/**********ERROR**********/
while(a==0);[while(a!
=0);]
printf("%d",max);
}
3.题目:
从键盘输入数a、b、c后,输出其中最小的数。
#include"stdio.h"
main()
{
inta,b,c,t,m;
scanf("%d%d%d",&a,&b,&c);
printf("a=%d,b=%d,c=%d\n",a,b,c);
/**********ERROR**********/
t=(a>b)?
a:
b;[t=(a
a:
b;]
/**********ERROR**********/
m=(t>c)?
t:
c;[m=(tt:
c;]
printf("mis%d\n",m);
}
4.题目:
求8!
的结果。
#include"stdio.h"
main()
{
inti=8;
longs1=1,j;
/**********ERROR**********/
for(j=1;j
/**********ERROR**********/
s1=s1*i;[s1=s1*j;]
printf("%ld",s1);
}
5.题目:
从键盘输入35,求出能被3和5整除的数。
#include"stdio.h"
main()
{
intn,flag;
scanf("%d",&n);
flag=0;
/**********ERROR**********/
if(n/3!
=0)flag=-1;[if(n%3!
=0)flag=-1;]
if(n%5!
=0)flag=-1;
/**********ERROR**********/
if(flag!
=0)printf("能被3,5整除");[if(flag==0)printf("能被3,5整除");]
elseprintf("不能被3,5整除");
}
6.功能:
一个整数,它加上100后是一个完全平方数,再加上168又
是一个完全平方数,请问该数是多少?
#include"stdio.h"
#include"math.h"
main()
{
longinti,x,y,z;
/**********ERROR**********/
for(i==1;i<100000;i++)[for(i=1;i<100000;i++)]
{
/**********ERROR**********/
x=sqrt(i+100)[x=sqrt(i+100);]
y=sqrt(i+268);
/**********ERROR**********/
if(x*x==i+100||y*y==i+268)[if(x*x==i+100&&y*y==i+268)]
printf("\n%ld\n",i);
}
}
7.题目:
求分段函数y=-1(x<0),y=1(x>0),y=0(x=0)的值。
#include"stdio.h"
main()
{
intx,y;
scanf("%d",&x);
/**********ERROR**********/
if(x<=0)y=-1;[if(x<0)y=-1;]
/**********ERROR**********/
elseif(x=0)y=0;[elseif(x==0)y=0;]
elsey=1;
printf("x=%d,y=%d\n",x,y);
}
8.题目:
从键盘输入的整数中找出最小值,输入负数时结束。
#include"stdio.h"
main()
{
intmin,a;
scanf("%d",&a);
min=a;
/**********ERROR**********/
while(a<0)[while(a>=0)]
{
/**********ERROR**********/
if(a>min)min=a;[if(ascanf("%d",&a);
}
}
9.题目:
输入两个正整数,并由小到大排列。
输入负数或0则重新输入。
#include"stdio.h"
main()
{
inta,b,t;
do
{
scanf("%d,%d",&a,&b);
}
/**********ERROR**********/
while(a>=0&&b>=0);[while(a<=0||b<=0);]
if(a>=b)
/**********ERROR**********/
t=a;a=b;b=t;[{t=a;a=b;b=t;}]
printf("a=%d,b=%d",a,b);
}
10.功能:
以下程序能求出1*1+2*2+......+n*n<=1000中满足条件的
最大的n。
#include"stdio.h"
#include"string.h"
main()
{
intn,s;
/**********ERROR**********/
s==n=0;[s=n=0;]
/**********ERROR**********/
while(s>1000)[while(s<=1000)]
{
++n;
s+=n*n;
}
/**********ERROR**********/
printf("n=%d\n",&n-1);[printf("n=%d\n",n-1);]
}
1.某班级有5个同学,请从键盘输入这5名同学的数学成绩,将成绩从低到高输出(请使用冒泡排序法完成此题)。
#include
intmain(){
int_____1_score[5]___,i,j,n=5,temp;
for(i=0;___2_i<5或i<=4___;i++)
scanf("%d",____3_&score[i]____);
for(i=0;ifor(j=0;jif(____4_score[j]>score[j+1]___){
temp=score[j];
score[j]=____5_score[j+1]___;
score[j+1]=____6_temp___;}}}
for(____7_i=0__;i____8printf___("%d",score[i]);}
return0;}
2.从键盘输入两个正整数m和n,请计算m~n之间的偶数和。
(m一定比n小)
#include
int____1__main()___{
___2_int__i,m,n;//变量定义
int____3_sum=0____;//求和变量定义
scanf("%d%d",&m,&n);
for(___4_i=m___;___5__i<=n___;i++)//在m,n之间循环
if(____6_i%2==0____)//判断奇偶数
____7_sum=sum+i____;//求和
printf("___8_%d_",sum);//输出结果
return0}
空1】main(void)main()
【空2】int
【空3】sum=0
【空4】i=m
【空5】i<=n
【空6】i%2==0
【空7】sum+=I或sum=sum+i
【空8】%d
3.请编程输出以下图形:
(注:
第一行的星号左边有两个空格。
必须使用循环结构完成此题)。
*
**
***
#include
intmain()
{
inti,____1_____;//定义变量
for(___2___;i<=3;i++)//行数
{
for(j=1;____3___;j++)//空格数量
_____4____("");//空格输出
for(k=1;____5____;k++)//星号数量
_______6_____;//星号输出
printf("____7_____");//行尾输出
}
_____8_____0;//函数返回
}
【空1】j,k
【空2】i=1
【空3】j<=3-i
【空4】printf
【空5】k<=i
【空6】printf("*")
【空7】\n
【空8】return
4.视力检查时,国际上以1.0作为成人视力的标准,以成年人为例,如果视力>=1.0,则说明视力优秀;如果0.8=<视力<1.0,说明视力良好;如果0.6=<视力<0.8,说明视力普通;如果视力<0.6,说明近视。
请编程实现,从键盘输入一个人的视力后由程序判断并输出视力水平。
#include
intmain()
{
_____1_____;
scanf("%lf",____2___);
___3___(sl>=1.0)
printf("视力优秀");
___4___(sl>=0.8)
printf("_____5___");
elseif(____6___)
printf("____7____");
else
_____8_______;
return0;
}
【空1】doublesl
【空2】&sl
【空3】if
【空4】elseif
【空5】视力良好
【空6】sl>=0.6
【空7】视力普通
【空8】printf("近视")
5.已知:
正方体的表面积=棱长*棱长*6,公式:
S=h*h*6;请编程实现,从键盘输入正方体的棱长h,计算正方体的表面积S。
#include
int____1______
{
inth,s;//定义变量
___2____("____3____",&h);//输入
s=______4______;//计算
____5____("%d\n",s);//输出
____6_____0;//程序返回
}
【空1】main()
【空2】scanf
【空3】%d
【空4】h*h*6或h*6*h或6*h*h
【空5】printf
【空6】return
6.已知:
圆柱的侧面积=底面的周长乘高,公式:
S=2πrh;请编程实现,从键盘输入圆柱的底面半径r和圆柱体的高h,计算圆柱的侧面积S。
#include<____1____>
int___2____()
{
intr,h;
double____3______;
_____4____("%d%d",&r,&h);
s=2*3.14____5______;
printf("%lf\n",s);
____6____0;
}
【空1】stdio.h
iostream.h
【空2】main
【空3】s
【空4】scanf
【空5】*r*h
【空6】return
7.肥胖程度计算公式BMI法:
体重指数=体重(公斤)/身高(米)的平方kg/(m*m)。
正常体重:
体重指数<=25;超重:
25<体重指数<=30;轻度肥胖:
30<体重指数<=35;中度肥胖:
35<体重指数<=40;如果以上条件均不满足,为重度肥胖。
请编程实现,从键盘输入一人的身高h和体重w并输出其肥胖程度。
#include
intmain()
{
_____1____h,w,BMI;//定义变量
scanf("%lf%lf",&h,____2_____);//输入
___3___=h/(w*w);//计算体重指数
if(___4____)//条件判断
printf("正常体重");
____5____(BMI<=30)//条件判断
printf("超重");
elseif(____6_____)//条件判断
printf("____7____");//输出体重指数等级
elseif(BMI<=40)
printf("中度肥胖");
else
printf("____8_____");//输出体重指数等级
return0;
}
【空1】double
【空2】&w
【空3】BMI
【空4】BMI<=25
【空5】elseif
【空6】BMI<=35
【空7】轻度肥胖
【空8】重度肥胖
8.从键盘输入一个正整数n,计算1~n中能被3整除的数字之和,即3+6+9+……。
#include
int____1_____()
{
___2__i,n,sum=0;//变量定义
____3_____("%d",&n);//输入
____4___(i=1;____5___;i++)//1~n的范围内
___6___(____7_____)//条件判断
sum+=i;
printf("%d",___8___);//结果输出
return0;
}
【空1】main
【空2】int
【空3】scanf
【空4】for
【空5】i<=n
【空6】if
【空7】i%3==0
【空8】sum
9.某比赛有6位参赛选手,请从键盘输入这6位参赛选手的得分,将得分从高到低输出(请使用冒泡排序法完成此题)。
#include
intmain()
{
int____1___,i,j,n=6,temp;//数组定义
for(___2____;____3_____;i++)//循环边界
scanf("%d",_____4______);//输入选手成绩
for(i=0;i____5____(j=0;jif(grade[j]___6____grade[j+1]){//寻找单次最值
temp=grade[j];
______7_______;//符合条件交换
grade[j+1]=temp;
}
}
}
for(i=0;iprintf("%d",_____8______);//输出
}
return0;
}
【空1】grade[6]
【空2】i=0
【空3】i【空4】&grade[i]
【空5】for
【空6】<
【空7】grade[j+1]=grade[j]或grade[j]=grade[j+1]
【空8】grade[i]
10.编写程序,从键盘输入一个字符,输出该字符的ASCII码以及与该字符前后相邻的两个字符。
如输入d,输出100ce。
#include
intmain()
{
_____1_____a;//定义初始字符变量
scanf("%c",____2____);//输入
printf("____3_____",a);//输出ASCII码
printf("\n");
printf("_____4_____",a-1);//输出前一个字符
printf("%c",____5____);//输出后一个字符
_____6_____0;//程序返回
}
【空1】char
【空2】&a
【空3】%d
【空4】%c
【空5】a+1
【空6】return
11.请编程实现,从键盘输入一个整数n,并判断该数字是否为质数(质数又称素数。
指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数)。
#include
intmain()
{
____1____n,i;//定义变量
scanf("%d",__2___);//输入
___3___(___4____;i<=n-1;i++)//分母范围
if(____5___==0)//素数条件
_____6____;//循环执行决定因素
___7__(i==n)//是否素数判断条件
___8____("%d是质数\n",n);//输出
return0;
}
【空1】int
【空2】&n
【空3】for
【空4】i=2
【空5】n%i
【空6】break
【空7】if
【空8】printf
12.假设有数组inta[10];编程实现输入10个数组元素的值,去掉最大值,计算剩余数字的平均值。
#include
intmain()
{
int_____1____,i,max,sum=0;//定义变量
double____2____;//定义变量
for(____3___;i<10;i++)//数组边界循环
scanf("%d",_____4______);//输入数组元素
_____5______=a[0];//赋值
for(i=0;i<10;i++)
{
if(____6_____)max=a[i];//找最值
sum+=a[i];
}
avg=(____7_____)/9.0;//求平均
_____8_____("%lf",avg);//输出
return0;
}
【空1】a[10]
【空2】avg
【空3】i=0
【空4】&a[i]
【空5】max
【空6】a[i]>max或max【空7】sum-max
【空8】printf
13.从键盘输入两个正整数a和b,请计算a~b之间的奇数和。
(a一定比b小)
____1_____
intmain()
{
inti,a,___2_____,sum=0;//变量定义
scanf("___3____",&a,&b);//输入
for(___4___;i<=b;___5_____)//在a,b之间循环
if(____6____)//判断奇偶数
sum=____7______;//求和
____8___("%d",sum);//输出结果
return0;
}
【空1】#include
【空2】b
【空3】%d%d
【空4】i=a
【空5】i=i+1或i++
【空6】i%2!
=0
【空7】i+sum或sum+i
【空8】printf
14.请编程输出以下图形:
(注意必须使用循环结构完成此题)。
*
***
*****
#_______1_______//包含头文件
intmain()
{
int_____2_____;//定义变量
for(i=1;____3____;i++)//行数
{
for(j=1;j<=____4____;j++)
____5___("");//星号与边界的距离
for(k=1;_____6______;k++)//星号数量
_______7______;//星号输出
printf("____8______");//行尾输出
}
return0;
}
【空1】include
【空2】i,j,k
【空3】i<=3
【空4】3-i
【空5】printf
【空6】k<=2*i-1
【空7】printf("*")
【空8】\n
15.海拔是指地面某个地点高出或者低于海平面的垂直距离,是海拔高度的简称,通常规定0~1500(包含1500)米为低海拔,1500~3500(包含3500)米为高海拔,3500~5500(包含5500)米为超高海拔,5500米以上为极高海拔。
请编程实现:
从键盘输入海拔高度h,输出对应标准。
如:
输入1000,输出低海拔。
#_______1________//包含头文件
intmain()
{
____2____h;//变量定义
____3____("%d",&h);//变量输入
____4___(h>5500)//极高海拔条件判断
printf("极高海拔");
____5____(h>3500)//超高海拔条件判断
_____6_____;//输出
elseif(____7____)
printf("高海拔");
else
printf("____8____");//输出
return0;
}
【空1】include
【空2】int
【空3】scanf
【空4】if
【空5】elseif
【空6】printf("超高海拔")
【空7】h>1500
【空8】低海拔
16.已知球体体积公式:
V=4*π*r*r*r/3;请编程实现,从键盘输入球体半径r,计算球体的体积V。
___1____
int_____2_____
{
____3____V;//定义变量
intr;
scanf("___4____",&r);//输入