1、 c3=c3+4; c4=c4+4; c5=c5+4; printf(%c%c%c%c%cn,&c1,&c2,&c3,&c4,&c5); 需改进处 return 0; 问题分析:输出函数printf书写错误,加上了&符号解决方法:删除& p.s.输入函数scarf是才需要(“%?”,&?)改进后:,c1,c2,c3,c4,c5); 改进处用户屏幕:实验(二) 数列计算利用循环语句对简单规律的数列进行混合运算将整个混合计算分解为对单个独立规律的数列的计算。以此计算自然数列1+2+3+4,平方数列1*1+2*2+3*3+4*4,分母为自然数的数列1/1+1/2+1/3+1/4.最后将三个数列的和汇
2、总。float sum=0,sum1,sum2,sum3,i1,i2,i3;for(sum1=0,i1=1;i14;i1=i1+1)sum1=sum1+i1;for(sum2=0,i2=1;i2i2=i2+1)sum2=sum2+i2*i2;for(sum3=0,i3=1;i3i3=i3+1)sum3=sum3+(1/i3); sum=sum1+sum2+sum3;sum=%fn,sum); return 0;实验(三)显示改进将书上的例子进行改进,使显示出的结果更加清晰明了在书本内原有基础上增加一个计数变量i,每循环一次是使技术变量增加1int n,i=0; for(n=100;n=200;
3、n+) if(n%3=0) continue;%d,n); i+; if(i%5=0)n); 单个数字输出之间无间隔,使用户易读取错误数字对输出进行限制,例如改为“%5d”%5d实验(四)使显示出的结果更加清晰明 在不使用实验三的计数变量的情况下,通过增加计数循环来控制换行int i,j; for(i=1;i=4;i+) 需改进处 for(j=1;jint sign=1,n=1.0; double Pi,Sn=0.0,time; 需改进处while(fabs(1/n)=1e-6) Sn=Sn+sign*(1/n); n=n+2; sign=-sign; Pi=4*Sn;time=(n-1)/2
4、;Pi=%fntime=%d,Pi,time);输出不正确,Pi=4由于n定义为整型,所以虽然Pi是双精度实型,但是输出仍旧只能是整型,故应将n定义为双精度实型int sign=1; double Pi,Sn=0.0,time,n=1.0; 改进处Pi=%fntime=%dn实验(六)循环语句互换 输出三个数字就换行;将for循环语句用while循环语句代替 将for语句第一分句提到while结构之前。第二语句以及for循环内容合并作为while语句内容。第三分句改为while内部限制条件。int f1=1,f2=1,f3; int i;%dn%dn,f1,f2);i=1; while(iA&
5、cz m=m+1; else if(c= n=n+1; else if(c09 p=p+1; else q=q+1;letter=%d,space=%d,number=%d,other=%dn,m,n,p,q); (输入内容为12 *&mo)实验(八)数组使用 从a1开始使用数组 利用for循环,设定i为计数变量,i从1考试赋值int a11,i,j,t;please enter 10 numbers to ain=10;i+) ai); for(j=1;j+)=10-j;i+) if(aiai+1) t=ai; ai=ai+1; ai+1=t;,ai);printf(实验(九)排序训练自己基
6、础算法设计能力 通过循环来进行一次筛选。将两两比较中,小的一个数换为编号小的数,一次进行,直到每两个相邻的数都进行一次比较。起泡法。int a10,i,j,t; for(i=0;=9; for(j=0;=9-j;实验(十)二维数组使用 交换顺序输出矩阵 通过两个循环来分别控制行和列的循环,按照循环的顺序在for语句中加入矩阵内数字的递推公式。int a23=1,2,3,4,5,6; int b32,i,j;Array a:=1;for(j=0;=2; printf(,aij); 需改进nArray b: bji=aij; printf(,bji);编写时格式没有正确输出,是123456;152
7、436这样的只用在第二层for循环内加 printf(就行了,因为第二层for 循环本来就是要显示完整个一行以后才出现第二行的内容for(j=0; 改进 for(i=0;i+) 实验(十一)对数组内数值进行排序,并输出最大数值所在的编号采用实验九的排序方法,每比较一次,则将i值替换为n值,由n来体现编号,并且在程序最后增加输出nint max,a34,hang,lie,i,j; int a34=1,2,3,4,5,6,7,8,9,10,11,12; max=a00;for(i=0;=3; if(aijmax) max=aij; hang=i; lie=j;max=%dnhang=%dnlie=
8、%d,max,hang,lie);数组的定义与初始化没有区分清楚,造成重复定义改进方案:删除int a34,只保留初始化行int max,hang,lie,i,j;max=%dnhang=%dnlie=%dn实验(十二)字符串函数比较的探究字符串比较函数中,str1大于/小于/等于str2会输出什么数字?利用字符串比较函数编写比较函数,改变被比较值进行试验,从而得到具体数值string.hint a; a=strcmp(,a);(改变的值为:a/a,a/c,c/a;分别得到结果0/-1/1)a/aa/cc/a实验(十三)比较字符串大小比较大小,并输出结果利用strcmp函数进行比较,由strc
9、py函数进行对换,最后输出结果 #include0) strcpy(max,str1); else strcpy(max,str2);if(strcpy(str3,max) strcpy(max,str3);the max string is %cn,max);输出总为“0”将输出格式改为字符串%sthe max string is %sn实验(十四)统计训练字符数组的使用能力先输入字符数组,在逐个扫描统计各个字符数量 char str380; int i,j,m=0,n=0,p=0,q=0,w=0,s; gets(str380);=79; if(strijstrij n+; p+; else
10、 if(strij= q+; else w+;there are %d capital letters,%d small letters,%d numbers,%d spaces,%d other sighs.n,m,n,p,q,w);编写“输入数组”错误写成了gets(str380)添加循环,分行输入 for(s=0;ss+) gets(strs);实验(十五)连续输出字符数组 不使用strcpy函数进行连续输出 输入两个字符串,用scanf函数连续输出char str181,str281;%s%sn,str1,str2);实验(十六)输出字符串不适用strcpy函数进行覆盖输出输入两个字符
11、串,用if语句进行比较,用赋值语句进行覆盖,在输出被覆盖的字符 char s281,s181; gets(s2); gets(s1);s2i!0 s1i=s2i; printf(string s1=%sn,s1);由于定义字符数组时写的是【81】,结果输出结果是中间未利用的部分就造成乱码现象定义短些,或者直接输入字符串,不由用户输入字符串char s2=a ,s1=def实验(十七)斐波那契数列利用函数编写斐波那契数列 将斐波那契数列的递推公式定义为函数F,通过函数进行计算int n,m; int F(int x);please enter n.nn); m=F(n);F(n)=%dn,m); retur
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1