高考C语言题库.docx

上传人:b****2 文档编号:17100716 上传时间:2023-07-22 格式:DOCX 页数:143 大小:49.98KB
下载 相关 举报
高考C语言题库.docx_第1页
第1页 / 共143页
高考C语言题库.docx_第2页
第2页 / 共143页
高考C语言题库.docx_第3页
第3页 / 共143页
高考C语言题库.docx_第4页
第4页 / 共143页
高考C语言题库.docx_第5页
第5页 / 共143页
高考C语言题库.docx_第6页
第6页 / 共143页
高考C语言题库.docx_第7页
第7页 / 共143页
高考C语言题库.docx_第8页
第8页 / 共143页
高考C语言题库.docx_第9页
第9页 / 共143页
高考C语言题库.docx_第10页
第10页 / 共143页
高考C语言题库.docx_第11页
第11页 / 共143页
高考C语言题库.docx_第12页
第12页 / 共143页
高考C语言题库.docx_第13页
第13页 / 共143页
高考C语言题库.docx_第14页
第14页 / 共143页
高考C语言题库.docx_第15页
第15页 / 共143页
高考C语言题库.docx_第16页
第16页 / 共143页
高考C语言题库.docx_第17页
第17页 / 共143页
高考C语言题库.docx_第18页
第18页 / 共143页
高考C语言题库.docx_第19页
第19页 / 共143页
高考C语言题库.docx_第20页
第20页 / 共143页
亲,该文档总共143页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

高考C语言题库.docx

《高考C语言题库.docx》由会员分享,可在线阅读,更多相关《高考C语言题库.docx(143页珍藏版)》请在冰点文库上搜索。

高考C语言题库.docx

高考C语言题库

1电子工业出版社

1.1教材

第5章控制结构程序设计

例5.1用if语句编写比较a和b两个数的大小,且把大者赋给l

main()

{

inta,b,l;

scanf("%d%d",&a,&b);

if(a>b)l=a;

elsel=b;

printf("l=%d\n",l);

}

例5.2编写比较a,b两个数的大小,且把大者赋给x,小者赋给y

main()

{

inta,b,x,y;

scanf("%d%d",&a,&b);

if(a>b){x=a;y=b;}

else{x=b;y=a;}

printf("x=%dy=%d",x,y);

}

例5.3编写一程序,根据学生的考分来划分成绩的优、良、及格和不及格。

优、良、及格、不及格,我们分别用5、4、3、2四个等级来表示,且按如下规定划分:

分数等级

100~905

89~754

74~603

59~02

main()

{

intscore,snum;

chargrade;

scanf("%d,%d",&snum,&score);

if(score>89)grade='5';

elseif(score>74)grade='4';

elseif(score>59)grade='3';

elsegrade='2';

printf("%d:

%c\n"snum,grade);

}

例5.4编写一程序,把三个整数中最大的打印出来

main()

{

inta,b,c,m;

scanf("%d%d%d",&a,&b,&c);

if(a>b)

{

if(a>c)m=a;

}

else

{

if(b>c)m=b;

elsem=c;

}

printf("m=%d",m);

}

例5.5编一程序,打印某年某月的天数

main()

{

inty,m,length;

scanf("%d%d",&y,&m);

switch(m)

{

case1:

case3:

case5:

case7:

case8:

case10:

case12:

length=31;break;

case4:

case6:

case9:

case11:

length=30;break;

case2:

if((y%4==0&&y%100!

=0)||y%400==0)length=28;

elselength=29;break;

default:

printf("error,pleaseagain\n");

}

printf("Thelengthof%d%dis%d\n",y,m,length);

}

}

例5.6要求程序运行时在屏幕上显示出下面的菜单:

1.加法练习

2.减法练习

3.乘法练习

4.除法练习

5.退出

如果按“1”健,则显示出一道加法练习题,

并判断输入的运算结果是否正确;

如果按“2”健,则显示出一道减法练习题···;

以此类推,按“5”健时,结束程序的运行。

#include

main()

{

charchoice;

intnum;

printf("\n\n\n");

printf("\t\t1.加法练习\n");

printf("\t\t2.减法练习\n");

printf("\t\t3.乘法练习\n");

printf("\t\t4.除法练习\n");

printf("\t\t5.退出\n");

printf("\n请选择(12345)");

choice=getch();

switch(choice)

{

case'1':

printf("\n\n10+27=");

scanf("%d",&num);

if(num==10+27)puts("正确!

");

elseputs("错误!

");

break;

case'2':

printf("\n\n63-20=");

scanf("%d",&num);

if(num==63-20)puts("正确!

");

elseputs("错误!

");

break;

case'3':

printf("\n\n2*16=");

scanf("%d",&num);

if(num==2*16)puts("正确!

");

elseputs("错误!

");

break;

case'4':

printf("\n\n36/12=");

scanf("%d",&num);

if(num==2*16)puts("正确!

");

elseputs("错误!

");

break;

case'5':

break;

default:

printf("选择出错!

");

}

}

例5.7显示输出三角形99乘法表程序

#include

main()

{

inti,j;

for(i=1;i<=9;i++)

for(j=1;j<=i;j++)

{

printf("%d",i*j);

if(i==j)printf("\n");

}

}

5.8用循环控制分行输出count=10、count=20、count=30.

#include

main()

{

intcount;

for(count=1;count<=3;count++)

printf("count=%d\n",count*10);

}

5.9用近似公式e=1+1/1!

+1/2!

+···1/n!

求自然对数的底e的值,取n为10(n愈大愈接近e的真值),用一层循环实现:

#include

main()

{

intn;

floate,p;

e=p=1.0;

for(n=1;n<=10;n++)

{

p*=n;

e=e+1.0/p;

}

printf("e=%10.7f\n",e);

}

运行结果:

e=2.7182810

例5.10求3-100之间的所有素数,按每行4列输出

#include

main()

{

inti,m,k,j=0;

for(m=3;m<=100;m++)

{

k=0;

for(i=2;i<=m-1;i++)

if(m%i==0)

{

k=1;

break;

}

if(k==0)

{

printf("%3d",m);

j=j+1;

if(j%4==0)

printf("\n")

}

}

}

例5.11“当型”的循环结构程序

#include

main()

{

intcount=1;

while(count<=3)

printf("count=%d\n",count++*10);

}

5.12令i的初值为0,测试i是否小于5;若为真,则显示i的值;然后i的值递增1,再进行测试,直到i小于5不成立,显示:

停止循环.

#include

main()

{

inti=0;

while(i<5)

printf("%d\n",i++);

printf("停止循环。

\n");

}

5.13华氏温度F与摄氏温度C的关系是:

c=5/9*(F-32),如果已知F为-10,20,50,···,200,用C程序求出各华氏温度所对应的摄氏温度。

#include

main()

{

floatfa,ce;

fa=-10;

while(fa<=200)

{

ce=(5.0/9.0)*(fa-32.0);

printf("%4.0f%6.1f\n",fa,ce);

fa=fa+30;

}

}

例5.14从键盘依次输入学生的成绩,并进行计数、累加,当输入-1时,停止输入,进行输出学生的数量、总成绩和平均成绩。

#include

main()

{

intn=0;

floatt=0,x;

scanf("%f",&x);

while(x!

=-1)

{

n+=1;

t+=x;

scanf("%f",&x);

}

printf("n=%dt=%6.2fpj=%6.2f\n",n,t,t/n);

}

例5.15“直到型”的循环结构程序#include

main()

{

inti=0;

do

{

printf("%d\n",i++);

}while(i<5);

printf("停止循环\n");

}

例5.16使用while语句#include

main()

{

intx,y,z;

scanf("%d,%d",&x,&y);

while(x!

=0&&y!

=0)

{

z=x+y;

printf("z=%d\n",z);

scanf("%d,%d",&x,&y);

}

}

例5.17使用do-while语句

#include

main()

{

intx,y,z;

do

{

scanf("%d,%d",&x,&y);

z=x+y;

printf("z=%d\n",z);

}

while(x!

=0&&y!

=0);

}

例5.18求100以内(含100)偶数之和的C程序用while语句实现

#include

main()

{

intx,y;

x=y=0;

while(x<100)

{

++x;

++x;

y+=x;

}

printf("2+4+6+···+98+100=%d\n")

}

例5.19求100以内(含100)偶数之和的C程序用do-while语句实现#include

main()

{

intx,y;x=y=0;

do

{

++x;

++x;

y+=x;

}while(x<100)

printf("2+4+6+···+98+100=%d\n",y);

}

例5.20利用break跳转的程序

#include

main()

{

inti;

for(i=1;i<6;i++)

{

if(i==3)break;

}

printf("Inthebreakloop,inowis%d\n"i);

}

例5.21利用continue跳转的程序

#include

main()

{

inti;

for(i=1;i<6;i++)

{

if(i==3)continue;

printf("Inthecontinueloop,iisnow%d\n",i);

}

}

例5.22用goto语句构成循环求1到100的整数和

#include

main()

{

inti=1,sum=0;

loop:

sum=sum+i;

i++;

if(i<=100)gotoloop;

else

printf("1+2+3+···+100=%d",sum);

}

习题4.1.1计算球体体积

for循环

#include

main()

{

intr;

floatv;

for(r=1;r<=100;r+=2)

{

v=4/3*3.14*pow(r,3);

printf("r=%d,v=%f\n",r,v);

}

}

while循环

#include

main()

{

intr;

floatv;

r=1;

while(r<=100)

{

v=4/3*3.14*pow(r,3);

printf("r=%d,v=%f\n",r,v);

r+=2;

}

}

习题4.1.2s=13+23+33+···+103

for循环

main()

{

ints,i;

s=0;

for(i=13;i<=103;i+=10)s=s+i;

printf("s=%d\n",s);

}

while循环

main()

{

ints,i;

s=0;

i=13;

while(i<=103)

{

s+=i;

i+=10;

}

printf("s=%d\n",s);

}

习题4.2找出学生成绩中的最高分和最低分的程序.

main()

{

intmax,min,n;

printf("请输入成绩,-1结束:

");

scanf("%d",&n);

max=min=n;

while(n!

=-1)

{

if(n>max)max=n;

if(n

scanf("%d",&n);

}

printf("最高分:

%d,最低分:

%d\n",max,min);

}

习题4.3输出“水仙花数”的程序.

#include

main()

{

intn,a,b,c;

for(n=100;n<=999;n++)

{

a=n/100;

b=n%10;

c=(n%100-b)/10;

if(pow(a,3)+pow(b,3)+pow(c,3)==n)printf("%d\n",n);

}

}

上机实习1.2验证2000年为闰年通过求余运算判断能否整除。

若a%b的值为0,则表明a能被b整除。

main()

{

intyear=2000,b;

b=(year%4==0&&year%100!

=0)||(year%400==0)

printf("%d\n",b);

}

上机实习2输出某月的天数

main()

{

intm,days;

printf("输入月份:

");scanf("%d",&m);

if(m==1||m==3||m==5||m==7||m==8||m==10||m==12)

days=31;

elseif(m==4||m==6||m==9||m==11)

days=30;

else

days=29;

printf("%d月份有%d天\n",m,days);

}

上机实习3.2.输入一个百分制成绩,输出用A、B、C、D、E表示成绩的等级.已知90分以上为A,80至89分为B,70至79分为D,60分以下为E。

main()

{

intgrade;

printf("输入成绩:

");

scanf("%d",&grade);

grade=grade/10;

switch(grade)

{

case10:

case9:

printf("等级为A");break;

case8:

printf("等级为B");break;

case7:

printf("等级为C");break;

case6:

printf("等级为D");break;

default:

printf("等级为E");

}

}

上机实习3.3.输入一个实数后,屏幕上显示如下菜单:

1.输出相反数

2.输出平方数

3.输出平方根

4.退出

若按1键,则输出该数的相反数;若按2键,则输出该数的平方数;···。

按1~4之外的其他键时,显示出错。

#include

main()

{

floatn,c,sq,sqr;

inti;

while

(1)

{

printf("输入一个实数:

");

scanf("%f",&n);

printf("1.输出相反数\n2.输出平方数\n3.输出平方根\n4.退出");

scanf("%d",&i);

switch(i)

{

case1:

printf("相反数为:

%f\n",-n);break;

case2:

printf("平方数为:

%f\n",n*n);break;

case3:

printf("平方根为:

%f\n",sqrt(n));break;

case4:

exit(0);

default:

printf("输入错误!

\n");}

}

}

上机实习4.1.2打印直角三角形

打印如下图形:

*

**

***

*****

main()

{

inti,j;

for(i=0;i<4;i++)

{

for(j=0;j<4-i;j++)

printf("");

for(k=0;k

printf("*");

printf("\n");

}

}

上机实习4.2.输入一组学生成绩,统计出及格人数和不及格人数。

当输入成绩为-1时结束输入。

main()

{

intgrade,n1,n2;

n1=n2=0;

printf("输入一组学生成绩:

\n");

scanf("%d",&grade);

while()

{

if(grade>=60)n1++;

else;

scanf("%d",&grade);

}

printf("及格人数为:

%d\n不及格人数为:

%d",n1,n2);

}

上机实习4.3.输入10个学生成绩,要求统计出及格人数和不及格人数

main()

{

intgrade,n1,n2,i;

n1=n2=0;

for(i=1;i<=10;i++)

{

scanf("%d",&grade);

if(grade>=60)n1++;

elsen2++;

}

printf("及格人数为:

%d\n不及格人数为:

%d",n1.n2);

}

上机实习5.2.输入一组学生成绩,统计出及格人数和不及格人数。

当输入成绩为-1时结束输入

main()

{

intgrade,n1,n2;

n1=n2=0;

printf("输入一组学生成绩:

\n");

scanf("%d",&grade);

while()

{

if(grade>=60)n1++;

else;

scanf("%d",&grade);

}

printf("及格人数为:

%d\n不及格人数为:

%d",n1,n2);

}

上机实习5.3.打印出10行杨辉三角形

01234

01

111

2121

31331

414641

···

⑴main()

{

intl,c;

longintv;

clrscr();

for(l=1;l<=10;l++)

{v=1;

printf("%d",v);

for(c=2;c<=l;c++)

{v=v*((l-1)-(c-1)+1)/(c-1);

if(v<100)

if(v<10)

printf("%ld",v);

else

printf("%ld",v);

elseprintf("%ld",v);

}

printf("\n");

}

}

使用数组的方法

⑵main()

{

staticintm,n,b[10][10];

b[0][1]=1;

clrscr();

for(m=1;m<=10;m++)

{for(n=1;n<=m;n++)

{b[m][n]=b[m-1][n-1]+b[m-1][n];

printf("%-5d",b[m][n]);

}

printf("\n");

}

}

(3)

#defineN10

main()

{

inti,j,a[N][N];

for(i=0;i

{

a[i][i]=1;

a[i][0]=1;

}

for(i=2;i

for(j=1;j<=i-1;j++)

a[i][j]=a[i-1][j-1]+a[i-1][j];

for(i=0;i

{for(j=0;j<=i;j++)

printf("%6d",a[i][j]);

printf("\n");

}

}

第6章数组

例6.2输入10个学生的成绩,求这10个学生的总成绩和平均成绩

#defineN10

main()

{

inti,score[N],sum=0;

floataverage;

printf("输入%d个学生的成绩:

\n",N);

for(i=0;i

scanf("%d",&score[i]);

for(i=0;i

sum+=score[i];

average=(float)sum/N;

printf("总成绩为:

\n平均成绩为:

%d%.2f",sum,average);

}

例6.3分别输入5个学生的语文成绩、数学成绩和C语言成绩,求每个学生的总成绩和平均成绩

#defineN5

main()

{

intscore1[N],score2[N],score3[N],sum[N];

inti;

for(i=0;i

{

printf("输入第%d个学生的三门成绩:

",i+1);

scanf("%d%d%d",&score1[i],&score2[i],&score3[i]);

sum[i]=score1[i]+score2[i]+score3[i];

}

for(i=0;i

{

printf("第%d个学生的总成绩和平均成绩分别为:

%d%.2f\n"i+1,sum[i],sum[i]/3.0);

}

}

例6.4逆序输出数组中各元素的值

main()

{

inta[5]={10,13,2,16,3};

inti;

printf("数组a中各元素的值分别为:

");

for(i=0;i<5;i++)

printf("%5d",a[i]);

printf("\n");

printf("逆序输出的结果为:

");

for(i=4;i>=0;i--)

printf("%5d",a[i]);

}

例6.5输入一组整数,输出其中最大值

main()

{

intnum[10],i;

intmax;

printf("输入十个整数:

\n");

for(i=0;i<10;i++)

scanf("%d",&num[i]);

max=num[0];

for(i=1;i<10;i++)

if(num[i]>max)max=num[i];

printf("最大值=%d\n",max);

}

例6.6用选择法对10个数排序(按从小到大的顺序)

main()

{

intnum[10],t;

inti,j;

printf("输入10个整数:

\n");

for(i=0;i<10;i++)

for(j=i+1;j<10;j++)

if(num[j]

{

t=num[i];

num[i]=num[j];

num[j]=t;

}

printf("排序后的结果为:

\n");

for(i=0;i<10;i++)

printf("%d",num[i]);

}

例6.7二维数组的引用

main()

{

inta[3][4];

inti,j;

printf("输入二维数组中各元素的值");

for(i=0;i<3;i++)

for(j=0;j<4

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 材料科学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2