s=s+a[i][j];
}
b[i]=k;
c[i]=s;
}
for(i=0;i<5;i++)
{for(j=0;j<5;j++)
printf("%5d",a[i][j]);
printf("%5d%5d",b[i],c[i]);
printf("\n");
}
}
7.
题目:
输入三个整数x,y,z,请把这三个数由小到大输出。
main()
{intx,y,z,t;
scanf("%d%d%d",&x,&y,&z);
if(x>y){【?
】}
if(x>z){【?
】}
if(y>z){【?
】}
printf("smalltobig:
%d%d%d\n",x,y,z);
}
答案:
main()
{intx,y,z,t;
scanf("%d%d%d",&x,&y,&z);
if(x>y){t=x;x=y;y=t;}
if(x>z){t=x;x=z;z=t;}
if(y>z){t=y;y=z;z=t;}
printf("smalltobig:
%d%d%d\n",x,y,z);
}
8.
题目:
考查字符串数组的应用。
输出26个英文字母。
#include
voidmain(void)
{
charstring[256];
inti;
for(i=0;i<26;【?
】)
string[i]=【?
】;
printf("thearrarycontains%s\n",【?
】);
}
答案:
#include
voidmain(void)
{
charstring[256];
inti;
for(i=0;i<26;i++)
string[i]='A'+i;
string[i]='\0';
printf("thearrarycontains%s\n",string);
}
9.
题目:
从读入的整数数据中,统计大于零的整数个数和小于零的整数个数。
用输入零来结束输入,程序中用变量i统计大于零的整数个数,用变量j统计小于零的整数个数。
#include
main()
{intk,n,i,j;
printf("EnterINTnumber,with0toend\n");
i=0;j=0;
scanf("%d",&n);
while(n!
=0)
{if(n>0)i=【?
】;
if(n<0)j=【?
】;
scanf("%d",【?
】);
}
printf("i=%4d\n",i,j);
}
答案:
#include
main()
{intk,n,i,j;
printf("EnterINTnumber,with0toend\n");
i=0;j=0;
scanf("%d",&n);
while(n!
=0)
{if(n>0)i=i+1;
if(n<0)j=j+1;
scanf("%d",&n);
}
printf("i=%4d\nj=%4d\n",i,j);
}
10.
题目:
计算平均成绩并统计90分以上人数。
main()
{intn,m;floatgrade,average;
average=n=m=【?
】;
while
(1)
{【?
】("%f",&grade);
if(grade<0)break;
n++;
average+=grade;
if(grade<90)【?
】;
m++;
}
if(n)printf("%.2f%d\n",average/n,m);
}
答案:
main()
{intn,m;floatgrade,average;
average=n=m=0;
while
(1)
{scanf("%f",&grade);
if(grade<0)break;
n++;
average+=grade;
if(grade<90)continue;
m++;
}
if(n)printf("%.2f%d\n",average/n,m);
}
11.
题目:
输出Fibonacci数列的前15项,要求每行输出5项。
Fibonacci数列:
1,1,2,3,5,8,13...........
#include
main()
{int【?
】[14],i;
fib[0]=1;fib[1]=1;
for(i=2;i<15;i++)
fib[i]=【?
】;
for(i=0;i<15;i++)
{printf("%d\t",fib[i]);
if(【?
】)printf("\n");
}
}
答案:
#include
main()
{intfib[15],i;
fib[0]=1;fib[1]=1;
for(i=2;i<15;i++)
fib[i]=fib[i-1]+fib[i-2];
for(i=0;i<15;i++)
{printf("%d\t",fib[i]);
if(i%5==0)printf("\n");
}
}
二、程序改错题
1.
题目:
函数fun的功能是:
求1到20的阶乘的和。
请改正程序中的错误,使它能得出正确的结果。
fun()
{
intn,j;
floats=0.0,t=1.0;
for(n=1;n<=20;n++)
{
/**********FOUND**********/
s=1;
for(j=1;j<=n;j++)
/**********FOUND**********/
t=t*n;
/**********FOUND**********/
s+t=s;
}
/**********FOUND**********/
printf("jiecheng=%d\n",s);
}
main()
{
fun();
}
答案:
fun()
{
intn,j;
floats=0.0,t=1.0;
for(n=1;n<=20;n++)
{
/**********FOUND**********/
t=1;
for(j=1;j<=n;j++)
/**********FOUND**********/
t=t*j;
/**********FOUND**********/
s=s+t;
}
/**********FOUND**********/
printf("jiecheng=%e\n",s);
}
main()
{
fun();
}
2.
题目:
函数fun的功能是:
输出Fabonacci数列的前20项,要求变量类型定义成浮点型,输出时只输出整数部分,输出项数不得多于或少于20。
请改正程序中的4个错误,使它能得出正确的结果。
fun()
{
inti;
floatf1=1,f2=1,f3;
/**********FOUND**********/
printf("%8d",f1);
/**********FOUND**********/
for(i=1;i<=20;i++)
{
f3=f1+f2;
/**********FOUND**********/
f2=f1;
/**********FOUND**********/
f3=f2;
printf("%8.0f",f1);
}
printf("\n");
}
main()
{
fun();
}
答案:
fun()
{
inti;
floatf1=1,f2=1,f3;
/**********FOUND**********/
printf("%8.0f",f1);
/**********FOUND**********/
for(i=1;i<20;i++)
{
f3=f1+f2;
/**********FOUND**********/
f1=f2;
/**********FOUND**********/
f2=f3;
printf("%8.0f",f1);
}
printf("\n");
}
main()
{
fun();
}
3.
题目:
fun函数的功能是:
先从键盘上输入一个3行3列矩阵的各个元素的值,然后输出主对角线上的元素之和sum。
请改正程序中的错误,使它能得出正确的结果。
#include"stdio.h"
intfun()
{inta[3][3],sum;
inti,j;
/**********FOUND**********/
a=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
/**********FOUND**********/
scanf("%d",a[i][j]);
for(i=0;i<3;i++)
/**********FOUND**********/
sum=sum+a[i][j];
/**********FOUND**********/
printf("sum=%f\n",sum);
}
main()
{
fun();
}
答案:
#include"stdio.h"
intfun()
{inta[3][3],sum;
inti,j;
/**********FOUND**********/
sum=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
/**********FOUND**********/
scanf("%d",&a[i][j]);
for(i=0;i<3;i++)
/**********FOUND**********/
sum=sum+a[i][i];
/**********FOUND**********/
printf("sum=%d\n",sum);
}
main()
{
fun();
}
4.
题目:
求100以内(包括100)的偶数之和.
#include"stdio.h"
main()
{
/**********FOUND**********/
inti,sum=1;
/**********FOUND**********/
for(i=2;i<=100;i+=1)
sum+=i;
/**********FOUND**********/
printf("Sum=%d\n";sum);
getch();
}
答案:
#include"stdio.h"
main()
{
/**********FOUND**********/
inti,sum=0;
/**********FOUND**********/
for(i=2;i<=100;i+=2)
sum+=i;
/**********FOUND**********/
printf("Sum=%d\n",sum);
getch();
}
三、程序设计题
1.
题目:
编写函数fun求1!
+2!
+3!
+……+n!
的和,在
main函数中由键盘输入n值,并输出运算结果。
请
编写fun函数。
例如:
若n值为20,则结果为268040729。
#include
floatfun(intn)
{
/**********Program**********/
/**********End**********/
}
main()
{
inti,n;
longintresult;
scanf("%d",&n);
result=fun(n);
printf("%ld\n",result);
yzj();
}
答案:
inti;
floatf=1,s=0;
for(i=1;i<=n;i++)
{f=f*i;
s=s+f;}
returns;
2.
题目:
请编写函数fun,它的功能是:
判断m是否为素数。
主函数的功能是:
求出100到200之间的素数的个数。
#include"stdio.h"
main()
{intm,k=0;
for(m=100;m<200;m++)
if(fun(m))
{printf("%4d",m);
k++;
if(k%5==0)printf("\n");
}
printf("k=%d\n",k);
yzj();
}
intfun(intm)
{
/**********Program**********/
/**********End**********/
}
答案:
inti,k=1;
if(m<=1)k=0;
for(i=2;iif(m%i==0)k=0;
returnk;
3.
题目:
编写函数fun,函数的功能是:
求1到100之间的偶数之积。
#include"stdio.h"
doublefun(intm)
{
/**********Program**********/
/**********End**********/
}
main()
{
printf("ji=%f\n",fun(100));
yzj();
}
答案:
doubley=1;
inti;
for(i=1;i<=m;i++)
if(i%2==0)y*=i;
returny;
4.
题目:
编写函数fun,函数的功能是:
求一分数序列
2/1,3/2,5/3,8/5,13/8,21/13…的前n项
之和。
每一分数的分母是前两项的分母之和
每一分数的分子是前两项的分子之和
例如:
求前20项之和的值为32.660259。
#include"stdio.h"
floatfun(intn)
{
/**********Program**********/
/**********End**********/
}
main()
{floaty;
y=fun(20);
printf("y=%f\n",y);
yzj();
}
答案:
inti;
floatf1=1,f2=1,f3,s=0;
for(i=1;i<=n;i++)
{f3=f1+f2;
f1=f2;
f2=f3;
s=s+f2/f1;
}
returns;
5.
题目:
编写函数fun求1!
+2!
+3!
+……+n!
的和,在
main函数中由键盘输入n值,并输出运算
结果。
请编写fun函数。
例如:
若n值为20,则结果为268040729
#include
floatfun(intn)
{
/**********Program**********/
/**********End**********/
}
main()
{
inti,n;
longintresult;
scanf("%d",&n);
result=fun(n);
printf("%ld\n",result);
getch();
yzj();
}
答案:
inti;
floatf=1,s=0;
for(i=1;i<=n;i++)
{f=f*i;
s=s+f;}
returns;
6.
题目:
请编写函数fun,它的功能是:
判断m是否
为素数。
主函数的功能是:
求出100到200
之