c語言100個經典例題(c語言經典編程題)
- 夕逆IT
- 數(shù)據(jù)庫
- 2023-08-13
- 313
大家好,今天來為大家解答c語言100個經典例題這個問題的一些問題點,包括c語言經典編程題也一樣很多人還不知道,因此呢,今天就來為大家分析分析,現(xiàn)在讓我們一起來看看吧!如...
大家好,今天來為大家解答c語言100個經典例題這個問題的一些問題點,包括c語言經典編程題也一樣很多人還不知道,因此呢,今天就來為大家分析分析,現(xiàn)在讓我們一起來看看吧!如果解決了您的問題,還望您關注下本站哦,謝謝~
c語言100行簡單一點的代碼
#include<malloc.h>
#include<stdio.h>
#include<stdlib.h>
#defineLENsizeof(structscorenode)
#defineDEBUG
#include<string.h>
structscorenode
{intnumber;/*學號*/
charname[10];/*姓名*/
floatyuwen;/*語文成績*/
floatyingyu;/*英語成績*/
floatshuxue;/*數(shù)學成績*/
structscorenode*next;
};
typedefstructscorenodescore;
intn,k;/*n,k為全局變量,本程序中的函數(shù)均可以使用它*/
/*==============================================================================================*/
score*creat2311(void)
/*函數(shù)creat2311,功能:創(chuàng)建鏈表,此函數(shù)帶回一個指向鏈表頭的指針*/
{
score*head;
score*p1,*p2,*p3,*max;
inti,j;
floatfen;
chart[10];
n=0;
p1=p2=p3=(score*)malloc(LEN);head=p3;/*開辟一個新單元*/
printf("請輸入學生資料,輸0退出!\n");
repeat1:printf("請輸入學生學號(學號應大于0):");/*輸入學號,學號應大于0*/
scanf("%d",&p1->number);
while(p1->number<0)
{getchar();
printf("輸入錯誤,請重新輸入學生學號:");
scanf("%d",&p1->number);}
/*輸入學號為字符或小于0時,程序報錯,提示重新輸入學號*/
if(p1->number==0)
gotoend;/*當輸入的學號為0時,轉到末尾,結束創(chuàng)建鏈表*/
else
{
p3=head;
if(n>0)
{for(i=0;i<n;i++)
{if(p1->number!=p3->number)
p3=p3->next;
else
{printf("學號重復,請重輸!\n");
gotorepeat1;
/*當輸入的學號已經存在,程序報錯,返回前面重新輸入*/
}
}
}
}
printf("請輸入學生姓名:");
scanf("%s",&p1->name);/*輸入學生姓名*/
printf("請輸入語文成績(0~100):");/*輸入語文成績,成績應在0-100*/
scanf("%f",&p1->yuwen);
while(p1->yuwen<0||p1->yuwen>100)
{getchar();
printf("輸入錯誤,請重新輸入語文成績");/*輸入錯誤,重新輸入語文成績直到正確為止*/
scanf("%f",&p1->yuwen);}
printf("請輸入英語成績(0~100):");/*輸入英語成績,成績應在0-100*/
scanf("%f",&p1->yingyu);
while(p1->yingyu<0||p1->yingyu>100)
{getchar();
printf("輸入錯誤,請重新輸入英語成績");/*輸入錯誤,重新輸入英語成績直到正確為止*/
scanf("%f",&p1->yingyu);}
printf("請輸入數(shù)學成績(0~100):");/*輸入數(shù)學成績,成績應在0-100*/
scanf("%f",&p1->shuxue);
while(p1->shuxue<0||p1->shuxue>100)
{getchar();
printf("輸入錯誤,請重新輸入數(shù)學成績");
scanf("%f",&p1->shuxue);}/*輸入錯誤,重新輸入數(shù)學成績直到正確為止*/
p1=head;
p0=stu;
if(head==NULL)
{head=p0;p0->next=NULL;}/*當原來鏈表為空時,從首結點開始存放資料*/
else/*原來鏈表不為空*/
{
if(p1->next==NULL)/*找到原來鏈表的末尾*/
{
p1->next=p0;
p0->next=NULL;/*將它與新開單元相連接*/
}
else
{
while(p1->next!=NULL)/*還沒找到末尾,繼續(xù)找*/
{
p2=p1;p1=p1->next;
}
p1->next=p0;
p0->next=NULL;
}
}
n=n+1;
p1=head;
p0=stu;
for(i=1;i<n;i++)
{
for(j=i+1;j<=n;j++)
{
max=p1;
p1=p1->next;
if(max->number>p1->number)
{
k=max->number;
max->number=p1->number;
p1->number=k;
/*交換前后結點中的學號值,使得學號大者移到后面的結點中*/
strcpy(t,max->name);
strcpy(max->name,p1->name);
strcpy(p1->name,t);
/*交換前后結點中的姓名,使之與學號相匹配*/
fen=max->yuwen;
max->yuwen=p1->yuwen;
p1->yuwen=fen;
/*交換前后結點中的語文成績,使之與學號相匹配*/
fen=max->yingyu;
max->yingyu=p1->yingyu;
p1->yingyu=fen;
/*交換前后結點中的英語成績,使之與學號相匹配*/
fen=max->shuxue;
max->shuxue=p1->shuxue;
p1->shuxue=fen;
/*交換前后結點中的數(shù)學成績,使之與學號相匹配*/
}
}
max=head;p1=head;/*重新使max,p指向鏈表頭*/
}end2:
printf("現(xiàn)在的學生數(shù)為:%d個!\n",n);
return(head);
}
/*==============================================================================================*/
/*==============================================================================================*/
score*search2311(score*head)
/*函數(shù)search2311,功能:查詢學生成績*/
{intnumber;
score*p1,*p2;
printf("輸入要查詢的學生的學號,");
scanf("%d",&number);
while(number!=0)
{
if(head==NULL)
{printf("\n沒有任何學生資料!\n");return(head);}
printf("-----------------------------------------\n");
printf("|學號\t|姓名\t|語文\t|英語\t|數(shù)學\t|\n");
printf("-----------------------------------------\n");/*打印表格域*/
p1=head;
while(number!=p1->number&&p1->next!=NULL)
{p2=p1;p1=p1->next;}
if(number==p1->number)
{printf("|%d\t|%s\t|%.1f\t|%.1f\t|%.1f\t|\n",p1->number,p1->name,p1->yuwen,p1->yingyu,p1->shuxue);
printf("-----------------------------------------\n");}/*打印表格域*/
else
printf("%d不存在此學生!\n",number);
printf("輸入要查詢的學生的學號,");
scanf("%d",&number);
}
printf("已經退出了!\n");
return(head);}
c語言題目:10名評委給一名比賽選手打分。要求用3個函數(shù)實現(xiàn)
#include
#include
inta[100];
intmain()
{
inti,n,x;
intmax=0,min=10000;
printf("請輸入幾個評委:
");
scanf("%d",&n);
intsum=0;
for(i=1;ia[i])min=a[i];
sum=a[i];
}
sum-=max-min;//減去最高分和最低分(前提評委數(shù)大于2)
doubleavg=double(sum)/(n-2);//平均分
min=100000;
for(i=1;ifabs(a[i]-avg))
{
min=fabs(a[i]-avg);
x=i;
}
}
printf("第%d評委與平均分最接近
",x);
return0;
}。
c語言填空題和改錯題技巧
以下是一些技巧和建議:
填空題技巧:
1.仔細閱讀題目:確保你完全理解題目要求和上下文背景。
2.分析代碼邏輯:根據(jù)已有的代碼和題目要求,推理出缺失部分的代碼邏輯。
3.注意語法和語義:填寫的代碼應符合C語言的語法規(guī)則,并且邏輯上與原代碼一致。
4.考慮邊界情況:考慮特殊情況和邊界條件,確保填寫的代碼在各種情況下都能正確運行。
改錯題技巧:
1.仔細分析錯誤:確定代碼中的錯誤類型,例如語法錯誤、邏輯錯誤或者運行時錯誤。
2.逐行檢查代碼:從頭到尾仔細檢查代碼,查找可能存在的錯誤。
3.理解錯誤提示:如果編譯器或調試器提供了錯誤提示信息,仔細閱讀并理解其中的提示,它們可能會指引你找到錯誤的位置。
4.運行代碼進行調試:嘗試運行代碼,觀察程序的行為并使用調試工具進行逐步調試,以便找到錯誤所在。
5.測試和排除錯誤:通過輸入不同的測試數(shù)據(jù),觀察代碼的輸出和行為,逐步排除錯誤并修復代碼。
總的來說,對于填空題和改錯題,理解題目要求、熟悉C語言的語法和邏輯,并進行仔細的檢查和測試是關鍵。不斷練習和積累經驗也能提高解決這類問題的能力。
c語言題目:有13個人圍成一圈,順序排號,報數(shù),凡報到3的就退出,問最后留下來的是原來第幾號的那位
#include
intmain()
{
inta[13]={0},*p=&a[12],i=1,*p1;
while(1)
{
do{
p++;
p=a+(p-a)%13;//指針p超出數(shù)組范圍時自動回0
}
while((*p)==1);//如果成員是被踢出的則繼續(xù)順延
if(p1==p)break;elsep1=p;//當只剩一個成員時候跳出
if(i++%3==0)*p=1;//指針指到的成員出局
}
printf("最后剩下第%d個人",p1-a+1);
return0;
}
c語言拍照搜題軟件哪個好
大學c語音搜題APP是一款主要為現(xiàn)代的大學生提供的教學軟件,特別適合于大學理科類的學生,關于各種計算機,各種機械設計,或者是其他涉及到計算規(guī)則C語言方面的教程都可以在這個平臺上面進行搜索相關的題目解析,以及各種教程資料。
c語言中值得討論的話題
C語言作為當今世界最流行和最重要的語言之一,有許多值得討論的話題,大致可以分為以下幾類:
一是學習類,就是討論如何才能學好C語言,如何解決C語言編程過程中的各類問題等,二是前途類,就是討論學習C語言可以找到哪些好的工作,可以發(fā)揮什么樣的作用,崗位薪資等話題。希望以上回答可以幫助到您。
關于c語言100個經典例題的內容到此結束,希望對大家有所幫助。
本文鏈接:http:///su/1517.html