华师高考试真题绝对有用.docx

上传人:b****5 文档编号:8272731 上传时间:2023-01-30 格式:DOCX 页数:32 大小:34.46KB
下载 相关 举报
华师高考试真题绝对有用.docx_第1页
第1页 / 共32页
华师高考试真题绝对有用.docx_第2页
第2页 / 共32页
华师高考试真题绝对有用.docx_第3页
第3页 / 共32页
华师高考试真题绝对有用.docx_第4页
第4页 / 共32页
华师高考试真题绝对有用.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

华师高考试真题绝对有用.docx

《华师高考试真题绝对有用.docx》由会员分享,可在线阅读,更多相关《华师高考试真题绝对有用.docx(32页珍藏版)》请在冰豆网上搜索。

华师高考试真题绝对有用.docx

华师高考试真题绝对有用

“高级语言程序设计”编程题

7.输出1000年(包括1000年)到1999年之间的所有闰年,要求每三个一行,分行输出。

8.编写程序打印所有的“水仙花数”。

“水仙花数”指一个三位数,其各位数字立方和等于该数本身,例如153是一个“水仙花数”,因为153=1×1×1+3×3×3+5×5×5。

9.编写一个程序,输入一个3位数的正整数,然后反向输出对应的数。

如:

123,则输出321。

参考答案:

#include

voidmain(){

inti,s=0,j;

scanf("%d",&i);

if(i>=100&&i<=999){

j=i%10;

s=s+j;

j=(i-j)/10%10;

s=s*10+j;

j=i/100;

s=s*10+j;

printf("theinversenumberis%d",s);

}

else

printf("inputerroe!

");

}

10.从键盘输入10名学生的C语言成绩存入一维数组内,编写程序计算10名学生的最高分、平均分和及格人数。

参考答案:

#include

voidmain(){

inti,score[10],max,min;

floatave;

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

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

max=score[0];

min=score[0];

ave=score[0];

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

if(score[i]>max)

max=score[i];

if(score[i]

min=score[i];

ave=ave+score[i];

}

ave=ave/10.0;

printf("max=%d,min=%d,ave=%f",max,min,ave);

}

11.编写一个程序,判断用户输入的字符是否是数字,若是数字,则输出“anumericalcharacter”,

否则输出“othercharacter”。

参考答案:

#include

voidmain(){

charch;

ch=getchar();

if(ch>='0'&&ch<='9')

printf("anumericalcharacter");

else

printf("othercharacter");

}

12.从键盘输入12个数存入二维数组a[3][4]中,编写程序求出最大元素的值及它所在的行号和列号。

参考答案:

#include

voidmain(){

inti,j,a[3][4],max,index_i,index_j;

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

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

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

max=a[0][0];

index_i=0;

index_j=0;

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

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

if(a[i][j]>max){

max=a[i][j];

index_i=i;

index_j=j;

}

printf("max=%d,index_x=%d,index_y=%d",max,index_i,index_j);

}

13.打印所有的“水仙花数”,所谓“水仙花数”是指一个三位正整数,其各位数字的立方和等于该数本身。

参考答案:

#include

voidmain()

{

inti,j,k,n;

printf("resultis:

");

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

{

i=n/100;

j=(n-i*100)/10;

k=n%10;

if(n==i*i*i+j*j*j+k*k*k)

printf("%d",n);

}

printf("\n");

}

14.利用函数将给定的3×3二维数组转置。

参考答案:

#include"stdio.h"

voidconvert(intarray[3][3])

{

inti,j,k;

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

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

{

k=array[i][j];

array[i][j]=array[j][i];

array[j][i]=k;

}

}

voidmain()

{

inti,j;

inta[3][3]={1,2,3,4,5,6,7,8,9};

printf("转换前:

\n");

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

{

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

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

printf("\n");

}

convert(a);

printf("\n转换后:

\n");

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

{

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

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

printf("\n");

}

}

15.编程输入a、b、c的值后,输出一元二次方程ax2+bx+c=0的解。

参考答案:

#include

#include

voidmain()

{

floata,b,c,d,x1,x2;

printf("inputa,b,c:

");

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

d=sqrt(b*b-4*a*c);

x1=(-b+d)/(2*a);

x2=(-b-d)/(2*a);

printf("x1=%.2fx2=%.2f\n",x1,x2);

}

16.从键盘上输入任意两个数和一个运算符(+、-、*、/),根据输入的运算符对两个数计算,并输出结果。

参考答案:

#include

voidmain()

{

floata,b;

inttag=0;

charch;

floatresult;

printf("inputtwonumber:

");

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

fflush(stdin);

printf("inputarithmeticlable(+-*/):

");

scanf("%c",&ch);

switch(ch)

{

case'+':

result=a+b;break;

case'-':

result=a-b;break;

case'*':

result=a*b;break;

case'/':

if(!

b)

{

printf("divisoriszero!

\n");

tag=1;

}

else

result=a/b;

break;

default:

printf("illegalarithmeticlable\n");

tag=1;

}

if(!

tag)

printf("%.2f%c%.2f=%.2f\n",a,ch,b,result);

}

17.编写输入一个字符串,计算其中空格的个数。

18.采用二维数组输入多个学生五门课的成绩,分别求出每个学生的平均成绩和每门课的成绩。

19.编写程序,逆转字符串。

20.编写程序,统计一个英语文本中的英语单词个数。

21.打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。

例如:

153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。

参考答案:

#include“stdio.h”

voidmain()

{

inti,j,k,n;

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

for(j=0;j<=9;j++)

for(k=0;k<=9;k++)

if(i*i*i+j*j*j+k*k*k==i*100+j*10+k)

{

n=i*100+j*10+k;

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

}

}

22.有一分数序列:

2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

参考答案:

#include"stdio.h"

main()

{

intn,t,number=20;

floata=2,b=1,s=0;

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

{

s=s+a/b;

t=a;a=a+b;b=t;

}

printf("sumis%9.6f\n",s);

}

23.找出101~200中所有的素数。

参考答案:

#include

#include

intisprimer(intn)

{

inti,m;

m=(int)(sqrt(n));

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

{

if(n%i==0)

return0;

}

return1;

}

voidmain()

{

inti;

for(i=101;i<=200;i++)

if(isprimer(i))

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

}

 

24.使用循环结构编写程序,打印出如下图案

*

***

*****

参考答案:

#include“stdio.h”

voidmain()

{

inti,j,k;

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

{

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

printf("");

for(k=1;k<=2*i-1;k++)

printf("*");

printf("\n");

}

}

 

25.用冒泡排序法将10个整数由大到小排序。

参考答案:

#include

voidmain()

{inta[10],i,j,t;

printf("input%dnumbers:

\n",10);

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

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

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

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

if(a[j]

{t=a[j];

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

a[j+1]=t;

}

printf("thesortednumbers:

\n");

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

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

}

 

26.输入任意正整数,编程判断该数是否为回文数(回文数是指从左到右读与从右到左读一样,如12321)。

参考答案:

#include

voidmain()

{intn,m=0,s,r;

printf("Inputdatais:

");

scanf("%d",&n);

s=n;

while(s!

=0)

{r=s%10;

m=10*m+r;

s=s/10;

}

if(m==n)

printf("yes\n");

else

printf("no\n");

}

27.求出10至1000之内能同时被2、3、7整除的数,并输出。

28.输入一字符串,检查是否回文(回文是指正反序相同,如,LeveL),若是则输出“Yes”,否则输出“No”。

29.设计一个函数,用来判断一个整数是否为素数。

参考答案:

#include

#include

intIsPrimer(intn)

{inti;

if(n<=1)

return0;

for(i=2;i<=(int)sqrt(n);i++)

{if(n%i==0)

return0;}

return1;

}

voidmain()

{inti;

scanf("%d",&i);

if(IsPrimer(i))

printf("这是素数\n");

else

printf("这不是素数\n");

}

printf("thesortednumbers:

\n");

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

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

}

30.从键盘上输入若干学生成绩(成绩在0~100之间),计算平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。

参考答案:

#include

voidmain()

{

floatx[1000],sum=0,ave,a;

intn=0,i;

printf("Entermark:

\n");

scanf("%f",&a);

while(a>=0&&a<=100&&n<1000)

{

sum+=a;

x[n]=a;

n++;

scanf("%f",&a);

}

ave=sum/n;

printf("Output:

\n");

printf("ave=%f\n",ave);

for(i=0;i

if(x[i]

printf("%f\n",x[i]);

}

31.设计一个函数,用来判断一个整数是否为素数。

参考答案:

#include

#include

intIsPrimer(intn)

{inti;

if(n<=1)

return0;

for(i=2;i<=(int)sqrt(n);i++)

{if(n%i==0)

return0;}

return1;

}

voidmain()

{inti;

scanf("%d",&i);

if(IsPrimer(i))

printf("这是素数\n");

else

printf("这不是素数\n");

}

printf("thesortednumbers:

\n");

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

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

}

32.从键盘上输入若干学生成绩(成绩在0~100之间),计算平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。

参考答案:

#include

voidmain()

{

floatx[1000],sum=0,ave,a;

intn=0,i;

printf("Entermark:

\n");

scanf("%f",&a);

while(a>=0&&a<=100&&n<1000)

{

sum+=a;

x[n]=a;

n++;

scanf("%f",&a);

}

ave=sum/n;

printf("Output:

\n");

printf("ave=%f\n",ave);

for(i=0;i

if(x[i]

printf("%f\n",x[i]);

}

33.输入三个整型数,找出其中数值最大者并输出。

34.编写程序在屏幕上显示如下图形:

12345

51234

45123

34512

23451

35.编写猜数游戏,程序给定某个整数,从键盘上反复输入数据进行猜测。

如果未猜中,程序提示输入过大或者过小;如果猜中,则输出猜的次数,最多允许猜10次。

参考答案:

#include

voidmain()

{

intx=58,t=0,a,flag=0;

do{

printf("请输入您猜的数:

");

scanf("%d",&a);

t++;

if(a==x)

{

flag=1;

printf("您猜对了!

总共猜了%d次。

\n",t);

break;

}

elseif(a>x)

printf("您猜的数大了\n");

else

printf("您猜的数小了\n");

}while(t<10);

if(flag==0)printf("次数已到。

游戏结束!

");

}

36.将一个数组中的值按逆序重新存放。

例如,原来顺序为a,b,c,d,e,f,g,现在顺序为g,f,e,d,c,b,a.(数组长度不限)

参考答案:

#include

#defineN10

voidmain()

{

inti,M;

chara[N],t;

for(i=0;i

scanf(“%c”,&a[i]);

M=N-1;

for(i=0;i

{

t=a[i];a[i]=a[M];a[M]=t;

}

for(i=0;i

printf(“%c”,a[i]);

}

37.有一篇文章,共有3行文字,每行有80个字符。

要求分别统计出其中英文大写字母,小写字母,数字,空格以及其他字符的个数。

参考答案:

#include

#include

voidmain()

{

charstr[3][80],c;

inte[3]={0},x[3]={0},d[3]={0},s[3]={0},o[3]={0};

inti,j;

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

gets(str[i]);

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

for(j=0;str[i][j]!

='\0';j++)

{

c=str[i][j];

if(c>='A'&&c<='Z')e[i]++;

elseif(c>='a'&&c<='z')x[i]++;

elseif(c>='0'&&c<='9')d[i]++;

elseif(c=='')s[i]++;

elseo[i]++;

}

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

printf("第%行:

大写字母有%d个,小写字母有%d个,数字有%d个,空格有%d个,其他字符有%d个。

\n",i,e[i],x[i],d[i],s[i],o[i]);

}

38.求

参考答案:

#include

voidmain()

{

inti,sum1=0,sum2=0;

doublesum3;

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

sum1+=i;

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

sum2+=i*i;

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

sum3+=1.0/i;

printf(“Theresultis%.2f”,sum1+sum2+sum3);

}

39.将十个整数输入数组,求出其平均值并输出。

40.将十个实型数输入数组(floatn[10];)逆序存放后再输出。

41.编写程序:

输出x2的值,x取值从1到10。

(8’)

参考答案:

#include

voidmain(){

intx;

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

printf(“%d\n”,x*x)

}

42.设计程序:

定义可以存储1000个整数的数组;在该数组中依次存入1到1000;在屏幕上打印出数组中所有17的倍数。

(10’)

参考答案:

#include

voidmain(){

inti,a[1000];

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

a[i]=i+1;

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

if(i%17==0)printf(“%d\n”,a[i]);

43.设计一个函数,用来判断一个整数是否为素数;并在main()函数中调用该函数,在屏幕上打印出100以内的所有素数。

(12’)

参考答案:

#include

#include

boolIsPrimer(intn)

{

inti,m;

m=int(sqrt(n));

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

{

if(n%i==0)

returnfalse;

}

returntrue;

}

voidmain()

{

inti;

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

if(IsPrimer(i))

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

}

44.写出一个函数,求n!

.(n!

=1*2*3*………*n)

参考答案:

#include

unsigneddoublefact(unsigneddoublen)

{

if(n==0)return1;

returnn*fact(n-1);

}

voidmain()

{

printf("%d",fact(10));

}

45.使用一维数组计算学生的平均成绩。

用输入负数结束输入。

参考答案:

#include〞stdio.h〞

voidmain(void)

{

intscore[30],NumMax=30;

inti,num=0,sum=0;

doubleaverage;

printf("inputthescoresplease:

\n");

for(i=0;i

{

scanf(“%d”,&score[i]);/*将键盘输入的成绩赋给各个数组元素*/

if(score[i]<0)

break;/*当输入为负数时,跳出循环,结束输入*/

num++;/*num用来计算非负数的成绩的个数*/

}

for(i=0;i

sum+=score[i];

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

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1