C语言期末模拟试卷
大题部分
文章目录
选择结构
输入一个年份判断是否为闰年
(P94页)
#include <stdio.h>
int main()
{
int year,flag;
printf("请输人年份:\n");
scanf("%d",&year);
if(year%400==0)
flag=1;
else
{
if(year%4==0&&year%100!=0)
flag=1;
else
flag=0;
}
if(flag==1)
{
printf("%d 此年是闰年\n",year);
}
else
{
printf("%d 此年非闰年\n",year);
}
return 0;
}
输入任意分数,按以下区间,输出相应评价:
[90,100]:优;
[80,90]):良;
[70,80):中
[60,70):及格;
<60:不及格
用switch语句表达
(实验二)
#include <stdio.h>
int main()
{
int score;
printf("请输入分数");
scanf("%d", &score);
if (score <= 100 && score >= 90)
{
printf("优");
}
else if (score < 90 && score >= 80)
{
printf("良");
}
else if (score < 80 && score >= 70)
{
printf("中");
}
else if (score < 70 && score >= 60)
{
printf("及格");
}
else
{
printf("不及格");
}
}
循环结构
一重循环(明显序列与隐含序列)
使用while循环计算1/2+2/3+3/4+4/5+…99/100,并输出结果
(实验三)明显序列
#include <stdio.h>
int main()
{
double a=1,b=2;
double j,sum=0;
while(b<=100)
{
j=a/b;
sum=sum+j;
a=a+1;
b=b+1;
}
printf("%f",sum);
return 0;
}
用循环输出斐波那契数列前15项
例:1,1,2,3,5 ……
(P129页例题5.8)隐含序列
int main()
{
int i;
int num1 = 1;
int num2 = 1;
int tmp = 1;
int n = 15;
printf("%3d%3d",num1,num2);
for (int i = 1; i < n - 1; i++)
{
tmp = num1 + num2;
num1 = num2;
num2 = tmp;
printf("%4d", tmp);
}
}
两重循环(穷举与分步)
计算n的阶乘求和
(实验四)分步
#include <stdio.h>
int main()
{
int n;
int s = 1, sum = 0;
for (n = 1; n <= 20; n++)
{
s = s * n;
sum = sum + s;
}
printf("sum=%d\n", sum);
}
输出100-200的素数
(P134页例题5.10)
#include <stdio.h>
#include <math.h>
int main()
{
int i, j, k = 0</