第40题 (10.0分) 难度:易 第1章
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
题目:下列给定程序中,函数fun的功能是:找出100~999之间(含100和999)所有整数中各
位上数字之和为x(x为正整数)的整数,并输出;符合条件的整数个数作为函数值返回。
例如:当x值为5时,100~999之间各位上数字之和为5的整数有:104、113、122、131、
140、203、212、221、230、302、311、320、401、410、500,共有15个。
当x值为27时,各位数字之和为27的整数是:999,只有1个。
-------------------------------------------------------*/
#include <stdio.h>
int fun(int x)
{
int n, s1, s2, s3, t;
n=0;
t=100;
/***********SPACE***********/
while(t<=【?】)
{
s1=t%10;
/***********SPACE***********/
s2=(【?】)%10;
s3=t/100;
/***********SPACE***********/
if(s1+s2+s3==【?】)
{
printf("%d ",t);
n++;
}
t++;
}
return n;
}
main()
{
int x=-1;
while(x<0)
{
printf("Please input(x>0): ");
scanf("%d",&x);
}
printf("\nThe result is: %d\n",fun(x));
}
答案:
=======(答案1)=======
999
=======(答案2)=======
t/10
=======(答案3)=======
x
第41题 (10.0分) 难度:易 第1章
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
题目:计算100-1000之间有多少个数,其各位数字之和是5
-------------------------------------------------------*/
#include<stdio.h>
void main()
{
int i,s,k,count=0;
for(i=100;i<1000;i++)
{
s=0;
k=i;
/***********SPACE***********/
while(【?】)
{
s=s+k%10;
/***********SPACE***********/
k=【?】;
}
if(s!=5)
/***********SPACE***********/
【?】;
else
{
count++;
printf("%d %d\n",count,i);
}
}
printf("个数为:%d\n",count);
}
答案:
=======(答案1)=======
k>0
=========或=========
k
=========或=========
k!=0
=======(答案2)=======
k/10
=======(答案3)=======
continue
第42题 (10.0分) 难度:易 第1章
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
题目:函数fun的功能是:计算如“图片1”直到“图片2” 。
若x=2.5,函数值为1.917915。
-------------------------------------------------------*/
#include <stdio.h>
#include <math.h>
double fun(double x)
{
double f, t; int n;
f = 1.0 + x;
/***********SPACE***********/
t=【?】;
n = 1;
do
{
n++;
/***********SPACE***********/
t*=(-1.0)*x/【?】;
f += t;
}
/***********SPACE***********/
while(【?】 >=1e-6);
return f;
}
main()
{
double x, y;
x=2.5;
y = fun(x);
printf("\nThe result is :\n");
printf("x=%-12.6f y=%-12.6f\n", x, y);
}
答案:
=======(答案1)=======
x
=======(答案2)=======
n
=======(答案3)=======
fabs(t)
第43题 (10.0分) 难度:易 第1章
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
给定程序中,程序的功能是:输出100以内能被3整除且个位数为6
的所有正整数。请填空。
-------------------------------------------------------*/
#include "stdio.h"
void main()
{
int i,j;
/***********SPACE***********/
for(i=0;【?】; i++)
{
j=i*10+6;
/***********SPACE***********/
if(【?】)
continue;
printf("%d ",j);
}
}
答案:
=======(答案1)=======
i<10
=======(答案2)=======
i%3!=0
=========或=========
j%3!=0
第44题 (10.0分) 难度:易 第2章
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:输入三个整数x,y,z,请把这三个数由小到大输出。
-------------------------------------------------------*/
#include <stdio.h>
main()
{
int x,y,z,t;
scanf("%d%d%d",&x,&y,&z);
/***********SPACE***********/
if (x>y){【?】}
/***********SPACE***********/
if(x>z){【?】}
/***********SPACE***********/
if(y>z){【?】}
printf("small to big: %d %d %d\n",x,y,z);
}
答案:
=======(答案1)=======
t=x;x=y;y=t;
=======(答案2)=======
t=x;x=z;z=t;
=======(答案3)=======
t=y;y=z;z=t;
第45题 (10.0分) 难度:中 第1章
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:以下程序的功能如(图1)。
-------------------------------------------------------*/
#include <stdio.h>
#include <math.h>
main()
{
int f;
/***********SPACE***********/
【?】;
double t,pi;
t=1;pi=t;f=1;n=1.0;
/***********SPACE***********/
while(【?】 )
{
n=n+2;
/***********SPACE***********/
【?】;
t=f/n;
pi=pi+t;
}
/***********SPACE***********/
【?】;
printf("pi=%10.6f\n",pi);
}
答案:
=======(答案1)=======
float n
=========或=========
double n
=======(答案2)=======
fabs(t)>=1e-6
=========或=========
fabs(t)>=0.000001
=========或=========
1e-6<=fabs(t)
=========或=========
0.000001<=fabs(t)
=======(答案3)=======
f=-f
=========或=========
f=-1*f
=========或=========
f=f*(-1)
=========或=========
f=f*-1
=========或=========
f=(-1)*f
=======(答案4)=======
pi=pi*4
=========或=========
pi*=4
=========或=========
pi=4*pi
第46题 (10.0分) 难度:易 第1章
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
题目:以下程序输入n和n个大于1的正整数,输出其中素数。
如输入:5 19 93 11 37 15 则输出:19 11 37
例示说明:先输入n为5,再输入5个正整数,输出5个整数中的素数
-------------------------------------------------------*/
#include <stdio.h>
void main()
{
int n, a, i, j, ct;
scanf( "%d", &n );
/***********SPACE***********/
for ( i=0;【?】; i++ )
{
/***********SPACE***********/
【?】;
scanf( "%d", &a );
for( j=2; j<a; j++ )
/***********SPACE***********/
if (【?】)
ct++;
if ( ct==0 )
printf( "%d ", a );
}
printf( "\n" );
}
答案:
=======(答案1)=======
i<n
=======(答案2)=======
ct=0
=======(答案3)=======
a%j==0
第47题 (10.0分) 难度:易 第1章
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
题目:从键盘输入一组整数,使用条件表达式找出最大的整数。
当输入的整数为 0 时结束。
例如,输入 1 2 3 5 4 0 时,输出"max=5"。
-------------------------------------------------------*/
#include <stdio.h>
#include <conio.h>
main()
{
int num=-1;
int max = 0;
printf("请输入一组整数: \n");
/***********SPACE***********/
while(【?】)
{
/***********SPACE***********/
scanf("%d", 【?】);
max = num>max ? num : max;
}
/***********SPACE***********/
【?】("max=%d\n", max);
}
答案:
=======(答案1)=======
num!=0
=========或=========
0!=num
=======(答案2)=======
&num
=======(答案3)=======
printf
第48题 (10.0分) 难度:中 第6章
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:分别求出一批非零整数中的偶数、奇数的平均值,用零作
为终止标记。
-------------------------------------------------------*/
#include <stdio.h>
main()
{
int x,i=0,j=0;
float s1=0,s2=0,av1,av2;
scanf("%d",&x);
/***********SPACE***********/
while(【?】)
{
if(x%2==0)
{
s1=s1+x;
i++;
}
/***********SPACE***********/
【?】
{
s2=s2+x;
j++;
}
/***********SPACE***********/
【?】;
}
if(i!=0)
av1=s1/i;
else
av1=0;
if(j!=0)
/***********SPACE***********/
【?】 ;
else
av2=0;
printf("oushujunzhi:%7.2f,jishujunzhi:%7.2f\n",av1,av2);
}
答案:
=======(答案1)=======
x!=0
=========或=========
x
=======(答案2)=======
else
=========或=========
else if(x%2==1)
=========或=========
else if(x%2!=0)
=========或=========
if(x%2)
=======(答案3)=======
scanf("%d",&x)
=======(答案4)=======
av2=s2/j
第49题 (10.0分) 难度:易 第2章
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:输出9*9口诀。
-------------------------------------------------------*/
#include <stdio.h>
main()
{
int i,j,result;
printf("\n");
/***********SPACE***********/
for (i=1;【?】;i++)
{
/***********SPACE***********/
for(j=1;j<10;【?】)
{
result=i*j;
/***********SPACE***********/
printf("%d*%d=%-3d",i,j,【?】);
}
printf("\n");
}
}
答案:
=======(答案1)=======
i<10
=========或=========
10>i
=========或=========
i<=9
=========或=========
9>=i
=======(答案2)=======
j++
=========或=========
++j
=========或=========
j=j+1
=========或=========
j=1+j
=======(答案3)=======
result
第50题 (10.0分) 难度:易 第2章
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:1982年我国第三次人口普查,结果全国人口为10.3亿,假
如人口增长率为5%。编写一个程序求在公元多少年总人口
翻了一番。
-------------------------------------------------------*/
#include<stdio.h>
void main()
{
double p1=10.3,p2,r=0.05;
int n=1;
/***********SPACE***********/
p2=p1*【?】;
/***********SPACE***********/
while(p2<=【?】)
{
n++;
/***********SPACE***********/
p2=p2*【?】;
}
/***********SPACE***********/
n=【?】;
printf("%d年人口总数翻了一番,即为%g亿人\n",n,p2);
}
答案:
=======(答案1)=======
(1+r)
=========或=========
(r+1)
=======(答案2)=======
2*p1
=========或=========
p1*2
=======(答案3)=======
(1+r)
=========或=========
(r+1)
=======(答案4)=======
n+1982
=========或=========
1982+n