C语言程序分析题
程序分析题
程序分析题
程程序序分分析析题题
根据题意,在横线上填写运行程序
根据题意,在横线上填写运行程序
根根据据题题意意,,在在横横线线上上填填写写运运行行程程序序
(一)
(一)
((一一))
1.下列程序的功能是:从键盘输入一个年份数据,判断此年份是否为闰年。(注:满足下面
两个条件中的一个即为闰年 一、400的倍数 二、4的倍数但不是100的倍数)。
main()
{
int x,i;
scanf(″%d″,&x);
if(x%400==0) i=1;
else if(__________)
i=1;
else _____________;
if(i==1)
printf(″该年为闰年\n″);
if(i==0)
printf(″该年为平年\n″);
}
2.以下程序求1—10的奇数和。
main()
{
int x,s;
s=0;
for(x=1;x<=10;________)
_________________ ;
printf(″奇数和为:%d″,s);
}
3.在5个数中,找出最大的元素及位置。
#define size 5
main()
{ int a[size]={4,6,3,9,23};
int max,p,i;
______________;
p=0;
for(i=1;i
if(a[i]>max)
{
max=a[i];
____________;
}
}
4.以下程序用″比较计数″法对结构数组a按字段num进行降序排列。″比较计数″法的
基本思想是:通过另一字段con记录a中小于某一特定关键字的元素的个数。待算法结束,
a[i].con就是a[i].num在a中的排序位置。本程序先读入N个整型数据存入数组a中,然
后根据以上办法排序。
1
#include
#define N 8
struct c
{
int num;
int con;
}a[16];
void main()
{
int i,j;
for(i=0;i
{
scanf("%d",___________________);
a[i].con=0;
}
for(i=N-1;i>=1;i--)
{
for(j=i-1;j>=0;j--)
{
if(a[i].num
_______________________;
else
a[i].con++;
}
}
for(i=0;i
printf("%d,%d\n",a[i].num,a[i].con);
}
5.以下函数是对N个数用直接插入排序法进行由小到大排序。
#define N 10 // 待排序元素的个数
void insertsort(int R[N+1]) // 直接插入排序
{
int i,j;
for (i=2; i<=N; i++)
{
R[0]=R[i]; // 设置监视哨
j=i-1;
while (__________)
{
2
R[j+1]=R[j];
___________;