求c语言高手帮忙做套模拟题2
四、程序填空题(每空2分,共18分)1.请补充函数fun,该函数的功能是:判断某一个年份是否为闰年。例如,1900年不是闰年,2004是闰年。请勿改动main函数和其他函...
四、程序填空题(每空2分,共18分)
1. 请补充函数fun,该函数的功能是:判断某一个年份是否为闰年。 例如,1900年不是闰年,2004是闰年。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
#include <stdio.h>
int fun(int n)
{
int flag=0;
if(n%4==0)
{
if ( [1] )
flag=1;
}
if ( [2] )
flag=1;
return [3] ;
}
int main()
{
int year;
printf("Input the year:");
scanf("%d",&year);
if (fun(year))
printf("%d 是闰年. \n",year);
else
printf("%d 不是闰年.\n",year);
return 0;
}
2.请补充函数fun,该函数的功能是:整除x且是偶数的数,把这些数保存在数组bb中,并按从大到小的顺序输出。 例如当x=20时,依次输出:20 10 4 2。
void fun(int k,int bb[])
{
int i;
int j=0;
for( [4] ;i<=k;i++)
{
if( [5] )
bb[j++]=i;
}
printf("\n");
for(i= [6] ;i>=0;i--)
printf("%d ",bb[i]);
}
3.下面程序是从键盘上输入三个整数,按从小到大的顺序输出,请填空。
#include<stdio.h>
int main()
{
int a,b,c,t;
scanf("%d,%d,%d",&a,&b,&c);
if( [7] )
{
t=a;
a=b;
b=t;
}
if(a>c)
{
[8] ;
a=c;
c=t;
}
if(b>c)
{
t=b;
[9] ;
c=t;
}
printf("%d,%d,%d\n",a,b,c);
return 0;
}
五、改错题,以下程序中的错误之处已经指出,请改正(每处2分,共6分)
下列给定程序中,函数fun的功能是:先从键盘上输入一个3行、3列的矩阵的各个元素的值,然后输出主对角线元素之和。 请改正函数fun中的错误,使它能得出正确的结果。 不得增行或删行,也不得更改程序的结构。
#include <stdio.h>
void fun(); [1]
{
int a[3][3],sum;
int i,j;
sum=1; [2]
for (i=0;i<3;i++)
for (j=0;j<3;j++)
scanf("%d",a[i][j]); [3]
for(i=0;i<3;i++)
sum=sum+a[i][i];
printf("Sum=%d\n",sum);
}
void main()
{
fun();
} 展开
1. 请补充函数fun,该函数的功能是:判断某一个年份是否为闰年。 例如,1900年不是闰年,2004是闰年。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
#include <stdio.h>
int fun(int n)
{
int flag=0;
if(n%4==0)
{
if ( [1] )
flag=1;
}
if ( [2] )
flag=1;
return [3] ;
}
int main()
{
int year;
printf("Input the year:");
scanf("%d",&year);
if (fun(year))
printf("%d 是闰年. \n",year);
else
printf("%d 不是闰年.\n",year);
return 0;
}
2.请补充函数fun,该函数的功能是:整除x且是偶数的数,把这些数保存在数组bb中,并按从大到小的顺序输出。 例如当x=20时,依次输出:20 10 4 2。
void fun(int k,int bb[])
{
int i;
int j=0;
for( [4] ;i<=k;i++)
{
if( [5] )
bb[j++]=i;
}
printf("\n");
for(i= [6] ;i>=0;i--)
printf("%d ",bb[i]);
}
3.下面程序是从键盘上输入三个整数,按从小到大的顺序输出,请填空。
#include<stdio.h>
int main()
{
int a,b,c,t;
scanf("%d,%d,%d",&a,&b,&c);
if( [7] )
{
t=a;
a=b;
b=t;
}
if(a>c)
{
[8] ;
a=c;
c=t;
}
if(b>c)
{
t=b;
[9] ;
c=t;
}
printf("%d,%d,%d\n",a,b,c);
return 0;
}
五、改错题,以下程序中的错误之处已经指出,请改正(每处2分,共6分)
下列给定程序中,函数fun的功能是:先从键盘上输入一个3行、3列的矩阵的各个元素的值,然后输出主对角线元素之和。 请改正函数fun中的错误,使它能得出正确的结果。 不得增行或删行,也不得更改程序的结构。
#include <stdio.h>
void fun(); [1]
{
int a[3][3],sum;
int i,j;
sum=1; [2]
for (i=0;i<3;i++)
for (j=0;j<3;j++)
scanf("%d",a[i][j]); [3]
for(i=0;i<3;i++)
sum=sum+a[i][i];
printf("Sum=%d\n",sum);
}
void main()
{
fun();
} 展开
2个回答
展开全部
第一题:
#include <stdio.h>
int fun(int n)
{
int flag=0;
if(n%4==0)
{
if (n%100!=0)
flag=1;
}
if (n%400==0)
flag=1;
return flag;
}
int main()
{
int year;
printf("Input the year:");
scanf("%d",&year);
if (fun(year))
printf("%d 是闰年. \n",year);
else
printf("%d 不是闰年.\n",year);
return 0;
}
第二题:
for(i=2;i<=k;i++)
{
if(k%i==0&&i%2==0)
bb[j++]=i;
}
printf("\n");
for(i=strlen(bb)+2;i>=0;i--)
printf("%d ",bb[i]);
第三题:
#include<stdio.h>
int main()
{
int a,b,c,t;
scanf("%d,%d,%d",&a,&b,&c);
if(a>b)
{
t=a;
a=b;
b=t;
}
if(a>c)
{
t=a;
a=c;
c=t;
}
if(b>c)
{
t=b;
b=c;
c=t;
}
printf("%d,%d,%d\n",a,b,c);
return 0;
}
改错题:(1)处去掉分号“;”
(2)处将sum=1;改为sum=0;
(3)处 scanf("%d",a[i][j]);中的a[i][i]之前加& 即 scanf("%d",&a[i][j]);
【望采纳】
#include <stdio.h>
int fun(int n)
{
int flag=0;
if(n%4==0)
{
if (n%100!=0)
flag=1;
}
if (n%400==0)
flag=1;
return flag;
}
int main()
{
int year;
printf("Input the year:");
scanf("%d",&year);
if (fun(year))
printf("%d 是闰年. \n",year);
else
printf("%d 不是闰年.\n",year);
return 0;
}
第二题:
for(i=2;i<=k;i++)
{
if(k%i==0&&i%2==0)
bb[j++]=i;
}
printf("\n");
for(i=strlen(bb)+2;i>=0;i--)
printf("%d ",bb[i]);
第三题:
#include<stdio.h>
int main()
{
int a,b,c,t;
scanf("%d,%d,%d",&a,&b,&c);
if(a>b)
{
t=a;
a=b;
b=t;
}
if(a>c)
{
t=a;
a=c;
c=t;
}
if(b>c)
{
t=b;
b=c;
c=t;
}
printf("%d,%d,%d\n",a,b,c);
return 0;
}
改错题:(1)处去掉分号“;”
(2)处将sum=1;改为sum=0;
(3)处 scanf("%d",a[i][j]);中的a[i][i]之前加& 即 scanf("%d",&a[i][j]);
【望采纳】
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询