C语言程序改错第七次作业概要
第七次作业参考答案_668804622

printf("请输入第二个多项式的项数:"); scanf("%d", &m2); printf("请输入第二个多项式(一项一行升幂排列,格式: 系数 指数):\n"); head2 = create(m2); p0 = add(head1,head2); p = p0; while(p != NULL) { n++; p = p->next; } printf("\n相加后的多项式项数为:%d\n", n); printf("\n相加后的多项式为:\n"); print(p0); }
void print(struct student stu[]) { printf("姓名 \n"); for(int i=0; i<N; i++) printf("%-8s%-12s%-10s%-20s%-4d%-10s%-3c%-10s\n", stu[i].name, stu[i].num, stu[i].place, stu[i].id, stu[i].age, stu[i].address, stu[i].sex, stu[i].phone); } 学号 籍贯 身份证号 年龄 地址 性别 电话
void print(struct polynomial *head) { struct polynomial *p; p = head; while(p != NULL) { printf("%d %d\n", p->a, p->x); p = p->next; } }
struct polynomial *add(struct polynomial *head1, struct polynomial *head2) { struct polynomial *p1, *p2, *p3; p1 = head1; while(head2 != NULL) { p3 = head2; head2 = p3->next; while(((p1->x)<(p3->x)) && (p1->next!=NULL)) { p2 = p1; p1 = p1->next; } if(p1->x > p3->x) { if(p1 == head1) { head1 = p3; p3->next = p1; } else { p2->next = p3; p3->next = p1; } } else if(p1->x == p3->x) { p1->a = p1->a + p3->a; if(p1->a == 0) { if(p1 == head1) head1 = p1->next; else { p2->next = p1->next; p1 = p1->next; } } } else { p1->next = p3; p3->next = NULL; //p1移动至末尾 //若相加后该项的系数为0,则将其删去 //如果相等则相加 //如果p1的次数大 //找到插入点 //将后者往前者中插
C语言上机考试改错题分析总结

C语言上机考试改错题分析总结1、若错误行是函数首部,可分为以下几种情况:A、该行最后若有分号则删除,中间若有分号则改成逗号B、形参类型不一致的问题,特别是指针类型,若后面用到某形参时有指针运算则该形参必为指针类型;若形参是二维数组或指向m个元素的指针变量,则第二维的长度必须与main中对应数组的第二维长度相同C、函数类型不一致的问题,若函数中没有return语句则函数类型为void,若有return 语句则函数的类型必须与return后变量的类型一致。
2、若错误行是if或while语句,则首先看有没有用小括号将整个表达式括起,若没有则加上小括号。
3、若错误行中有if、while、for则要特别注意条件表达式的错误问题:A、指针变量的应用,若表达式中有指针变量且没有指针运算符,则加上指针运算符B、若条件表达式中只有一个等于号,则改成两个等于号,若为其它比较运算符则一般是进行逆转或加一个等于号C、for中要用分号分隔表达式,而不是用逗号4、语法错误A、语句缺少分号,若错误行中有语句没有用分号结束,则加上分号。
B、大小写不对,若错误行中有大写字母则一般都改成小写字母。
5、指针变量的运用,若错误行中有指针变量,并且该变量名前没有指针运算符则一般都是加上指针运算符6若错误行为return语句,则首先看是否是缺少分号若是则加上分号即可;否则就是return后的变量或表达式错误(此时可通过看题意,来分析该返回哪一变量或表达式)7、若错误行中见到整型1除以某个表达式时,一概改成1.0。
但若是整型变量或表达式则只能用强制转换8、复合运算符写错9、字符串结束符写错,若有字符串结束符则要特别注意有没有写错10、若错误行是定义语句,则首先看类型是否符合;再看所赋初值是否正确;若以上均不是,则看是否少定义了某个变量或少了花括号。
11、表达式错误(占的份量最多,并且没有统一的改法,我们只能通过题目要求来分析并修改)12、若错误行中有一条横线,则必须将横线删除再填空。
程序改错完整版---C语言

(一)功能:用选择法对数组中的 #include "stdio.h"n 个元素按从小到大的顺序进行排序#define N 20 void fun(int a[], int n){int i, j, t, k;for (j = 0 ;j < n-1 ;j++) {k = jfor (i = j+1;i < n; i++)if(a[i] >a[k])k=j; t = a[k] ; a[k] = a[j] ; a[j] = t;}}main(){int a[N]={9,6,8,3,-1},i, m = 5; printf(" 排序前的数据 :") ; for(i = 0;i < m;i++) printf("%d ",a[i]);printf("\n");fun(a,m);printf(" 排序后的数据 :") ; for(i = 0;i < m;i++)printf("%d ",a[i]);printf("\n");【参考答案】 k = j;【参考答案】 if(a[i] < a[k]) if(a[k] > a[i]) ERROR* ERROR* ERROR*参考答案】k = i;(二)功能:求广义菲玻那契级数的第n项。
广义菲玻那契级数的前n 项为:1 ,1,1,3,5,9,17,31,⋯⋯项值通过函数值返回main ( ) 函数。
例如:若n = 15 ,则应输出:The value is: 2209 。
#include "conio.h"#include "stdio.h" long fun ( int n ) {long a=1, b=1, c=1, d=1, k;ERROR*for (k=4; k<n; k++) {d = a+b+c;ERROR*a=bb=c; c=d;}ERROR*return k;}main( ){int n = 15;printf( "The value is: %ld\n", fun ( n ) ); }【参考答案】for (k=4; k<=n; k++) 【参考答案】a=b;【参考答案】return d;(三)功能:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。
c语言程序调试中错误或警告提示的中文对照概要

C语言错误提示Ambiguous operators need parentheses -------不明确的运算需要用括号括起Ambiguous symbol ''xxx'' ---------------- 不明确的符号Argument list syntax error ---------------- 参数表语法错误Array bounds missing ------------------ 扔掉数组界限符Array size toolarge ----------------- 数组尺寸太大 Bad character in paramenters ------ ------------ 参数中有不合适的字符Bad file name format in include directive ------------ 包含命令中文件名格式不正确Bad ifdef directive synatax ------------------ 编译预办理 ifdef 有语法错Bad undef directive syntax ------------------- 编译预办理 undef 有语法错Bit field too large ---------------- 位字段太长Call of non-function ----------------- 调用不决义的函数Call to function with no prototype ----------- 调用函数时没有函数的说明Cannot modify a const object ---------------不一样意修改常量对象Case outside of switch ----------------遗漏了 case语句Case syntax error ------------------ Case 语法错误 Code has no effect ----------------- 代码不能述不能能执行到Compound statement missing{ -------------------- 分程序遗漏 "{"Conflicting type modifiers ------------------ 不明确的种类说明符Constant expression required ----------------要求常量表达式Constant out of range in comparison --------------在比较中常量超出范围Conversion may lose significant digits ---------变换时会扔掉意义的数字Conversion of near pointer not allowed ---------------不一样意变换近指针Could not find file ''xxx'' -----------------------找不到XXX文件Declaration missing ; ---------------- 说明缺少 " ; " Declaration syntax error ----------- ------ 说明中出现语法错误Default outside of switch -------------- Default 出现在 switch 语句之外Define directive needs an identifier ---------定义编译预办理需要表记符Division by zero ------------------ 用零作除数Do statement must have while ----------- Do-while 语句中缺少 while 部分Enum syntax error --------------------- 列举种类语法错误Enumeration constant syntax error -----------------列举常数语法错误Error directive :xxx ------------------------ 错误的编译预办理命令Error writing output file ---------------------写输出文件错误Expression syntax error ----------------------- 表达式语法错误Extra parameter in call ------------------------ 调用时出现节余错误File name too long ---------------- 文件名太长Function call missing ----------------- 函数调用缺少右括号Fuction definition out of place ------------------ 函数定义地址错误Fuction should return a value ------------------函数必需返回一个值Goto statement missing label ------------------ Goto 语句没有标号Hexadecimal or octal constant too large -------16进制或 8 进制常数太大Illegal character ''x'' ------------------ 非法字符 x Illegal initialization ------------------ 非法的初始化Illegal octal digit ------------------ 非法的 8 进制数字Illegal pointer subtraction ------------------ 非法的指针相减Illegal structure operation ------------------ 非法的结构体操作Illegal use of floating point ----------------- 非法的浮点运算Illegal use of pointer -------------------- 指针使用非法Improper use of a typedefsymbol ----------------种类定义符号使用不合适In-line assembly not allowed ----------------- 不一样意使用行间汇编Incompatible storage class -----------------储藏种类不相容Incompatible type conversion -------------------- 不相容的种类变换Incorrect number format ----------------------- 错误的数据格式Incorrect use of default --------------------- Default 使用不当Invalid indirection --------------------- 无效的间接运算Invalid pointer addition ------------------ 指针相加无效Irreducible expression tree --------------------- 无法执行的表达式运算Lvalue required --------------------------- 需要逻辑值 0 或非 0 值Macro argument syntax error ------------------- 宏参数语法错误Macro expansion too long ---------------------- 宏的扩展今后太长Mismatched number of parameters in definition ----定义中参数个数不般配Misplaced break --------------------- 此处不应出现 break 语句Misplaced continue ------------------------ 此处不应出现 continue 语句Misplaced decimal point -------------------- 此处不应出现小数点Misplaced elif directive -------------------- 不应编译预办理 elifMisplaced else ---------------------- 此处不应出现 elseMisplaced else directive ------------------ 此处不应出现编译预办理elseMisplaced endif directive ----------------- 此处不应出现编译预办理endifMust be addressable ----------------------必定是能够编址的Must take address of memory location ---------------必定储藏定位的地址No declaration for function ''xxx'' ---------------- 没有函数 xxx 的说明No stack --------------- 缺少货仓No type information ------------------ 没有种类信息Non-portable pointer assignment -------- 不能搬动的指针(地址常数赋值Non-portable pointer comparison --------不能搬动的指针 (地址常数比较Non-portable pointer conversion --------不能搬动的指针(地址常数变换Not a valid expression format type ----------------- 不合法的表达式格式Not an allowed type --------------------- 不一样意使用的种类Numeric constant too large ------------------- 数值常太大Out of memory ------------------- 内存不够用 Parameter ''xxx'' is never used ----------- ------- 能数 xxx 没适用到Pointer required on left side of -> ------------符号->的左边必定是指针Possible use of ''xxx'' before definition ----------在定义从前就使用了xxx ( 警告Possibly incorrect assignment ----------------赋值可能不正确Redeclaration of ''xxx'' ------------------- 重复定义了 xxxRedefinition of ''xxx'' is not identical -------- xxx 的两次定义不一致Register allocation failure ------------------ 寄存器定址失败Repeat count needs an lvalue ------------------重复计数需要逻辑值Size of structure or array not known -----------结构体或数给大小不确定Statement missing ; ------------------语句后缺少 " ; " Structure or union syntax error -------------- 结构体或联合体语法错误Structure size too large ----------------结构体尺寸太大Sub scripting missing ] ---------------- 下标缺少右方括号Superfluous & with function or array ----------- 函数或数组中有节余的"&"Suspicious pointer conversion --------------------- 可疑的指针变换Symbol limit exceeded --------------- 符号超限Too few parameters in call -----------函数调用时的实参少于函数的参数不Too many default cases ----------------- Default 太多 (switch 语句中一个Too many error or warning messages -----------------错误或警告信息太多Too many type in declaration ----------------- 说明中种类太多Too much auto memory in function --------------- 函数用到的局部储藏太多Too much global data defined in file --------------- 文件中全局数据太多Two consecutive dots ----------------- 两个连续的句点Type mismatch in parameter xxx ---------------- 参数 xxx 种类不般配Type mismatch in redeclaration of ''xxx'' ----- xxx 重定义的种类不般配Unable to create output file ''xxx'' -------------- 无法建立输出文件xxxUnable to open include file ''xxx'' ----------- 无法打开被包含的文件xxxUnable to open input file ''xxx'' ---------------- 无法打开输入文件xxxUndefined label ''xxx'' ------------------- 没有定义的标号 xxxUndefined structure ''xxx'' ----------------- 没有定义的结构 xxxUndefined symbol ''xxx'' ----------------- 没有定义的符号 xxxUnexpected end of file in comment started on line xxx:从 xxx 行开始的解说还没有结束文件不能够结束Unexpected end of file in conditional started on line xxx :从 xxx 开始的条件语句还没有结束文件不能够结束Unknown assemble instruction ----------------未知的汇编结构Unknown option --------------- 未知的操作Unknown preprocessor directive: ''xxx'' ---------不认识的预办理命令xxxUnreachable code ------------------无路可达的代码Unterminated string or character constant------------- 字符串缺少引号User break ---------------- 用户强行中断了程序Void functions may not return a value ---- Void 种类的函数不应有返回值Wrong number of arguments -----------------调用函数的参数数目错''xxx'' not an argument ----------------- xxx 不是参数''xxx'' not part of structure ----------------- xxx 不是结构体的一部分xxx statement missing ( -------------------- xxx 语句缺少左括号xxx statement missing ------------------ xxx 语句缺少右括号xxx statement missing ; -------------------- xxx 缺少分号xxx'' declared but never used -------------------说了然 xxx 但没有使用xxx'' is assigned a value which is never used ----给 xxx 赋了值但未用过Zero length structure ------------------ 结构体的长度为零警告类错误1‘ XXX’ declare but never used变量 XXX 已定义但从未用过。
大学C语言期末考试练习题程序改错(带详解答案)

y=3.5+x;
printf(“y=%d”);
}
正确的:
int x; float y;
printf(“y=%f”,y);
6 编程计算下面分段函数, 输入 x, 输出 y
x 1 x 0 y 2x 1 0 x 10
3x 11 x 10
main() { int x,y;
第三处改为:if(n%3==0)
第四处改为:sum=sum+n;
8. 求表达式 c ab 的值
#include <stdio.h>
#include <math.h>
int fun(int x, int y);
main()
{ int a,b; float f; scanf(“%d,%d”,a,b); //与改错第 1 题中的 scanf 错误相同 if(ab>0){ // C 语言中乘号不能省略,且用*表示乘法运算 fun(a,b); // 调用带有返回值的函数,应将函数的返回值保存在变量里
} 第四行改为:for(j=0;j<5;j++) 第五行改为:scanf(“%d”,&a[j]); 第七行改为:for(j=1;j<5;j++) 第八行改为:if(max<a[j]) 第十三行改为:printf(“下标:%d\n 最大值:%d”, m,max)
3.用一个函数求两个数之和。 sum(x,y) //函数定义的一般形式 p173-174 { float z; z=x+y; return; //return 语句后面可以返回 0、常量、变量和表达式的值。 } main() { float a,b; int c; / /若定义变量的语句有错误,常见考点有两个:(1)变量的类型,(2)在定
c语言程序改错

c语⾔程序改错【程序改错】1.功能:利⽤递归函数调⽤⽅式,将所输⼊的5个字符,以相反顺序打印出来。
char next;next=getchar();palin(n-1);2.功能:求⼴义菲玻那契级数的第n项。
⼴义菲玻那契级数的前n项为: 1,1,1,3,5,9,17,31,……项值通过函数值返回 main ( )函数。
例如:若 n = 15,则应输出:The value is: 2209。
for (k=4; k<=n; k++)a=b;return d;3.功能:根据整型形参m,计算如下公式的值:y=1/2+1/8+1/18+...+1/2m*mdouble y=0.0;4.功能:编制统计营业员⼀天的营业额的程序,设程序采⽤⼀个循环实现,每次循环输⼊⼀笔交易⾦额并累计营业额。
由于营业员⼀天完成的交易次数是不确定的,为此以最后附加输⼊⼀笔0或负数交易额作为交易⾦额已全部输⼊结束的标志。
float sale,sigma;scanf("%f",&sale);sigma=sigma+sale;5.功能:读取7个数(1-50)的整数值,每读取⼀个值,程序打印出该值个数的*。
while(n<8) while(a<1||a>50);for(i=0;i6.功能:输出Fabonacci数列的前20项,要求变量类型定义成浮点型,输出时只输出整数部分,输出项数不得多于或少于20。
printf("%8f",f1);for(i=1;i<20;i++)f1=f2;f2=f3;7.功能:⼀个偶数总能表⽰为两个素数之和。
scanf("%d",&a);d=a-b;if(d%c==0)8.功能:利⽤⼆维数组输出如图所⽰的图形。
*******************************#define N 7a[i][j]=' ';z=z-1;printf("%c",a[i][j]);9.题⽬:求两个整数的最⼩公倍数。
c语言改错题题库及详解答案

c语言改错题题库及详解答案C语言是一种广泛使用的计算机编程语言,它以其高效性、灵活性和强大的功能而受到程序员的青睐。
然而,即使是经验丰富的程序员也难免会在编写C语言程序时犯一些错误。
下面是一个C语言改错题题库及其详解答案,帮助学习者识别并改正常见的编程错误。
题目1:错误的变量初始化```cint main() {int a;printf("%d", a); // 错误:变量a未初始化return 0;}```详解答案:在C语言中,如果一个变量在使用前没有被显式地初始化,它的值是不确定的。
为了修复这个错误,我们应该在声明变量时对其进行初始化。
```cint main() {int a = 0; // 正确的初始化printf("%d", a);return 0;}```题目2:错误的数组索引```cint main() {int arr[5] = {1, 2, 3, 4, 5};printf("%d", arr[5]); // 错误:数组索引越界return 0;}```详解答案:数组索引是从0开始的,所以对于一个有5个元素的数组,有效的索引范围是0到4。
访问数组的第6个元素会导致越界错误。
```cint main() {int arr[5] = {1, 2, 3, 4, 5};printf("%d", arr[4]); // 正确的索引return 0;}```题目3:错误的循环使用```cint main() {int i;for (i = 0; i <= 10; i++) {printf("%d ", i);} // 错误:循环条件错误return 0;}```详解答案:循环条件应该是`i < 10`,以确保循环不会无限执行。
```cint main() {int i;for (i = 0; i < 10; i++) {printf("%d ", i);}return 0;}```题目4:错误的函数调用```cint main() {int result = add(5, 3); // 错误:add函数未定义printf("%d", result);return 0;}```详解答案:在调用一个函数之前,需要确保该函数已经被定义。
C语言程序改错答案

C语⾔程序改错答案题⽬:下题是⼀段有关结构体变量传递的程序.答案:1). a.c='a';2). printf("%d,%c",a.x,a.c);3). b.c='y';题⽬:下列程序中,函数fun的功能是:先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串的后⾯。
例如:当s中的字符串为:“ABCDE”时,则t中的字符串应为:“ABCDEEDCBA”。
答案:1). for(i=0;i2). t[sl+i]=s[sl-i-1];3). t[sl+i]='\0';题⽬:编写函数fun其功能是在键盘上输⼊⼀个3⾏3列矩阵的各个元素的值(值为整数),然后输出矩阵第⼀⾏与第三⾏元素之积,并在fun()函数中输出。
答案:1). sum=1;2). for(i=0;i<3;i+=2) 或 for(i=0;i<3;i=i+2) 或 for(i=0;i<3;i++,i++)3). sum=sum*a[i][j]; 或 sum*=a[i][j];题⽬:函数fun的功能是:⽤下⾯的和式求圆周率的近似值。
直到最后⼀项的绝对值⼩于等于0.0001。
π 1 1 1— = 1 - — + — - — + ...2 3 5 7请改正程序中的错误,使它能得出正确的结果。
答案:1). #include "math.h"2). float s=0,t=1,p=1; 或 float s=0,p=1,t=1; 或 float p=1,s=0,t=1; 或 float p=1,t=1,s=0; 或 float t=1,p=1,s=0; 或 float t=1,s=0,p=1;3). while(fabs(t)>1e-4) 或 while(0.00010.0001)4). printf("pi=%f\n",★s★*★4★);题⽬:给定程序MODI1.C中函数fun的功能是:将长整型数中每⼀位上为奇数的数依次取出,构成⼀个新数放在t中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第七次作业——程序改错完成实验教程《C语言程序设计上机指导与习题》中的程序改错题:一、P155——四、程序改错1.从键盘输入两个整数,求出较大数并输出。
main(){ int x,y,max;/**********FOUND(1)**********/printf("%d %d",&x,&y);/**********FOUND(2)**********/if(x>y);max=x;/**********FOUND(3)**********/else(x<=y)/**********FOUND(4)**********/y=max;printf("max=%d\n",max);}2.从键盘输入一个实数,求其绝对值并输出。
main(){/**********FOUND(1)**********/int x,y;/**********FOUND(2)**********/scanf("%f",&x)if(x>=0)/**********FOUND(3)**********/y=-x;else/**********FOUND(4)**********/y=x;printf("y=%f\n",y);}3.从键盘输入x的值,求y的值并输出。
main(){/**********FOUND(1)**********/float x;scanf("%f",&x);/**********FOUND(2)**********/if(x>0);y=1;/**********FOUND(3)**********/else if(x=0)y=0;elsey=-1;/**********FOUND(4)**********/ printf("y=%f\n",x);}二、P166——四、程序改错1.求1+4+7+……+100之和。
main(){int s,i;s=0;/**********FOUND(1)**********/i=0;/**********FOUND(2)**********/while(i<100){s=s+i;/**********FOUND(3)**********/i+=1;}/**********FOUND(4)**********/printf("s=%f\n",s);}2.求1到100之间的奇数之和与偶数之和。
main(){int s1,s2,i;/**********FOUND(1)**********/s1=s2;for(i=1;i<=100;i++){/**********FOUND(2)**********/if(i/2==1)/**********FOUND(3)**********/s1=i; /*奇数之和*//**********FOUND(4)**********/else ifs2=s2+i; /*偶数之和*/}printf("s1=%d,s2=%d\n",s1,s2);}3.用循环程序求10的阶乘。
main(){/**********FOUND(1)**********/int p;int i;/**********FOUND(2)**********/p=0;/**********FOUND(3)**********/for(i=0;i<=10;i++)/**********FOUND(4)**********/p*i;printf("p=%ld\n",p);}4.求1*3*5*...*19之积。
main(){/**********FOUND(1)**********/int p;int i;/**********FOUND(2)**********/p=0;/**********FOUND(3)**********/for(i=1;i<=19;i++)p=p*i;/**********FOUND(4)**********/printf("p=%d\n",p);}5.从键盘输入一个正整数n,求1+2+3+...+n之和并输出。
main(){int i,n;long s;/**********FOUND(1)**********/s=1;/**********FOUND(2)**********/scanf("%d",n);/**********FOUND(3)**********/for(i=1;i<=n;++i)s=s+i;/**********FOUND(4)**********/printf("s=%d\n",s);}三、P171——四、程序改错1.在一个已按升序排列的数组中插入一个数,插入后,数组元素仍按升序排列。
注意:不可以增加或删除程序行,也不可以更改程序的结构。
#define N 11main(){int i,j,t,number,a[N]={21,22,44,46,47,49,112,115,149,156};printf("please enter an integer to insert in the array:\n");scanf("%d",&number);printf("The original array:\n");for(i=0;i<N-1;i++)printf("%5d",a[i]);printf("\n");for(i=N-2;i>=0;i--)/**********FOUND(1)**********/ if(number<a[i])/**********FOUND(2)**********/ a[i-1]=a[i];else{/**********FOUND(3)**********/ a[i]=number;/**********FOUND(4)**********/ continue;}if(number<a[0])a[0]=number;printf("The result array:\n");for(i=0;i<N;i++)printf("%5d",a[i]);printf("\n");}2.fun函数的功能是:实现3行3列矩阵的转置,即行列互换。
请改正程序中的错误,使它能得出正确的结果。
fun(int a[3][3],int m,int n){int i,j,t;for(i=0;i<m;i++)for(j=0;j<n;j++)/**********FOUND(1)**********/scanf("%d",a[i][j]);for(i=0;i<m;i++){for(j=0;j<n;j++)printf("%4d",a[i][j]);printf("\n");}for(i=0;i<m;i++)/**********FOUND(2)**********/for(j=0;j<n;j++){t=a[i][j];a[j][i]=a[i][j];a[j][i]=t;}for(i=0;i<m;i++){for(j=0;j<n;j++)printf("%4d",a[i][j]);printf("\n");}}main(){/**********FOUND(4)**********/int b[2][2];fun(b,3,3);}3.有一数组内放10个整数,要求找出最小数和它的下标,然后把它和数组中最前面的元素即第一个数对换位置.main( ){int i,a[10],min,k=0;printf("\n please input array 10 elements\n");for(i=0;i<=10;i++)scanf("%d", &a[i]);for(i=0;i<10;i++)printf("%d",a[i]);min=a[0];for(i=1;i<10;i++)/**********FOUND(2)**********/if(a[i]>min){min=a[i];k=i;}/**********FOUND(3)**********/a[k]=a[i];a[0]=min;printf("\n after eschange:\n");/**********FOUND(4)**********/ for(i=1;i<10;i++)printf("%d",a[i]);printf("\nk=%d\nmin=%d\n",k,min); }4.输入5个字符串,将其中最小的打印出来。
main(){/**********FOUND(1)**********/int str[10],temp[10];int i;/**********FOUND(2)**********/gets(&temp);for(i=0;i<4;i++){gets(str);if(strcmp(temp,str)>0)/**********FOUND(3)**********/strcpy(str,temp);}/**********FOUND(4)**********/printf("\nThe first string is:%s\n",temp[10]);}5.统计一行语句中的单词数。
#include "stdio.h"main(){int i,c,num=0,word=0;char string[81];gets(string);/**********FOUND(1)**********/for(i=0;(c=string[i])=='\0';i++);/**********FOUND(2)**********/if(c=32)word=0;/**********FOUND(3)**********/else if(word=0){/**********FOUND(4)**********/word=0;num++;}printf("there are %d words in the line\n",num);}四、P179——四、程序改错1. 题目:函数fun 的功能是:根据整型形参m 的值,计算如下公式的值。