c語言程序改錯
⑴ C語言編程改錯
#include<stdio.h>
#include<math.h>
#include"math.h"
floatfun(intn)
{
	inti=0,sum=0;
	floats=2.0f;
	for(i=1;i<=n;i++)
	{
		sum=sum+i;
		if(sum==1)continue;
		printf("(1+..%d)+1=%d
",i,sum+1);
		s=s/(sum+1);
		printf("%0.16f
",s);
	}
	returns;
}
intmain()
{
	
	
	fun(10);
	return0;
}
⑵ C語言代碼改錯題

#include <stdio.h>
int main(void)
{
int flag, n;
double eps, item, s;
printf("Input eps:");
scanf("%lf", &eps);
flag = 1;
s = 0;
n = 1;
do
{
item = 1.0 / n;
s = s + flag * item;
flag = -flag;
n = n + 3;
} while (item >= eps);
printf("s=%f ", s);
return 0;
}
⑶ C語言程序改錯題
答:改錯如下所示,在程序錯誤部分有提示。
#include <stdio.h>
int main (void){
int a,b,c,max;//第一處錯誤,max定義未使用,t未定義卻使用了。有兩種解決辦法,將下面t出現的地方用max代替,或者重新定義t,取消對max的定義。
printf (""請輸入3個整數: ");
scanf ("%d%d%d" , &a ,&b,&c);
if (a<b);//第二處錯誤,if語句後有對應的操作,不能出現分號,否則會變成空語句,對應的操作也不會執行。此處刪除分號,即可。
{t=a; a=b; b=t; }//第三處錯誤,t未定義,建議替換成max
。
if (a<c)
{t
=a; c=a
; c=t; }//第四處錯誤,t未定義,還有第二個語句應改為a=c
。
if(b>c)//第五處錯誤,按降序排序,判斷條件應改成b<c
。
{ t
=b; b=c; c=t
;}//第六處錯誤,t未定義,建議用max替換。
printf("由大到小順序為:%d %d %d " ,a,b,c);
return 0;
}
⑷ C語言程序改錯題,為什麼if(a小於b),max=a,要把a的值賦給max
max=a;
a=b;
b=max;
這是一個交換兩變數的過程,作用是交換兩個變數的值
首先把a的值賦給max
然後把b的值賦給a
最後把max賦給b,由於max的值是原來a的值,所以b相當於得到了a的值
交換過程結束
所以:
if (a < b) { .... }表示,如果a小於b,則交換a與b
if (a < c) { .... }表示,如果a小於c,則交換a與c
