一、改错题。
注意事项:
1.标有$error?$的程序行有错,请直接在该行修改;
2.请不要删除或修改$error?$错误标志;
3.请不要将错误行分成多行;
4.请不要修改错误语句的结构或其中表达式的结构,如错误语句:
if((a+b)==x=x+y)).正确形式为if((a+b)!=x=x+y)).若改成:
if((b+a)!=x=x+y)).或if((x=x+y)!=a+b)).或
if((a+b)!=x+=y)).等形式均不得分。
1、题目:
以下程序实现了矩阵的主对角线上的数据和副对角线上的数据求和。矩阵的数据存储在数组a中。例矩阵:
主对角线上的数据和副对角线上的数据求和就是:1+5+9+3+7=25
程序如下:
#include <>
#define n 3
int add(int a[n][n])
int i,s;
s=0; for(i=0;i
if(n%2==0error2$*/
s=s-a[n/2][n/2];
return s;
void main()
int a[n][n],i,j,sum;
printf("please input matrix a:");
for(i=0;i for(j=0;j scanf("%d",&a[i][j]);
sum=add(a[0][0error3$*/
printf("sum=%d",sum);
2、题目:
有n个数据存放在a数组中,请求出这n个数据的最小数,并与数组中第一个位置上的数进行交换。
程序如下:
#define n 12
#include <>
void main()
int a[n]=;
int min,i,t;
min=a[0]; error1$*/
for(i=1;i
a[0]=t; /error3$*/
a[0]=a[min];
a[min]=t;
for(i=0;i printf("%5d",a[i]);
printf("");
3、题目:
将数组中的数按从大到小排序后输出,要求:所有数据输出在一行,且每个数据占4列。
程序如下:
#define n 10
#include<>
void main()
int a[n]=;
int i,j,k;
for(j=1;j for(i=0;i
for(i=0;i printf("%4d",&a[i]);error3$*/
printf("");
4、题目:
计算200到500之间满足下列条件的数之和。
1)这个数的三个数位上的数字积为42;
2)这个数的三个数位上的数字和为12。
程序如下:
#include <>
void main()
int i,g,s,b,sum;
sum=1; /error1$*/
for(i=200;i<=500;i++)
printf("sum=%d",sum);
5、题目:
将数组中的数按从大到小排序后输出,要求:所有数据输出在一行,且每个数据占4列。
程序如下:
#define n 10
#include<>
void main()
int a[n]=;
int i,j,k;
for(j=1;j for(i=0;i
for(i=0;i printf("%4d",&a[i]);error3$*/
printf("");
6、题目:删除一个给定的字符串中第p个字符起连续n个字符,输出删除后的字符串。
例如:字符串s="abcdefghi",p=3,n=2,则输出结果是:abefghi。
程序如下:
#include <>
#include <>
void del(char s,int p,int n)
int i,j;
if(p<1||n<0||p+n-1>strlen(s))
i=perror1$*/
j=p+n-1;
while(s[j]!=0')
s[i]='n'; error2$*/
void main()
char s=abcdefghijk";
int p,n;
printf("please input begin position and number:")
scanf("%d%d",&p,&n);
del(s,p,nerror3$*/
puts(s);
7、题目:若有车的车牌号和罚分记录数据,统计罚分达到或超过12分的车辆总数并输出这些车辆的信息。
说明:id域代表车牌号,score域代表罚分)。
程序如下:
#include <>
struct car
char id[12];
int score;
void main()
int i,n=0;
car c[6]=,error1$*/
a-tt222",12},
b-wj333",12},
c-lc444",5},
f-pc555",6},
b-my666",12}};
printf("id\tscore");
i=0; while(i<6)
i++;
printf("n=%d",n);
8、题目:把字符串s中所有大写字母转换成小写字母,其它字符保持不变。
程序如下:
#include <>
#include <>
void main()
char s[81];
int i;
getchar(s); error1$*/
i=0; while(s[i]!=0')
printf("%c",serror3$*/
11年6月c语言上机试卷 A
南京师范大学2010 2011学年第2学期。c程序设计 课程期末上机试卷 a 考试时间 70分钟,满分 40分,清注意按要求保存文件 试卷密码c01 一 改错题 20分 题目 以下程序的功能是找出所有的3位数的素数,并将其写入文件中。含有错误的源程序如下 include int prime int ...
11年6月c语言上机试卷 B
南京师范大学2010 2011学年第2学期。c程序设计 课程期末上机试卷 b 考试时间 70分钟,满分 40分,清注意按要求保存文件 试卷密码c02 一 改错题 20分 题目 将一个整数插入一个已排序的数组而不改变数组的次序。例如 将34插入数组 1 3 23 28 45 48 89 103 221...
C语言真题
全国计算机等级考试二级笔试试题。基础知识与c语言程序设计。考试时间120分钟,满分100分 1994年4月。1 二进制数101110转换为等值的八进制数是 1 1 a 45b 56c 67d 78 2 cpu是由 2 组成的。2 a 内存储器和控制器b 控制器和运算器。c 内存储器和运算器d 内存储...