C程式求改正,c語言程式求改正,

2022-09-25 16:20:33 字數 4469 閱讀 3060

1樓:

#include

#include

void date (int day,int month);

main()

/*呼叫函式的時候和函式實現的引數順序不一樣*//*p = date( month1,day1);

q = date(month2,day2);

*/p = date(day1, month1);

q = date(day2,month2);

w = p-q;

s=pow(2,w)*m;

print("%d\n",s);

}void date (int day,int month)sum=sum+day;

return;}

2樓:

你的**有如下錯誤:

1.s=pow(2,w)*m中pow()返回double型值,而s是整型,型別不匹配。要將s宣告為double型。

2.printf錯為print了。且因s是double型,所以printf("%d\n",s)應改為printf("%f\n",s)。

3.主函式中用到了函式date (int ,int)的返回值,所以要將void date (int day,int month)的實現改為int date (int day,int month),並將最後的return改為return sum,使其將計算結果返回。

4.主函式中呼叫date( month1,day1)函式的實參順序與date(int day,int month)的實現不匹配,應調整一下。

5.主函式中for(i=1;i<=n;i++)的}似乎應放在print("%d\n",s)後面才對,不然無論你輸入多少次,都只計算最後一次輸入的5個數。

3樓:淦海瑤

子函式沒有返回值

}sum=sum+day;

return sum; //這裡改一下}不知道你要幹什麼,只看懂了求兩個之間的差的天數w = p-q;

這裡最好用w=abs(p-q);

p = date( month1,day1);

q = date(month2,day2);

void date (int day,int month); 這裡實參和形參不對應

case 2:sum=31;break;

這裡沒有考慮閏年的情況

這個可以在最後面改一下

判斷是閏年的話,sum再加上1

4樓:匿名使用者

#include

#include

int date(int month,int day);

void main()

p = date( month1,day1);

q = date(month2,day2);

w = p-q;

s = pow(2,w)*m;//這一點pow問題尚不清楚printf("%d\n",s);//printf都拼錯了,少一個f}int date(int month ,int day)//上面函式呼叫中先是month再是day,

//函式定義應該和呼叫中引數一一對應

sum=sum+day;

return sum;//主函式中要用到運算後的sum,應該將它定義為返回值}

c語言程式求改正,

5樓:it孤鶩

# include

int isprime (int n);

int main (void)}}

printf ("\n");

return 0;

}int isprime (int n)

}return flag;}

6樓:暮影

您好:我看到您的錯誤應該是在主函式裡面的

for(i=100;i<=200;i++)

if(isprime(i))//這裡應該那個引數為i,而不是n的

c語言程式有錯,求改正!

7樓:聽不清啊

修改好了:

#include

#include

int main()

gets(c);fputs(c,fp1);

if(fclose(fp1))

if((fp1=fopen("fcopyin.txt","r"))==null)

if((fp2=fopen("fcopyout.txt","w"))==null)

while(!feof(fp1))

return 0;}

8樓:匿名使用者

char c[80],s[80]; 改成 char c[80],s; 即可

9樓:x炫酷小子

#include

#include

int main()

gets(c);fputs(c,fp1);

if(fclose(fp1))

if((fp1=fopen("fcopyin.txt","r"))==null)

if((fp2=fopen("fcopyout.txt","w"))==null)

while(!feof(fp1))

if(fclose(fp1))

if(fclose(fp2))

return 0;}

c語言 一個奇葩程式,求改正,求分析。

10樓:

#include "stdio.h"

void main()

st[1];

char c[20],d[20];

strcpy(st[0].name,"hello world");//namez至少得初始化吧

strcpy(c,"zhang san");

strcpy(d,st[0].name);

printf("%s %s",c,d);

}謝謝採納

11樓:veket的小號

一、無名結構型別 只有一個char 型成員二、st陣列只有一個元素 st[0]

st[0].name是char型字元變數 不是char* 型字元指標所以 用st[0].name 當做指標用, 野指標,\0當然必須有啦

12樓:

兩個錯誤:

st[0].name只是個char變數,不是陣列且還未初始化,所以strcpy(d,st[0].name);錯誤。

printf("%s %s",c[20],d[20]);應該是printf("%s %s",c,d);,不然與控制符不匹配。

13樓:匿名使用者

st[0].name不能直接使用,因為st還沒定義變數,沒分配記憶體。

想列印字串應使用printf("%s %s",c,d);,不是c[20],d[20]

c語言問題 求改正

14樓:汐_楓

int b=;

既是int型別,又有字串

還有呼叫函式finddd(a,150);宣告卻是void finddd(int x)

實在有點暈啊,請問你是用什麼軟體編的,這個**vc通不過

15樓:

為什麼迴圈裡是i=什麼什麼 不是a[i]=什麼什麼 這個問題真嚴重 你引用的時候函式兩個引數 寫的函式只有一個 你這程式只能重做了

16樓:匿名使用者

只發現這一行有問題,對你的想法不理解,else if(i!=b[j] || c[j] || d[j] || ' ')

c中判斷不能用這種樣式的連判,需要改成if(i!=b[j]||i!=c[j]||i!=d[j]||i!=' ')

17樓:匿名使用者

必須在你**的基礎上修改嗎

c語言**出錯,求改正..

18樓:匿名使用者

一開啟貼子就看見define語法錯誤。#define末尾不用加分號

19樓:匿名使用者

2樓正解,如果寫程式都寫到這地步了還出這問題。。。。。

c語言 有一個錯誤 求改正

20樓:匿名使用者

findbyname函式返回的是stud變數,而stu是一個指標=左右引數型別不匹配

需要修改findbyname函式

stud *findbyname(stud *str, int n, char name)

{int i;

for (i=0;i

21樓:

stu 變數型別是:stud *stu; 而你的查詢函式(stud findbyname)的返回值是:stud,這兩個當然是不相容的了。

C語言求程式,求C語言程式設計

求一個c語言完整程式 5 include define size 200 最長可以輸入200個數int main printf printf 一共 d個數 j 1 printf return 0 測試123123輸出結果是。一工6個數。int i,x,m,n 0,a 5 scanf d x for ...

求編寫C語言程式,求編寫一個C語言程式

include stdafx.h vc 6.0加上這一行.include stdio.h void main void i int tmp printf 請輸入前17位號碼 scanf s a for tmp i 0 i 17 i tmp a i 0 b i tmp 11 tmp 12 tmp 11...

求123100的C語言程式,用C語言程式設計求出123100的值

include int main void include stdio.h main printf d sum 經測試,合格 用c語言編一個程式,求1 2 3 100的和。如下 include int main 求採納 執行結果 include void main include int main ...