计算机的编程发源地,计算机编程: C典型上机试题
2002上半年C上机题之一
// 程序修改题
/*
给定程序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);
}
main()
{
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
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; }
//
}
main()
{
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);
printf("Converted array:\n");
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 ;
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) ;
}
-----------------------------------------------------------
2002上半年C上机题之二
/*
程序修改题
给定程序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;
}
}
main()
{
int flag=1;
char ch;
printf("请输入一字符串,用点号结束输入!\n") ;
do
{
ch=getchar();
flag=fun(&ch, flag);
putchar(ch);
}while(ch!='.');
printf("\n");
NONO();
}
NONO( )
{
/* 请在此函数内打开文件,输入测试数据,调用 fun
函数,输出数据,关闭文件。 */
char s1[81], ch;
int i, flag = 1;
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) ;
}
/* 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
*/
/* 编程题
程序的功能是: 把20个随机数存入一个数组, 然后输出该数组
中的最小值。其中确定最小值的下标的操作在fun函数中实现,请给
出该函数的定义。
注意: 部分源程序在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容, 仅在函数fun
的花括号中填入你编写的若干语句。
*/
/* 老王注:本题考生可以一字不动,只要按 Ctrl+F9
运行一下,
即可得 38 分,费去 m牛n虎之力正确编程,不过多得
2 分而已!
*/
#include
#include
#define VSIZE 20
int vector[VSIZE] ;
int fun(int list[],int size)
{//
int i,min=0;
for(i=1; i < size; i++)
if(list[min]>list[i])
min=i;
return min;
//
}
main()
{
int i;
clrscr() ;
for (i=0;i
{
vector[i]=rand();
printf("Vector[%d]=%6d\n",i,vector[i]);
}
i=fun(vector,VSIZE);
printf("\nMininum: Vector[%d]=%6d\n",i,vector[i]);
NONO();
}
NONO()
/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,
输出数据,关闭文件。 */
{
int i;
FILE *fp ;
fp = fopen("b0203.out", "w") ;
for (i=0;i
i=fun(vector,VSIZE);
fprintf(fp, "%d\n", vector[i]) ;
fclose(fp) ;
}
/* b0203.out 内容:
346
130
10982
1090
11656
7117
17595
6415
22948
31126
9004
14558
3571
22879
18492
1360
5412
26721
22463
25047
130
*/
------------------------------------------------------------------
2002上半年C上机题之三
程序修改题
code:--------------------------------------------------------------------------------
/*
给定程序MODI1.C中函数fun的功能是: 计算整数n的阶乘。
请改正程序中的错误或在横线处填上适当的内容并把横线删除,
使它能计算出正确的结果。
注意: 不要改动 main 函数, 不得增行或删行, 也不得更改
程序的结构!
*/
#include "stdio.h"
double fun(int n)
{
double result=1.0;
while (n>1 && n<170)
/*********found*********/
result*=n--;
//result*=--n;
/*********found*********/
return result;
//return _____;
}
main()
{
int n;
clrscr();
printf("Enter an integer: ");
scanf("%d",&n);
printf("\n\n%d!=%lg\n\n",n,fun(n));
NONO();
}
NONO( )
{
/* 请在此函数内打开文件,输入测试数据,调用 fun
函数,输出数据,关闭文件。 */
int n,i;
FILE *rf, *wf ;
rf = fopen("g03.in", "r") ;
wf = fopen("g03.out", "w") ;
for(i=1; i<=10; i++) {
fscanf(rf, "%d", &n) ;
fprintf( wf, "%lg\n", fun ( n ) );
}
fclose(rf) ;
fclose(wf) ;
}
--------------------------------------------------------------------------------
/* g03.in 文件内容如下:
5 8 11 6 15 31 18 23 29 37
*/
/* g03.out 文件内容如下:
120
40320
3.99168e+07
720
1.30767e+12
8.22284e+33
6.40237e+15
2.5852e+22
8.84176e+30
1.37638e+43
*/
编程题
code:--------------------------------------------------------------------------------
/*
编写函数fun,函数的功能是: 从字符串中删除指定的字符。同
一字母的大、小写按不同字符处理。
若程序执行时输入字符串为: turbo c and borland c++
从键盘上输入字符:n, 则输出后变为: turbo c ad borlad c++
如果输入的字符在字符串中不存在, 则字符串照原样输出。
注意: 部分源程序在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容, 仅在函数fun
的花括号中填入你编写的若干语句。
*/
#include
#include
int fun(char s[],int c)
{//
char *q=s;
for(; *q; q++)
if(*q != c) *(s++)=*q;
*s=0;
//
}
main()
{
static char str[]="turbo c and borland c++";
char ch;
clrscr() ;
printf("原始字符串:%s\n", str);
printf("输入一个字符:");
scanf("%c",&ch);
fun(str,ch);
printf("str[]=%s\n",str);
NONO();
}
NONO()
{
/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,
输出数据,关闭文件。 */
FILE *rf, *wf ;
char s[81], ch, w ;
int len ;
rf = fopen("b0303.in", "r") ;
wf = fopen("b0303.out", "w") ;
fgets(s, 80, rf) ;
fscanf(rf, "%c", &ch) ;
len = strlen(s) - 1 ;
w = s[len] ;
if(w == '\n' || w == 0x1a) s[len] = 0 ;
fun(s, ch) ;
fprintf(wf, "%s", s) ;
fclose(rf) ;
fclose(wf) ;
}
--------------------------------------------------------------------------------
/* b0303.in 文件内容如下:
You can specify that the primary index is in record number
sequence.
t
*/
/* b0303.out 文件内容如下:
You can specify ha he primary index is in record number
sequence.
*/
计算机的编程发源地,计算机编程: C典型上机试题相关推荐
- 全国计算机等级考试汇编,2011年3月汇编全国计算机等级考试(南开100题三级网络技术上机试题汇编)...
<2011年3月汇编全国计算机等级考试(南开100题三级网络技术上机试题汇编)>由会员分享,可在线阅读,更多相关<2011年3月汇编全国计算机等级考试(南开100题三级网络技术上机试 ...
- access团员人数公式_2012年计算机二级Access第三十二套上机试题及答案详解
1.基本操作题 (1)在考生文件夹下"samp1.mdb"数据库文件中建立表"tTeacher",表结构如下: (2)设置"编号"字段为主键 ...
- 用汇编语言编程的计算机
用汇编语言编程的计算机 下面介绍一种通过汇编语言进行编程的计算机.该计算机通过按键输入汇编语言程序,通过数字电路判断汇编语句的因果关系,并实现相关保存到寄存器,像端口输出信号,从端口读取信号的功能.计 ...
- 可编程计算机控制器课设,可编程计算机控制器课程设计(电气)
[可编程计算机控制器课程设计] [Programmable Computer Controller] 一.基本信息 课程代码:[099582] 课程学分:[1] 面向专业:[电气工程及其自动化] ...
- 【计算机基础知识】三大编程思想
1.面向过程编程 "面向过程"(Procedure Oriented)是一种以过程为中心的编程思想.这些都是以什么正在发生为目标进行编程,不同于面向对象的是谁在受影响.与面向对象明 ...
- 互联网Scratch编程趣味课:不插电编程和计算机对话[图]
2019独角兽企业重金招聘Python工程师标准>>> 互联网Scratch编程趣味课:不插电编程和计算机对话[图]: 过去的一周,冉爸和一家棒球夏令营合作,给一群无拘无束的小帅哥带 ...
- 二级c语言编程题只要得出答案,计算机二级C语言考试编程题题库答案.docx
计算机二级C语言考试编程题题库答案 1.求100之内自然数中最大的能被17整除的数.void main(){ int i;for(i=100;i>0;i--)if(i%17==0)break;p ...
- 基础知识:语言、编程、计算机组成、cpu、存储器
阅读目录 一. 语言:一种事物与另外一种事物沟通的介质. 编程语言:程序员与计算机沟通的介质. 编程:把要让计算机做的事用一种编程语言表达出来. 为何要编程? 为了让计算机按照人类的思维逻辑去工作,从 ...
- 学计算机和电脑办公的区别,自学编程和计算机科班出身的差别在哪?
自学编程和科班出身的差别最大的在于学习的主体--人 但毫无例外的是,当两者之间相辅相成之时所能发挥的力量更大. 自学编程和计算机科班出身的差别在哪? 不同人的不同看法 看到一段好的产品,科班出身的会问 ...
最新文章
- TCP为什么需要三次握手和四次挥手
- java writeboolean_Java DataOutputStream writeBoolean()方法(带示例)
- Android企业级程序完全退出的解决方案
- android 如何使用aar,Android Studio如何使用aar依赖包?
- 连接redis的方法
- 真正想创业,做一番事业的人是什么样子的?
- python3编译成exe运行_python3.x的程序如何打包成exe可执行文件
- 在Apache中隐藏Php文件后缀
- git优点缺点(简单介绍)
- 强制打开BIOS中禁用的I/OAT DCA(二)
- 清华大学829考研 初试436经验谈
- 无模型matlab程序实验报告,MATLAB仿真瑞利衰落信道实验报告结果
- 如何测试计算机u口速度慢,如何解决电脑USB接口识别U盘速度缓慢
- 【机器学习笔记】【决策树】【分类树】
- 什么是网页源代码和网站的源代码
- linux系统中如何查ip,在Linux系统中查看ip的命令是什么
- 计算机网络(二)集线器_网桥交换机_路由器
- 家具行业APP定制开发需具备哪些功能
- VS2022 MAUI Hello World——Windows平台及Android平台效果
- 比较器(Comparable与Comparator接口)