C语言试题.docx

上传人:b****5 文档编号:27841487 上传时间:2023-07-05 格式:DOCX 页数:21 大小:32.94KB
下载 相关 举报
C语言试题.docx_第1页
第1页 / 共21页
C语言试题.docx_第2页
第2页 / 共21页
C语言试题.docx_第3页
第3页 / 共21页
C语言试题.docx_第4页
第4页 / 共21页
C语言试题.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

C语言试题.docx

《C语言试题.docx》由会员分享,可在线阅读,更多相关《C语言试题.docx(21页珍藏版)》请在冰豆网上搜索。

C语言试题.docx

C语言试题

一、输入程序,熟悉vc环境的使用,C程序的编辑,编译和执行。

1)、在屏幕上显示“HelloWorld!

#include"stdio.h"

intmain(void)

{

printf("helloworld!

\n");

return0;

}

2)、求1—100间所有偶数的和。

#include

intmain(void)

{

intI,sum=0;

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

if(i%2==0)

sum=sum+i;

printf(“%d”,sum);

return0;

}

3)、编写程序,在屏幕上显示如下图案。

#include"stdio.h"

main(void)

{

inti,j,k;

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

{

for(k=0;k

printf("");

for(j=5-i;j>0;j--)

{

printf("*");

}

printf("\n");

}

}

4)、编写程序,输入两个整数num1和num2,计算并输出它们的和,差,积,商与余数。

#include"stdio.h"

intmain()

{

inta,b;

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

if(b==0)b=1;

printf("和%d\n",a+b);

printf("积%d\n",a*b);

printf("差%d\n",a-b);

printf("商%.2lf\n",a*1.0/b);

return0;

}

二、使用C语言编写程序

1)、输入x,计算并输出下列分段函数f(x)的值(保留3位小数)。

#include

intmain(void)

{

floatx,y;

printf("enterx:

");

scanf("%d",&x);

if(x!

=0){

y=1/x;

else

y=0;

}

printf("y=%.3f",y);/*小数点后输出3位小数*/

return0;

}

2)、编写程序,输x,计算并输出下列分段函数f(x)的值(保留两位小数),请调用sqrt()函数求平方根,调用pow()函数求幂。

?

?

?

?

?

 

3)、编写程序,输入一个正整数,求

#include

intmain(void)

{

inti;

floatsum=0;

printf("entern:

");

scanf("%d",&n);

for(i=1;i

sum=sum+1/(float)i;

printf(“%d”,sum);

return0;

4)、编写程序,输入一个正整数,求1+1/3+1/5+…的前n项之和。

#include

intmain(void)

{

inti;

floatsum=0;

printf("entern:

");

scanf("%d",&n);

for(i=1;i

sum=sum+1.0/(2*i-1)循环体

printf(“%d”,sum);

return0;

}

5)、编写程序,输入一个正整数,求1-1/4+1/7-1/1-+1/13-1/16+…的前n项之和。

#include

intmain()

{

inti,k,n,t;

doublesum;

scanf("%d",&n);

sum=0;

t=1;

k=1;

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

{

sum=sum+(double)t/k;

k=k+3;

t=t*(-1);

}

printf("%.3lf\n",ans);

return0;

}

三、分支结构

1)、输入x,计算并输出下列分段函数sign(x)的值。

-1,x<0

Y=sign(x)=0,x=0

1,x>0

#include

intmain(void)

{

intx,y;

printf("enterx:

");

scanf("%d",&x);

if(x>0){

y=1;

}

elseif(x==0){

y=0;

}

else{

y=-1;

}

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

}

2)、输入15个字符,统计其中英文字母、空格或回车、数字字符和其它字符的个数。

#include

intmain(void)

{

intdigit,i,letter,lenter,other;

charch;

digit=letter=lenter=other=0;

printf("enter15characters:

");

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

ch=getchar();

if(ch>=65&&ch<=106)//判断输入的字符是英文字母

letter++;

elseif(ch>=48&&ch<=57)//判断输入的字符是数字

digit++;

elseif(ch=10)//判断输入的字符是回车符

lenter++;

else

other++;

}

printf("letter=%d,digit=%d,lenter=%d,other=%d",letter,digit,lenter,other);

}

3)、输入五级制成绩(A~E),输出相应的百分制成绩(0~100)区间,要求使用switch语句。

例如,输入A,输出90~100。

五级制成绩对应的百分制成绩区间为:

A(90~100)、B(80~89)、C(70~79)、D(60~69)和E(0~59)。

#include

voidmain()

{

charc;

printf("输入等级:

");

flushall();?

?

?

?

?

?

?

?

清空缓冲?

?

?

scanf("%c",&c);

if('a'<=c&&c<='z')c=c-32;

switch(c)

{

case'A':

printf("(90-100)\n");break;

case'B':

printf("(80-89)\n");break;

case'C':

printf("(70-79)\n");break;

case'D':

printf("(60-69)\n");break;

case'E':

printf("(0-59)\n");break;

default:

printf("InputError!

\n");

}

}

4)、输入年year,判断该年是否为闰年。

判断闰年的条件是:

能被4整除但不能被100整除,或者能被400整除。

#include"stdio.h"

voidmain()

{

intyear;

printf(“enteryear:

\n”);

sanf("%d",&year);

if((year%400==0)||((year%4==0)&&(year%100!

=0)))

printf("该年是闰年\n”);

else

printf(“该年不是闰年\n”);

return0;

}

5)、输入一个正数n,再输入n个学生的成绩,计算平均分,并统计所有及格的人数。

#include

main()

{

intn,i,jg=0;

floatscore;//定义成绩变量;

floatave;//定义平均成绩

floatsum=0;//定义全部成绩总和

printf("输入学生人数:

\n");

scanf("%d",&n);//从键盘输入学生成绩的个数

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

scanf("%f",&score);//输入每个学生的成绩,共有n个学生

sum=sum+score;//计算总成绩

if(score>=60)

jg=jg+1;

}

printf("及格人数是:

%d\n",jg);

ave=sum/n;//计算平均成绩

printf("平均分是:

%f\n",ave);//输出平均成绩

return0;

}

四.循环结构

1)、从键盘输入一批学生的成绩(以负数为结束标志),计算平均分,并统计不及格成绩的个数。

#include

intmain(void)

{

intnum,njg;

doublegrade,total;

num=0;

total=0;

njg=0;

printf("entergrades:

");

scanf("%lf",&grade);

while(grade>=0){

total=total+grade;

num++;

if(grade<=60&&grade!

=60)//判断不及格成绩

nig++;//不及格成绩计数加1

scanf("%lf",&grade);

}

if(num!

=0)

printf("Gradeaverageis%.2f\n",total/num);

else

printf("Gradeaverageis0\n");

printf(“不及格的人数是:

%d”,nig);//输出不及格成绩个数

return0;

}

2)、输入一个正整数m,判断它是否为素数。

素数是只能被1和自身整除的正整数。

#include

intmain(void)

{

inti,m;

printf("Enteranumber:

");

scanf("%d",&m);

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

if(m%i==0)

break;

if(i>m/2)

printf("%disaprimenumber!

\n",m);

else

printf("No!

\n");

return0;

}

3)、打印如下星号,已给出

(1)的程序,根据给出的程序,编写其余程序。

*******

*********

*****

(1)*****

(2)*(3)

(1)#include

intmain(void){

inti,j;

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

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

printf("*");

printf("\n");

}

Return0;

}

(2)#include

#include

intmain(void){

inti,j;

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

for(j=0;j<2*(3-i);j++)

putchar('');

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

{

putchar('*');

putchar('');

}

putchar('\n');

}

return0;

}

(3)#include

intmain()

{

inti,j,m;

for(i=3;i>=1;--i)

{

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

printf("");

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

printf("*");

printf("\n");

}

return0;

}

 

*

***

*****

*******

*****

***

*

方法一:

#include

intmain()

{

inti,j,m;

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

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

printf("");

for(m=0;m<2*i+1;++m)

printf("*");

printf("\n");

}

for(i=3;i>=1;--i)

{

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

printf("");

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

printf("*");

printf("\n");

}

return0;

}

方法二:

#include

#include

intmain()

{

inti,j;

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

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

printf("");

for(j=1;j<=7-2*abs(i);j++)

printf("*");

printf("\n");

}

return0;

}

4)、输入一个正整数n,再输入n个整数,输出最小值。

#include

intmain(void)

{

intn,m,i,min;

printf("entern:

");

scanf("%d",&n);

scanf("%d",&m);

min=m;

for(i=0;i<=n-2;i++){

scanf("%d",&m);

if(m

min=m;

}

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

}

5)、输入一个整数,将其逆序输出。

假设正数和负数逆序输出的结果一样。

#include

#include

intmain(void)

{

intdigit,x;

scanf("%d",&x);

x=fabs(x);

while(x>0){

digit=x%10;

x=x/10;

printf("%d",digit);

}

printf("\n");

}

6)、输出100~200之间的所有素数,每行输出8个。

#include

#include

intmain()

{

intn,i,count=0;

for(n=100;n<=200;n++){

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

if(n%i==0)break;

if(i>n-1){

count++;

printf("%8d",i);

if(count%8==0)

printf("\n");

}

}

printf("\n");

return0;

}

7)、输出斐波那契(Fibonacci)序列的前20项。

#include

intmain(void)

{

intx,y,sum,i;

x=0;y=1;

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

printf("%8d",y);

sum=x+y;

x=y;

y=sum;

}

return0;

}

五、数组

1)、编写程序,输入一个正整数n(1

#include

intmain(void){

inti,n,sum;

floataveg;

inta[10];/*定义一个数组a,它有10个整型元素*/

sum=0;

printf("Entern:

");/*提示输入n*/

scanf("%d",&n);

printf("Enter%dintegers:

",n);/*提示输入n个数*/

for(i=0;i

scanf("%d",&a[i]);/*输入n个数*/

sum=sum+a[i];/*求累加和*/

}

aveg=sum/n;/*求n个数的平均值*/

printf("%.2f",aveg);

printf("\n");

return0;

}

2)、编写程序,输入一个正整数n(1

#include

intmain(void){

inti,n;

inta[10];/*定义一个数组a,它有10个整型元素*/

printf("Entern:

");/*提示输入n*/

scanf("%d",&n);

printf("Enter%dintegers:

",n);/*提示输入n个数*/

for(i=0;i

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

for(i=0;i

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

printf("\n");

printf("ReverseArray:

");

for(i=n-1;i>=0;i--)/*逆序输出元素的值*/

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

printf("\n");

return0;

}

2)、编写程序,输入一个正整数n(1

#include

intmain()

{

inta[10],i,n,max,j;

printf("请输入元素个数N\n");

scanf("%d",&n);

printf("请输入元素,空格隔开\n");

for(i=0;i

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

max=a[0];j=1;

for(i=0;i

if(a[i]>max){

max=a[i];

j=i;

}

}

printf("最大的元素是%d,它的下标为%d\n",max,j);

return0;

}

3)、编写程序,输出一张九九乘法口诀表。

提示:

将乘数、被乘数和乘积放入一个二维数组中,再输出该数组。

#include

intmain(void)

{

inti,j;

inta[10][10];

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

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

a[i][j]=i*j;

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

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

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

printf("\n");

}

printf("\n");

return0;

}

4)、输入一个正整数repeat(0

读入1个正整数n(1≤n≤6),再读入n阶方阵a,计算该矩阵除副对角线、最后一列和。

#include"stdio.h"

intmain()

{

intri,repeat;

inta[6][6],i,j,n,sum;

scanf("%d",&repeat);

for(ri=1;ri<=repeat;ri++){

scanf("%d",&n);

for(i=0;i

for(j=0;j

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

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

}

}

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

当前位置:首页 > 成人教育 > 成考

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

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