本文目錄一覽:
c語言大蝦進
(1)
void main(),前面的void表示返回指為空,如果是int那就要return一個int型,但是在int main()不寫返回值,也不會報錯,但是最好寫上養成寫標準代碼的習慣。
(2)
首先你要搞清楚#include….和#include”…..”的區別,前一個只能引用庫中的頭文件,後一個可以引用用戶自定義的和庫中的頭文件,所以你說的不是函數庫,那就有可能是用戶自己定義的。注意了哦,我沒給你說#include”…..”可以代替#include….,最好是庫的就寫成#include….,代碼效率問題。
(3)
同上
如果include”process.h”不是庫函數,很可能在process.h中引用了stdilb.h
(4)
上面已經寫過了。
c語言編程高手請進!
你這個程序要達到的目的是求出所有各學科的平均分、數學的最高分,英語最低分,以及滿分的人數,程序中/*…*/之間的東西是注釋,不進行編譯的,再就是第三個求平均分的函數裡面也許是你輸入錯誤?應當是求stu[i].c的分吧,再就是把點號寫成逗號,或語句結束沒加分號等,具體改正說明見如下注釋,希望能對你有所幫助。
#include “stdio.h”
struct student
{int number;
char name[15];
float english;
float math;
float c;
}stu[10]={{01,”aaa”,99.0,100.0,82.0},
{02,”aab”,85.0,90.0,100.0},
{03,”aac”,99.0,99.0,45.0},
{04,”aad”,85.0,45.0,78.0},
{05,”aae”,99.0,100.0,100.0},
{06,”aaf”,65.0,85.0,25.0},
{07,”aag”,80.0,100.0,98.0},
{08,”aah”,78.0,98.0,96.0},
{09,”aai”,78.0,98.0,98.0},
{10,”aao”,100.0,100.0,100.0}}; /*定義一個結構體數組並賦值,此處的注釋符號不要的*/
float average11() /*求數學科目的平均分*/
{int i;
float average1=0,sum1=0; /*定義變數還得初始化呀*/
for(i=0;i10;i++)/*要用個類似for循環語句求所有的數學分之和*/
sum1=sum1+stu[i].math;
average1=sum1/10;
return average1;
}
float average22() /*求英語科目的平均分*/
{int i;
float average2=0,sum2=0; /*定義變數還得初始化呀*/
for(i=0;i10;i++)/*要用個類似for循環語句求所有的英語分之和*/
sum2=sum2+stu[i].english;
average2=sum2/10;
return average2;
}
float average33() /*求c科目的平均分*/
{int i;
float average3=0,sum3=0; /*定義變數還得初始化呀*/
for(i=0;i10;i++)/*要用個類似for循環語句求所有的c分之和*/
sum3=sum3+stu[i].c; /*此處應當是求c的平均數吧?*/
average3=sum3/10;
return average3;
}
float maxx() /*求數學科目的最高分*/
{int i;
float max;
max=stu[0].math; /*stu[0].math裡面應當是符號.不是逗號,將第一個數學分賦予max*/
for(i=1;i10;i++) /*此處i初始值改為1,即從第二個數學分開始和第一個數學分比較大小*/
if(maxstu[i].math)
max=stu[i].math; /*stu[i].math裡面應當是符號.不是逗號,*/
return max;
}
float minn() /*求英語科目的最低分*/
{int i;
float min;
min=stu[0].english; /*stu[0].english裡面應當是符號.不是逗號,將第一個英語分賦予min*/
for(i=1;i10;i++) /*此處i初始值改為1,即從第二個英語分開始和第一個英語分比較大小*/
if(minstu[i].english)
min=stu[i].english; /*stu[0].english裡面應當是符號.不是逗號,*/
return min;
}
int countt() /*統計c科目滿分100的個數*/
{int i,count=0;
for(i=0;i10;i++) /*使用循環語句啊!*/
if(stu[i].c==100)
count++;
return count;
}
/*還是注釋符號的問題*/
main()
{int i,count;/* 重複定義i幹嗎呢?*/
float max,min,average1,average2,average3; /*還是注釋符號的問題*/
max=maxx();
min=minn();
average1=average11();
average2=average22();
average3=average33();
count=countt();/*還是注釋符號的問題,且語句後面要以分號;結束呀*/
printf(“number name english math c\n”); /*num應當是name吧!*/
for(i=0;i10;i++)
printf(“%d %s %f %f %f \n”,stu[i].number,stu[i].name,stu[i].english,stu[i].math,stu[i].c);
printf(“average\n”); /*還是注釋符號的問題*/
printf(“%f,%f,%f\n”,average1,average2,average3);
printf(“shuxuezuidazhi\n”);
printf(“%f\n”,max);
printf(“yingyuzuixiaozhi\n”);
printf(“%f\n”,min);
printf(“cyuyanmanfen\n”);
printf(“%d\n”,count);/*還是注釋符號的問題*/
}
菜鳥的簡單問題!會C語言的大蝦請進~
首先,第一道根本不用浪費時間去思考,因為那樣的編程是最爛的,沒任何意思,是有些參考書的”中國特色”,毫無意義.良好的編程要有簡單性,讓人一看就懂,即使是好的程序員,也不一定記得住那麼多條條框框,他們一般使用括弧來標識優先性,那才是好的程序.記住,程序讓別人看得懂,看得明白,看得寬心那才叫程序.
然後,第二道x=$%06d,%d說明以十進位格式輸出,6指明輸出位數為6位,且以右對齊方式輸出,不足以空格填充,而0說明用0填充不足的空格,即以0代替空格.故有x=$000127.(x=0177為八進位,轉化為十進位為127)
補充:第一題你只要懂得前自增跟後自增的區別就行,其實很多程序自增都是用在循環中,前後自增都一樣,只不過考試那些東西才那麼死板,老是抓住那不放,抗議中國式考試
關於C語言入門菜鳥的問題,請大蝦進來看看!
C和C++是兩種語言,編程思想不同,前者是面向過程的,後者是面向對象的如果同時學會把自己的編程思想弄得非常混亂,建議學面向對象的,現在都轉向面向對象的了,學習C和C++可以選擇在電腦中裝微軟公司的Visual Studio中的Visual C++即人們常說的VC,希望對你有幫助
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/290796.html