C语言试题.docx
- 文档编号:27841487
- 上传时间:2023-07-05
- 格式:DOCX
- 页数:21
- 大小:32.94KB
C语言试题.docx
《C语言试题.docx》由会员分享,可在线阅读,更多相关《C语言试题.docx(21页珍藏版)》请在冰豆网上搜索。
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); } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 试题