c语言模拟题1(有答案)

  • 格式:doc
  • 大小:53.00 KB
  • 文档页数:7
编程要求:请按题中的功能要求,编写程序并能得到正确的结果。将结果(包括B_4_2.C文件和B_4_2.exe文件)。
功能说明:输入正整数m和n(设100≤m≤n≤999),输出m到n之间满足下列条件的三位数:它的个位数的立方加十位数的平方再加上百位数等于该数的本身(例如135=1+3*3+5*5*5)。
if(a[i]>0) {sum=sum+a[i];j++;}
b[0]=sum;
return (float)sum/j;
}
main()
{
int a[N],b[1];float ave;
f1(a);
ave=f2(a,b);
printf("sum=%d ave=%.1f\n",b[0],ave);
}
2.编程题2(B_4_2.C)
{
int i, n=0;
char str[80];
gets(str);
for ( i=0; str[i]!='\0'; i++ )
if ( str[i]>='0' && str[i]<='9' )
n=n*10+(str[i]-48);
printf("%d %d\n", n, 2*n);
}
3、输出杨辉三角的前N行(N<10)。将结果(包括B_3_3.c文件和B_3_3.exe文件)保存。
for ( i=0; i<N; i++ )
scanf( "%d", &a[i] );
k = _______(3)get_max_index(a,10)______;
printf( "a[%d]=%d\n", k, a[k] );
}
三、程序调试题(本大题3小题,每题10分,共30分)
1.程序调试题1(B_3_1.C)
printf( "\n" );
}
printf( "\nSum=%d\n", sum );
}
2.以下程序输入10个整数到a数组,找到并输出其中最大的整数及其下标。
如输入:80 290 150 520 330 -160 -99 0 200 9
则输出:a[3]=520
源程序:
#include <stdio.h>
A.3 B. 2.5 C.2 D.2.0
二、程序填空题(本大题2小题,每题5分,共10分)
1、以下程序按每行5个数的格式输出1至n范围内能被7或17整除的整数,并求出其和。
如输入:50
则输出:
7 14 17 21 28
34 35 42 49
Sum=247
源程序:
#include <stdio.h>
void main()
printf("\n");
}
#include <stdio.h>
#define M 10
#define N 10
main()
{int a[M][N]={0},i,j;
a[0][0]=1;
a[1][0]=1;
a[1][1]=1;
for (i=2;i<M;i++) /*从第3行开始*/
for (j=0;j<N;j++) /*求每行的各个元素*/
scanf("%d",&n);
}while(n<100||n>999);
if(m>n) {t=m;m=n;n=t;}
}
void f2(int m,int n)
{
int i;
for(i=m;i<=n;i++)
{
if((i%10)*(i%10)*(i%10)+(i/10%10)*(i/10%10)+i/100==i) printf("%5d",i);
}
}
main()
{
f1();
f2(m,n);
printf("\n");
}
#define N 10
int get_max_index( int a[], int n )
{
int i, k=0;
for ( i=1; i<n; i++ )
if ( ____(1)a[k]<a[i]____ )
k = i;
return ______(2)k_____;
}
void main()
{
int i, k, a[N];
C.age[0][1]
D.age[1][1+1]
7.变量定义int x, a=3, b=4;则语句x = ( a = 0 ) && ( b = 8 );执行之后各变量的值为______B
A.x=0, a=3, b=4
B.x=0, a=0, b=4
C.x=0, a=3, b=8
D.x=0, a=0, b=8
{ if(j==0)
a[i][j]=1;
else
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
for (i=0;i<M;i++)
{ for (j=0;j<3*(M-i);j++)
printf(" ");
for (j=0;j<=N;j++)
printf("%6d",a[i][j]);
}
模拟题1
一、单选题(本大题10小题,每题2分,共20分)
1.C语言表达式a=15,a%6的值是_______A
A.3
B.5
C.非法表达式
D.15
2.循环语句中,continue语句的作用是______A
A.结束本次循环
B.跳出子函数
C.从本循环体内跳出
D.终止程序
3.定义一个返回值为int的无参函数cacul的正确语句是______C
B.for(int j=23;j>0;j--) putchar(‘*’)
C.int k=23;while (k>0) {putchar(‘*’);k--}
D.int i=0;while(i>23) {putchar(‘*’);i++;}
10.若x是整型变量,y是单精度浮点型变量,值为10,表达式x = y/4的值是_____C。
scanf( "%d", &n );
for ( i=1 ; i<=n; i++ )
sum += fact(i);
printf( "1!+2!+...+%d! = %.0lf\n", n, sum );
}
2.程序调试题2(B_3_2.C)
调试要求:下列程序有3处错误,请按题中的功能要求,在不改变程序结构(不增加、删除语句,不调整语句顺序)的情况下调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。将结果(包括B_3_2.c文件和B_3_2.exe文件)保存。
则输出:Sum=61, Average=20.3
#define N 5
void f1(int a[])
{
int i;
for(i=0;i<N;i++)
scanf("%d",&a[i]);
}
float f2(int a[],int b[])
{
int i,sum=0,j=0;
for(i=0;i<N;i++)
如输入:135 555
则输出:135 175 518
#include "stdio.h"
int m,n;
void f1()
{ int t;
do
{
printf("inpput value to m\n");
scanf("%d",&m);
}while(m<100||m>999);
do
{
printf("inpput value to n\n");
1
11
121
1331
14641
[代码]
#de <stdio.h>
#define M 10
#define N 10
main()
{int a[M][N],i,j;
a[0][0]=1;
a[1][0]=1;
a[1][1]=1;
for (i=2;i<M;i++)/*从第3行开始*/
for (j=0;j<=i;j++)/*求每行的各个元素*/
功能说明:程序输入任意一行字符串(设字符数不大于20),提取该字符串中的数字字符并组成一个整数,输出该整数及其两倍的值。
如输入:abc12e3fgh4i
则输出:1234 2468
原程序(见C:\KS\B_3_2.C):
#include <stdio.h>
void main()
{
int i, n=0;
}
}
四、编程题(本大题2小题,每题20分,共40分)
1.编程题1(B_4_1.C)
编程要求:请按题中的功能要求,编写程序并能得到正确的结果。将结果(包括B_4_1.C文件和B_4_1.exe文件)。