c语言考试基础题.docx
- 文档编号:11328905
- 上传时间:2023-02-27
- 格式:DOCX
- 页数:10
- 大小:16.95KB
c语言考试基础题.docx
《c语言考试基础题.docx》由会员分享,可在线阅读,更多相关《c语言考试基础题.docx(10页珍藏版)》请在冰豆网上搜索。
c语言考试基础题
/*从键盘上输入若干个学生成绩(百分制整数),直到输入-1结束。
求平均分并保留一位小数输出*/
/*分析:
定义score存储学生成绩,由题意知为整型数,范围0-100*/
/*定义平均分ave,因为需要小数输出,定义为float型*/
#include"stdio.h"
main()
{
intscore,i=0;
floatsum=0,ave;
printf("\nPleaseinputscores(endof-1):
\n");
do
{
scanf("%d",&score);
if(score>=0&&score<=100)
{sum+=score;
i++;
}
}while(score!
=-1);
ave=sum/i;
printf("\nAverageof%dstudentsis%.1f",i,ave);
}
_
/*从键盘上输入若干个学生成绩(百分制,含一位小数),直到输入负数结束。
统计优(90分及以上)、良(80-89)、中(70-79)、及格(60-69)人数*/
/*分析:
定义score存储学生成绩,由题意知数组为float型,范围0-100*/
/*定义int型变量:
excellent,good,middle,pass存储各级人数*/
#include"stdio.h"
main()
{
floatscore;
intexcellent,good,middle,pass;
inti=0;
excellent=good=middle=pass=0;
printf("\nPleaseinputscores:
(负数结束)\n");
do
{
scanf("%f",&score);
if(score>=60&&score<=69)pass++;
elseif(score>=70&&score<=79)middle++;
elseif(score>=80&&score<=89)good++;
elseif(score>=90&&score<=100)excellent++;
}while(score>=0);
printf("\nexcellent=%d,good=%d,middle=%d,pass=%d",excellent,good,middle,pass);
}
_
/*从键盘上输入若干字符,直到输入‘#’结束。
统计英文字母、数字、空格、其他字符的个数并输出。
分析:
整型变量letter,number,space,other存个数*/
#include"stdio.h"
main()
{
charc;
intletter,number,space,other;
letter=number=space=other=0;
printf("\nPleaseinputsomecharacters:
(endof'#')\n");
while((c=getchar())!
='#')
{if(c>='a'&&c<='z')letter++;
elseif(c>='A'&&c<='Z')letter++;
elseif(c>='0'&&c<='9')number++;
elseif(c=='')space++;
elseother++;
}
printf("\nletter=%d,number=%d,space=%d,other=%d\n",letter,number,space,other);
}
/*从键盘输入任意自然数N(N>10),要求:
1)筛选出3-N之间的素数;2)输出素数,每个数占6宽度,左对齐
*/
#include"stdio.h"
#include"math.h"
main()
{intN,i,k,sqr,flag=1;
printf("\nN=");
scanf("%d",&N);
while(N<=10)
{printf("ERROR,inputagain:
");
scanf("%d",&N);
}
for(k=3;k<=N;k++)
{sqr=sqrt(N);
for(i=2;i<=sqr;i++)
if(k%i==0)
{flag=0;
break;
}
if(flag==1)
printf("%-6d",k);
flag=1;
}
}
_
/*有一个分数系列:
2/1,3/2,5/3,8/5,13/8,21/13,...从键盘输入自然数N(N>1),计算该数列的前N项和*/
/*分析:
此系列的分子和分母均为斐波那契数列,可设一个整型数组a[M]存该数列:
a[0]=a[1]=1,a[i]=a[i-1]+a[i-2],
再设实型数组b[M]存分数:
b[i]=a[i+1]/(float)a[i]
*/
#include"stdio.h"
#defineM100
main()
{intN,i,a[M];
floatb[M],sum=0;
printf("\nN=");
scanf("%d",&N);
a[0]=a[1]=1;
for(i=1;i<=N;i++)
{a[i+1]=a[i]+a[i-1];
b[i]=a[i+1]/(float)a[i];
sum+=b[i];
}
printf("sum=%.2f",sum);
}_
/*输入3×3的行列式(整数构成),找出其中的最大值以及它所在的行标和列标*/
#include"stdio.h"
main()
{inta[3][3],i,j,max,l,c;
printf("\na[3][3]=\n");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
max=a[0][0];l=0;c=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(max {max=a[i][j]; l=i; c=j; } printf("MAX: a[%d][%d]=%d",l,c,max); }_ /*输入3×3的行列式(整数构成),找出其中的最小值以及它所在的行标和列标*/ #include"stdio.h" main() {inta[3][3],i,j,min,l,c; printf("\na[3][3]=\n"); for(i=0;i<3;i++) for(j=0;j<3;j++) scanf("%d",&a[i][j]); min=a[0][0];l=0;c=0; for(i=0;i<3;i++) for(j=0;j<3;j++) if(min>a[i][j]) {min=a[i][j]; l=i; c=j; } printf("MIN: a[%d][%d]=%d",l,c,min); }_ /*从键盘输入本班同学的程序设计课程分数保存在数组中(人数不超过45人,分数为整数), 找出最高分及其所在的下标,并输出*/ #include"stdio.h" #defineN45 main() {ints[N],k,i; printf("\nInputscores: "); k=0; for(i=0;i {scanf("%d",&s[i]); if(s[k] k=i; } printf("Thehighestscoreiss[%d]=%d",k,s[k]); } _ /*从键盘输入5组(每组3个)浮点数作为三条边的长度,若它们能够构成三角形,则计算出 三角形的面积,否则给出“不能构成三角形”的提示。 分析: 三边构成三角形的条件是: 两边之和大于第三边,并且两边之差小于第三边。 */ #include"stdio.h" #include"math.h" main() {floata[5][3],s,area[5]; inti,j; for(i=0;i<5;i++) {printf("\nNo.%d: ",i); for(j=0;j<3;j++) scanf("%f",&a[i][j]); if((a[i][0]+a[i][1]>a[i][2])&&(a[i][0]+a[i][2]>a[i][1])
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 考试 基础