改错练习 1. 语法错误 2. 缺少头文件 3. 函数相关的错误 4. 功能是否实现问题 5. 指针使用问题 6. 循环次数和终止
7. 字符型数组和指针存储字符串的时候的差异 程序改错练习、、
1. 求1,2,3,4,5,6,….n的 乘积
#include
scanf(\ printf(“\\n”);
while(i printf(\ } 2.求一个数组中最大值及其下标。 #include for(j=1,j<=5,j++) scanf(“%d”,a); max=a[1]; for(j=1;j<=5;j++) if(max>a[j]) { max=a[j]; m=j; printf(“下标:%d\\n最大值:%d”, j, max) printf(“下标:%d\\n最大值:%d”, m,max); } 3.用一个函数求两个数之和和之积。 sum(x,y) { float z1,z2; z1=x+y; z2=x*y return z1,z2; } Main() { float a,b; printf(“Input a,b”); scanf(“%d%d”,a,b); printf(“a+b=%d\\t a*b=%d\\n”,sum(a,b)); } 4. 调用函数swap()实现交换主函数中(实参)变量a,b的值。 #include void swap(float * a, float * b) { float x; x=a,a=b,b=x; } Void main() { float a=10,b=20; swap(a,b); printf(“a=%f/tb=%f\\n”,a,b) } 5. 用指针实现变量a的值的输入,输出 #include Int a; printf(“Input a:\\n”); int *p; scanf(“%d”,p); a=*p; printf(“\\n a=%d\\n”,&a); } ; 6. 字符串组的输入输出 #include { char print(char *str[],int n); char s[M][N]; char *ps[M]; int I; p=s; for(i=1;i<=M;i++) gets(&ps[i]); print(ps[0]); ] char print(char *str[],int n) { int I; for(i=0;i 8. 调用函数fun()实现字符串组中的所有字符串的连接 #include char *new; for(i=0;i<10;i++) strcat(new,pstr[i]); return(new); } void main() { char *str[]={“I”,”like”,”programming”,”very”,”much”,”!”}; printf(“%s”,fun(str)); } 9. 下面程序的功能是对a数组中的元素按从大到小的顺序排序 #include int a[N]={2,17,8,3,24,53,82,1,29,101}; int i,j,k,t; for(i=0;i<9;i++) { k=i; for(j=i+1;j<10;j++) if(a[j] t=a[j]; a[j]=a[i]; a[i]=t; } } } 10. 下面程序的功能是交换变量a和b中的值 #include main() { int a,b,*p,*q,*t; p=&a; q=&b; printf(\请输入变量a和b的值:\ scanf(\ *t=*p ; *p=*q ; *q=*t printf(\交换后a和b的值:a=%d } 11. 假设某袋子中装有3个红球,5个白球,6个黑球,现从该袋子中任意取出8个球,下 面程序的功能是输出这8个球中至少有一个白球的所有方案。 #include main() { int i,j,k; for(i=0;i<=3;i++) for(j=0;j<=5;j++) { k=8-i-j; if(0<=k<=6) printf(“hong=%d\\t,bai=%d\\t, hei=%d\\t\\n”,i,j,k); } } 12.以下程序有若干语法错误。 #include struct date { int y;m;d; } struct stu { char n[10]; struct date b; int a; -s=,“Wang”,,1980,11,11-,30-; b=%d\\n\ main() { printf(“%c,%d,%d\\n”,s.n,s) } 根据程序写出结果 1.#include int i=16,j,x=6; j=i+++1; x*=i=j; printf(“%d,%d\\n”,j,x); } 2. #include void fun(void); static int a=5; int b; b=n; printf(“main_a=%d,b=%d,n=%d\\n”,a,b,n); fun(); printf(“main_a=%d,b=%d,n=%d\\n”,a,b,n); fun(); } void fun(void) { static int a=6; int b=4; a=a+2; n=n+5; b=b+n; printf(“fun_a=%d,b=%d,n=%d\\n”,a,b,n); } 3.#include int a=1,b=4,c=2; float x=10.5,y=4.0,z; z=(a+b)/c+sqrt((double)y)*1.2/c+x; printf(“%f\\n”,z); 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库c语言程序设计 改错和根据程序写结果的练习在线全文阅读。
相关推荐: