C语言程序改错
更新时间:2023-12-03 04:00:01 阅读量: 教育文库 文档下载
难度1
1、程序D1.c的功能是从键盘读入一个数并在屏幕上显示。
int main(void) {
int xy2;
/*********Found************/
scanf(\改为:scanf(\ /*********Found************/
printf(\改为:printf(\
return 0;
}
2、程序D2.c的功能是调用函数,显示两个实数间最大的一个。 #include
float fmax(float x, float y);
int main(void) {
/*********Found************/ float l, 1; //i
l = 3.0; i = 5.6f;
/*********Found************/
printf(\fMax(i, l)); // fmax
return 0;
}
/*********Found************/
int fmax(float x, float y) //改:float {
if (x < y) return y; else return x;
}
3、程序D4.c的功能是计算半径为2+3的圆的面积。 #include
#define PI 3.14
/*********Found************/
#define S(bj) PI*bj*bj //改: PI*(bj)*(bj)
int main(void) {
/*********Found************/ int mianJi; //改为:double
mianJi = S(2+3);
printf(\
return 0;
}
4、相似题:D3.C,程序D5.c的功能是将字符串yy显示在屏幕上。
#include
int main(void) {
/*********Found************/
char yy[100] = \, //改为:;
/*********Found************/ prntf(\改:printf
return 0; }
5、考查点:数据类型选择,/运算符的使用功能是计算1/1 + 1/2 + ? + 1/N之和并显示。
#include
#define N 10
int main(void) {
/*********Found************/ long jieguo = 0; //改:float int fm;
for (fm = 1; fm <= N; fm++) {
/*********Found************/
jieguo += 1 / fm; //改:(float) 1 / fm }
printf(\
return 0; }
6、考查点:输入分隔格式控制,循环体的定义, D12.c的功能是从键盘读入a和b的值(输入格式限定为仅a,b),在屏幕上显示b行a。 #include
int main(void) {
int a, b;
/*********Found************/
scanf(\%d%d\中间加’,’ while (b > 0)
/*********Found************/ ___________ //括号’{’
printf(\ b--;
/*********Found************/ ___________ //括号’}’
printf(\
return 0;
}
7考查点:输入格式控制、变量交换,程序D1000.c的功能是从键盘输入3个浮点数a,b,c(输入时abc之间以空格相隔),首先按照输入顺序显示在屏幕上,然后按从小到大顺序把它们输出到屏幕上。 #include
int main(void) {
float a, b, c, t;
printf(\ /*********Found************/
scanf(\%f%f\改:%f%f%f
printf(\ if (a > b) {
t = a; a = b;
/*********Found************/ b = a; //改:t }
if (a > c)
{
t = a; a = c; c = t; }
if (b > c) {
t = b; b = c; c = t; }
printf(\
return 0; }
8考查点:格式化输出、数据类型的正确使用,程序D1001.c的功能是求分数序列:2/1,3/2,5/3,8/5,13/8,21/13,....前20项之和,要求显示的结果中小数部分有4位。
#include
#define T 20
int main(void) {
int n;
/*********Found************/ long i, j, temp, sum;
i = 2; j = 1; sum = 0;
for (n=1; n<=T; n++) {
sum = sum + i / j; temp = i; i = i + j; j = temp; }
/*********Found************/
printf(\5.2f\\n\改:.4
return 0;
}
9考查点:用算术表达式实现数据交换,程序D1002.c的功能是实现两数交换。 #include
int main(void) {
int x = 5, y = 9;
x = x + y; y = x - y;
/*****Found*****/
x = y - x; //改:x – y;
printf(\
return 0;
}
10考查点:整型常量表示、输出项表示,程序D1003.c的功能是将16进制数100转换为10进制数输出。
#include
int main(void) {
/*****Found*****/
int i = 100; //0x100
/*****Found*****/
printf(\ &i); //改:去掉&
return 0;
}
11、 程序D1004.c的功能是输入姓名,屏幕输出问候。
#include
int main(void) {
char s[10];
printf(\ /*********Found************/ scanf(\%c\改%s
printf(\
/*********Found************/ puts(s[10]); //改:s
return 0; }
12考查点:输入数据分隔,输出项表示,程序D1005.c的功能是从键盘读入两个整数并在屏幕上显示。要求:输入时限定两数之间仅以逗号隔开。
#include
int main(void) {
int a, b;
/*********Found*********/
scanf(\%d%d\改:中间加’,’ /*********Found*********/
printf(\&a, &b); //去掉&
return 0;
}
13、考查点:输入格式控制、if语句,程序D1006.c的功能是判断输入的数据是否与已经给出的数据j相等。
#include
int main(void) {
long int i = 79870, j = 23;
/*****Found*****/
scanf(\%f\改:%ld
/*****Found*****/ if (j == i); {
printf(\ } else {
printf(\ }
return 0;
}
14、考查点:字符输入函数使用,分支条件表示,程序D1007.c的功能是使用getchar方式从键盘读入一个字符,判断该字符是否大写字符。
#include
int main(void) {
char ch;
/****Found****/
getchar(ch); // ch = getchar(); /*****Found*****/
if ('A' <= ch, ch <= 'Z') //&& {
printf(\ } else {
printf(\ }
return 0; }
15、考查点:switch语句结束、case后常量表示,程序D1008.c的功能是判断用户是不是输入的整数0。 #include
int main(void) {
int n;
scanf(\ /****Found****/
switch (n); //去掉’;’ {
/****Found****/
case0: //中间加空格 printf(\ break; default:
printf(\ break; }
return 0;
}
16、考查点:switch语句、case后常量表示,程序D1009.c的功能是输入一个整数,如果为1时输出100,为2时输出200,其它输出0。 #include
int main(void) {
int x, y;
scanf(\
switch (x) {
/*********Found************/ case x == 1: //改:1 y = 100; break;
/*********Found************/ case x == 2: //改:2 y = 200; break; default:
/*********Found************/ y = 500; //改:0 break; }
printf(\
return 0; }
17、考查点:switch语句case常量表示,循环条件表示,程序D1010.c的功能是输入若干字符数据(回车表示输入结束),分别统计其中‘A’、‘B’、‘C’的个数。
#include
int main(void) {
char c;
int k1 = 0, k2 = 0, k3 = 0;
/*********Found************/
while (c = getchar() != '\\n') //加括号() {
switch (c) {
/*********Found************/ case A: //加’’ k1++; break;
case 'B': k2++; break; case 'C': k3++; break; default : ; } }
printf(\
return 0; }
18、考查点:一维数组定义、数组元素引用、输入和输出,程序D1016.c的功能是从键盘输入5个整数,保存到一整型数组变量中(此数组只能保存5个数),并在屏幕上按逆序输出。
#include
int main(void) {
/*********Found*********/
int n=5, i, a[n]; //改为5
printf(\ /*********Found*********/ for (i=1; i scanf(\ } for (i=n-1; i>=0; i--) { printf(\ } return 0; } 19、考查点:数组的输入和数组元素的引用,程序D1017.c的功能是输入10个浮点数,并输出这组数中的最大值和最小值。 #include int main(void) { float a[10], max, min; int i; printf(\for (i=0; i<10; i++) { /*********Found************/ scanf(\&a[i] } max = min = a[0]; for (i=1; i<10; i++) { /*********Found************/ if (_____) // max < a[i] { max = a[i]; } if (min > a[i]) { min = a[i]; } } printf(\ return 0; } 20、考查点:函数声明,静态变量使用,程序D1021.c的功能是依次输出3^1到3^5。 #include /*****Found*****/ int f(n); //用定义形式:int n int main(void) { int i; for (i=1; i<=5; i++) { printf(\ } return 0; } { int tmpX; /*********Found************/ ___________ // tmpX =*x; *x = *y; /*********Found************/ *y = x; //改为:*y = tmpX; } 7、考查点:结构体变量定义,结构体成员的输入、输出,程序D16.c的功能是worker2的信息使用结构体存储,从键盘读入其各项信息并显示。 #include int main(void) { struct WKER { long ID; long int num; char name[20]; char sex; /*********Found************/ } ; //改为:worker2; worker2.ID = 1L; /*********Found************/ scanf(\%s %s %s\ //改:%ld%s%c /*********Found************/ printf(\%s name=%s sex=%s\\n\ worker2.num, worker2.name, worker2.sex); //改为:%ld %c return 0; } 8、考查点:复合语句、变量作用域,程序D18.c的功能是从键盘上读入10个大于0的数,调用函数dispMaxNum显示其中最大的一个。 #include int maxiNum = 0; void dispMaxNum(); int main(void) { int i, oneNumber, maxNumber = 0; printf(\ { int maxNumber = 0; /*********Found************/ ___________ //{ for (i = 0; i < 10; i++) { scanf(\ if (oneNumber > maxNumber) { maxNumber = oneNumber; } } } /*********Found************/ ___________ // maxiNum = maxNumber /*********Found************/ ___________ //} dispMaxNum(); return 0; } void dispMaxNum() { /*********Found************/ printf(\ } 9、考查点:循环条件表示,循环体中改变循环条件,程序D1011.c的功能是从输入数据中统计正整数和负整数的个数。用输入0来结束输入,变量i存放正整数个数,变量j存放负整数的个数。 #include int main(void) { int i = 0, j = 0, n; printf(\ scanf(\ /*********Found*********/ while (______________) // n 或者n != 0 { if (n > 0) { i++; } if (n < 0) { j++; } /*********Found*********/ _________________________ // scanf(\} printf(\ return 0; } 10、考查点:枚举算法,for语句条件,条件判断,程序D1012.c的功能是显示用1、2、3、4个数字组成的互不相同且无重复数字的三位数。 #include int main(void) { int i, j, k; /*********Found************/ for (i=1; ; i++) //改为:i < 5 { for (j=1; j<5; j++) { for (k=1; k<5; k++) { /*********Found************/ if (i!=k && i!=j && ______) //j != k { printf(\ } } } } return 0; } 11、考查点:数组逆序存放,循环次数控制,换位操作的实现,程序D1013.c的功能 是将一个数组中的值按逆序重新存放。例如,原来顺序为8,6,5,4,1,要求改为1,4,5,6,8。 #include #define N 10 int main(void) { int a[N], i, temp; printf(\ for (i=0; i scanf(\ } printf(\ for (i=0; i printf(\ } printf(\ /*********Found************/ for (i=0; i temp = a[i]; /*********Found************/ a[i] = a[N-i]; //改为:a[N-1-i] /*********Found************/ a[N-i] = temp; //改为:a[N-1-i] } printf(\ for (i=0; i printf(\ } printf(\ return 0; } 12、考查点:排序算法的实现,排序条件,数据交换、字符数组的处理,程序D1014.c的功能是将字符数组a中元素从大到小排列(值相同的元素不交换位置)。 #include #include int main(void) { int i, j, k; char a[] = \ k = strlen(a); for (i=0; i for (j=i+1; j /*****Found*****/ if (a[i] > a[j]) //改为:a[i] < a[j] { t = a[j]; /*****Found*****/ a[i] = a[j]; //改为:a[j] = a[i] a[i] = t; } } } printf(\ return 0; } 13、考查点:数组元素下标,数组作函数参数,程序D1015.c的功能是定义一个整型数组,采用子函数实现数据输入。 #include void input(int a[], int n); int main(void) { int a[10], i; /*********Found************/ input(a[10], 10); //改为:a for (i=0; i<10; i++) { printf(\ } return 0; } void input(int a[], int n) { int i; for (i=0; i scanf(\ /*********Found************/ i--; //改为:i++ } } 14、考查点:函数调用,字符串结束标志的使用,程序D1018.c的功能是通过函数,将一个字符串中的元音字母复制到另一字符串,然后输出。 #include #include void vowel(char str1[], char str2[]); int main(void) { char str1[81], str2[81]; printf(\ gets(str1); /*********Found************/ vowel(________________); //改为:str1, str2 printf(\ puts(str2); if (strlen(str2) == 0) { printf(\ } return 0; } void vowel(char str1[], char str2[]) { int i, j = 0; /*********Found************/ for (i=0; ________________; i++) //改为:str1[i] { if (str1[i]=='A' || str1[i]=='E' || str1[i]=='I' || str1[i]=='O' || str1[i]=='U' || str1[i]=='a' || str1[i]=='e' || str1[i]=='i' || str1[i]=='o' || str1[i]=='u') { str2[j] = str1[i]; j++; } } str2[j] = '\\0'; } 15、考查点:函数声明、函数定义、函数调用,表达式统计,程序D1019.c的功能是计算输出10个学生的平均成绩。 #include /*****Found*****/ average(double x, y); //改为:double average和int y int main(void) { int i; double score, total; double aver; printf(\ scanf(\ for (i=2; i<=10; i++) { printf(\ scanf(\ /*****Found*****/ total = score; //改为:total = total + score; } aver = average(total, 10); printf(\ return 0; } /*****Found*****/ average(double x, y) ////改为:double average和int y { return x / y; } 16、考查点:递归函数定义(递归返回),函数头,程序D1020.c的功能是使用递归实现Fibonacci数的计算,Fn=Fn-1+Fn-2(1、1、2...,第7项为13)。 #include int f(int n); /*****Found*****/ int main(void); //改为:去掉‘;’ { printf(\ return 0; } int f(int n) { if (n <= 2) { /*****Found*****/ return 2; //改为:1 } return f(n - 1) + f(n - 2); } 17、考查点:函数声明,变量作用域,函数调用,函数定义,指针作为函数的参数,程序D1022.c的功能是通过一个加法子函数,输入两个浮点数,求和。 #include /*********Found************/ int add(float x, float y); //改为:float int main(void) float a, b; scanf(\ /*********Found************/ printf(\x, y)); //改为:a, b return 0; } /*********Found************/ float add(float x, float y); //改为:去掉’;’ { return x + y; } 18、程序D1054.C的功能是:从键盘读入两个整数,对它们进行按位异或操作,把操作结果按二进制位放在字符数组str中,最后输出该字符串。提示:第2个空建议使用条件表达式(?表达式)实现! Please input num1 and num2 : 127 0 127 ^ 0 = 00000000000000000000000001111111 图1 程序运行效果示例 Please input num1 and num2 : 123 456 123 ^ 456 = 00000000000000000000000110110011 #include int main(void) { unsigned long int number, num1, num2, mask; int i; char str[33]; printf(\ scanf(\ /*********Found************/ mask = __________________; //改为:0x80000000 number = num1 ^ num2; for(i=0; i<32; i++) { /*********Found************/ str[i] = __________________; //改为:(mask & number) ? ‘1’:’0’ mask >>= 1; } str[32] = '\\0'; printf(\ return 0; } 难度3 1、考查点:符号常量定义,const常量的使用,指针变量的移位操作,程序D10.c的功能是将字符串str2显示在屏幕上。 #include /*********Found************/ #define START //改为:#define START { /*********Found************/ #define NEXT //改为:#define NEXT } int main(void) { char *str2 = \ const int i = 0; for (printf(\ START putchar(str2[i]); /*********Found************/ i++; //改为:str2++ NEXT return 0; } 2、考查点:字符数组下标控制,字符串结束标志,条件表达,程序D13.c的功能是从键盘输入最多10个字符(遇换行则停止输入)到数组Buf中,然后在屏幕上显示。 #include int main(void) { char c, Buf[11]; int pos; /*********Found************/ for (pos = 1; pos <= 10; pos++) //改为:0和< { /*********Found************/ if ((c = getchar() == '\\n') //改为:后面加) { break; } Buf[pos] = c;
正在阅读:
C语言程序改错12-03
2010版证券从业资格《证券交易》全讲义12-17
论审计风险及其防范09-27
北师大海沧附校解一元一次方程习题集105-15
会计岗位面试题12-17
施工单位质量责任制度105-10
九年级数学下册 第3章 投影与三视图 3.2 简单几何体的三视图(第2课时)同步测试 (新版)浙教版05-02
(保过,已多次验证)项目经理继续教育考试 推荐课程1205-22
急性药物性肝炎56例临床分析05-18
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 语言程序
- 改错
- 摄影测量学讲义
- 道德
- 机动车安全技术检验作业指导书
- 高中英语人教版必修二Unit-2知识点汇总及强化练习
- CPU与存储器连接IO接口和总线
- 有横批的坟墓七字对联
- 12#层81216面规程
- 学校礼堂AV系统设计方案 舞台 音响 灯光 设计 - 图文
- 广东省实验中学2017届高三上学期10月月考理科数学试卷 Word版含答案 doc - 图文
- 08年“专转本”《计算机基础》练习试卷6
- 阳光体育系列活动内容与形式研究1
- 水力学(流体力学)实验指导书 - 图文
- 哪些原因导致天猫转让价格差异甚大
- 小学校本培训心得体会(精选多篇)
- 25公分槐树价格- 津城园苗木
- 最新人教版小学五年级数学下册第三单元练习题
- 浙美版四年级上册美术试卷
- 论勒柯布西耶的自由平面及其现代意义
- 大学物理B试题(B)
- 漫画作文练习