C上机试题库
一、2002年4月
/*程序修改题1
给定程序MODI1.C中函数fun的功能是: 先从键盘上输入一个
3行3列矩阵的各个元素的值, 然后输出主对角线元素之和。
请改正函数 fun 中的错误或在横线处填上适当的内容并把横线删
除,使它能得出正确的结果。
注意: 不要改动 main 函数,不得增行或删行,也不得更改程序
的结构!
*/
#include
int fun()
{
int a[3][3],sum;
给定程序MODI1.C中函数fun的功能是: 先从键盘上输入一个
3行3列矩阵的各个元素的值, 然后输出主对角线元素之和。
请改正函数 fun 中的错误或在横线处填上适当的内容并把横线删
除,使它能得出正确的结果。
注意: 不要改动 main 函数,不得增行或删行,也不得更改程序
的结构!
*/
#include
int fun()
{
int a[3][3],sum;
int i,j;
/*********found**********/
sum=0;
//______;
for (i=0; i < 3; i++)
{ for (j=0; j < 3; j++)
/*********found**********/
scanf("%d",&a[ i ][ j ]);
//scanf("%d",a[ i ][ j ]);
}
for (i=0; i < 3; i++)
sum=sum+a[ i ][ i ];
printf("Sum=%d\n",sum);
}
/*********found**********/
sum=0;
//______;
for (i=0; i < 3; i++)
{ for (j=0; j < 3; j++)
/*********found**********/
scanf("%d",&a[ i ][ j ]);
//scanf("%d",a[ i ][ j ]);
}
for (i=0; i < 3; i++)
sum=sum+a[ i ][ i ];
printf("Sum=%d\n",sum);
}
main()
{
fun();
}
fun();
}
/*编程题
编写程序, 实现矩阵(3行3列)的转置(即行列互换)
例如, 输入下面的矩阵:
100 200 300
400 500 600
700 800 900
程序输出:
100 400 700
200 500 800
300 600 900
注意: 部分源程序在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容, 仅在函数fun
的花括号中填入你编写的若干语句。
*/
#include
#include
请勿改动主函数main和其它函数中的任何内容, 仅在函数fun
的花括号中填入你编写的若干语句。
*/
#include
#include
int fun(int array[3][3])
{//
int i,j,t;
for(i=0; i < 3; i++)
for(j=0; j < i; j++)
{ t=array[i][j];
array[i][j]=array[j][i];
array[j][i]=t; }
//
{//
int i,j,t;
for(i=0; i < 3; i++)
for(j=0; j < i; j++)
{ t=array[i][j];
array[i][j]=array[j][i];
array[j][i]=t; }
//
}
main()
{
int i,j;
int array[3][3]={{100,200,300},
{400,500,600},
{700,800,900}};
{
int i,j;
int array[3][3]={{100,200,300},
{400,500,600},
{700,800,900}};
clrscr() ;
for (i=0; i < 3; i++)
{ for (j=0; j < 3; j++)
printf("%7d",array[i][j]);
printf("\n");
}
fun(array);
for (i=0; i < 3; i++)
{ for (j=0; j < 3; j++)
printf("%7d",array[i][j]);
printf("\n");
}
fun(array);
printf("Converted array:\n");
for (i=0; i < 3; i++)
{ for (j=0; j < 3; j++)
printf("%7d",array[i][j]);
printf("\n");
}
NONO();
}
for (i=0; i < 3; i++)
{ for (j=0; j < 3; j++)
printf("%7d",array[i][j]);
printf("\n");
}
NONO();
}
NONO()
{
/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。 */
int i,j, array[3][3];
FILE *rf, *wf ;
{
/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。 */
int i,j, array[3][3];
FILE *rf, *wf ;
rf = fopen("b0103.in", "r") ;
wf = fopen("b0103.out", "w") ;
for (i=0; i < 3; i++)
for (j=0; j < 3; j++)
fscanf(rf, "%d", &array[i][j]);
fun(array);
for (i=0; i < 3; i++)
编写函数其功能是计算一个字符串{ for (j=0; j < 3; j++)
fprintf(wf, "%7d", array[i][j]);
fprintf(wf, "\n");
}
fclose(rf) ;
fclose(wf) ;
}
/
for (i=0; i < 3; i++)
for (j=0; j < 3; j++)
fscanf(rf, "%d", &array[i][j]);
fun(array);
for (i=0; i < 3; i++)
编写函数其功能是计算一个字符串{ for (j=0; j < 3; j++)
fprintf(wf, "%7d", array[i][j]);
fprintf(wf, "\n");
}
fclose(rf) ;
fclose(wf) ;
}
/
*程序修改题2
给定程序MODI1.C中函数fun的功能是: 将从键盘上输入的每个
单词的第一个字母转换为大写字母, 输入时各单词必须用空格隔开,
用'.'结束输入。
请改正程序中的错误,使程序能输出正确的结果。
注意:不要改动 main 函数, 不得增行或删行,也不得更改
程序的结构!
****老王注:本类有输出结果的程序修改题,在评分时先看结果,如果
**** 结果正确,则直接给分;结果不正确或无结果,再一个错
**** 一个错评分。此法并不适用所有类似题。
*/
#include
给定程序MODI1.C中函数fun的功能是: 将从键盘上输入的每个
单词的第一个字母转换为大写字母, 输入时各单词必须用空格隔开,
用'.'结束输入。
请改正程序中的错误,使程序能输出正确的结果。
注意:不要改动 main 函数, 不得增行或删行,也不得更改
程序的结构!
****老王注:本类有输出结果的程序修改题,在评分时先看结果,如果
**** 结果正确,则直接给分;结果不正确或无结果,再一个错
**** 一个错评分。此法并不适用所有类似题。
*/
#include
int fun(char *c,int status)
{
/
{
/
***********found**********/
if (*c==' ') return 1;
//if (c==' ') return 1;
else
{
if(status && *c <= 'z' && *c >= 'a')
/***********found**********/
*c += 'A' - 'a';
//c += 'A' - 'a';
return 0;
}
}
if (*c==' ') return 1;
//if (c==' ') return 1;
else
{
if(status && *c <= 'z' && *c >= 'a')
/***********found**********/
*c += 'A' - 'a';
//c += 'A' - 'a';
return 0;
}
}
main()
{
int flag=1;
{
int flag=1;
char ch;
printf("请输入一字符串,用点号结束输入!\n") ;
do
{
ch=getchar();
flag=fun(&ch, flag);
putchar(ch);
}while(ch!='.');
printf("\n");
NONO();
}
printf("请输入一字符串,用点号结束输入!\n") ;
do
{
ch=getchar();
flag=fun(&ch, flag);
putchar(ch);
}while(ch!='.');
printf("\n");
NONO();
}
NONO( )
{
/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。 */
char s1[81], ch;
{
/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。 */
char s1[81], ch;
int i, flag = 1;
FILE *rf, *wf ;
FILE *rf, *wf ;
rf = fopen("g02.in", "r") ;
wf = fopen("g02.out", "w") ;
fgets(s1, 80, rf) ;
for(i = 0 ; i < strlen(s1) ; i++) {
ch = s1[i] ;
flag = fun(&ch, flag) ;
s1[i] = ch ;
}
fprintf( wf,"%s", s1 );
fclose(rf) ;
fclose(wf) ;
}
wf = fopen("g02.out", "w") ;
fgets(s1, 80, rf) ;
for(i = 0 ; i < strlen(s1) ; i++) {
ch = s1[i] ;
flag = fun(&ch, flag) ;
s1[i] = ch ;
}
fprintf( wf,"%s", s1 );
fclose(rf) ;
fclose(wf) ;
}
/
* G02.IN 内容:
keys in indexes allow you quick access to specific records and define
*/
/* G02.OUT 内容:
Keys In Indexes Allow You Quick Access To Specific Records And Define
*/
keys in indexes allow you quick access to specific records and define
*/
/* G02.OUT 内容:
Keys In Indexes Allow You Quick Access To Specific Records And Define
*/
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论