当前位置:文档之家› 上海理工大学 c语言复习卷以及答案

上海理工大学 c语言复习卷以及答案

答案:
#include "stdio.h"
#include <stdlib.h>
void SelectSort( int v[ ], int n )
{ int i,j,k,temp;
for( i=0; i<n-1; i++ )
{int k = i;//k存放最小记录位置
for( j=i+1; j<n; j++) //找最小记录位置
}
2.编程题2(B_4_2.C)
编程要求:请按题中的功能要求,编写程序并能得到正确的结果。将结果(包括B_4_2.C文件和B_4_2.exe文件)保存到“\实验结果”文件夹中。
功能说明:键盘输入正整数n,计算并输出 的值,输出结l则输出:0.645635
答案:
#include <.stdio.h>
Mian()
Float s;
For(i=1;i<=n,i++)
{If(i/2==0)
S+= -1.0/n;
Else
S+=1.0/n
}
Printf("%1f",s);
}
#include <stdio.h>
#include <stdlib.h>
void main()
{
int i=1,n;
double f=1.0,s=0;
;
return j-i;
}
void main()
{
char str[81];
int n;
gets( str[0] );
n = length( str );
printf( "Length=%d\n", n );
system("pause");
}
答案:
#include <stdio.h>
#include <stdlib.h>
}
答案:
#include <stdio.h>
#include <stdlib.h>
int sumx( int a0, int d, int n )
{
int i, k, s=0;
k = a0;
for ( i=0; i<n; i++ )
{s += k;
k += d;}
return s;
}
void main()
int n;
scanf( "%d", &n);
switch ( n )
{
case 1:
case 2: putchar('X');
case 3:
case 4: putchar('Y'); break;
default: putchar('Z');
A. 显示:z
B. 显示:xy
C. 显示:x
D. 显示:y
}
scanf( "%d", &n );
for ( i=0; i<n; i++ )
{
ct=0;
scanf( "%d", &a );
for( j=2; j<a; j++ )
if ( a%j==0 )
ct++;
if ( ct==0 )
printf( "%d ", a );
}
printf( "\n" );
system("pause");
printf( "%X ", a[i] );
}
答案:
#include <stdio.h>
#include <stdlib.h>
void main()
{
int a[10], i, n;
scanf( "%d", &n );
for ( i=0; n>0; i++ )
{
a[i]=n%16;
n /= 16;
}
printf("input item number : \n");
scanf("%d",&n);
do
{
s+=f/i++;//或:s=s+f/i; i++;
f=-f;
}while (i<=n);
printf("1-1/2+1/3-...+1/%d=%lf\n",n,s);
system("pause");
for ( i--; i>=0; i-- )
printf( "%X ", a[i] );
system("pause");
}
2.以下程序输入n和n个大于1的正整数,输出其中素数。
如输入:5 19 93 11 37 15
则输出:19 11 37
例示说明:先输入n为5,再输入5个正整数,输出5个整数中的素数
源程序(见素材\T_3_2.C):
#include <stdio.h>
#include <stdlib.h>
void main()
{
int n, a, i, j, ct;
scanf( "%d", &n );
for ( i=0; ____1____; i++ )
{
______2______;
scanf( "%d", &a );
#include <stdio.h>
#include <stdlib.h>
int length( char p[] )
{
char q[100], r[100];
int i,j,k;
for ( i=0;p[i]='A'; i++ )
;
for ( j=i+1; p[j]!='\0' && p[j]!='Z'; j++ )
for( j=2; j<a; j++ )
if ( ____3____ )
ct++;
if ( ct==0 )
printf( "%d ", a );
}
printf( "\n" );
}
答案:
#include <stdio.h>
#include <stdlib.h>
void main()
{
int n, a, i, j, ct;
printf( "%d\n", ++a );
}
A. 9
B. 10
C. 11
D. 12
6.设x, y和z是int型变量,且x=3, y=4, z= 5,则下面表达式中值为0的是__B___。[知识点:关系、逻辑运算]
A. !(x<y)&&!z||1
B. x==y&&y!=z
C.x||y+z&&y-z
D. y&&’y’
int length( char p[] )
{
int i,j;
for ( i=0;p[i]!='A'; i++ );
for ( j=i+1; p[j]!='\0' && p[j]!='Z'; j++ );
return j-i-1;
}
void main()
{
char str[81];
int n;
gets( str );
源程序(见素材\T_3_1.C):
#include <stdio.h>
#include <stdlib.h>
void main()
{
int a[10], i, n;
scanf( "%d", &n );
for ( i=0; n>0; i++ )
{
a[i] = ____1____;
n /= 16;
}
for ( i--; ____2____; ____3____ )
A. a[3][2]
B. a[2][3]
C. a[2]
D. a[2][1]
二、程序调试题
1.程序调试题1(D_2_1.C)
调试要求:下列程序不能得到正确的结果,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。将结果(包括D_2_1.c文件和D_2_1.exe文件)保存到指定目录中。
{if( v[j]<v[k] ) k = j; }
if( k!=i ) //交换第i和第k个位置记录
{temp=v[i]; v[i]=v[k]; v[k]=temp;
}
}
}
voidmain()
{
int a[10],i,n;
printf("input number of data\n");
scanf("%d",&n);
相关主题