當前位置:首頁 » 編程語言 » 點評賽車c語言程序
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

點評賽車c語言程序

發布時間: 2022-09-18 23:28:47

『壹』 4名專家對賽車評論。A說:2號賽車最好。B說:4號賽車是最好的。C說:3號賽車不是最佳賽車。D說:B說錯了

I don't look back,I always have plenty of reasons to look ahead! 我不會回頭看,我總是有足夠的理由向前看!

『貳』 c語言幫忙啊

假設B說的是對的,D反對,那麼B和D只有一個對的.因為車手中只有一名車手是對的,那麼否定A,可以斷定2號車不是最好的.同時也否定了C的說法,那麼C說的3號車不是最好的是錯的,所以D說的是對的,同時3號車是最好的.

所以設定的初始條件有隻有一個人說的是對的,只有一輛車是最好的.
所以應該從車手的角度來判斷問題,否定上面的答案.
第一步:如果A是正確的,那麼C和D的說法也是正確的,所以不能滿足只有一個人說的是對條件,所以A肯定不正確,也就排除了A和2號車.
第二步:如果B是正確的,那麼D的說法是錯誤.但C的說法是正確的,不滿足設定的條件,那麼排除了B和4號車
第三步:如果C是正確的,那麼B或者D是正確,不能滿足上述條件,所以C說的是錯誤,但是可以確定3號車;
第四步:如果D是正確的,由於排除了ABC的錯誤說法,所以D的說法是正確的.

四個循環

所以從數據結構的角度出發,定義好數據結構,明確各個關系非常重要,只有這樣才能有一個明確的判斷

『叄』 c語言題目枚舉法做題

#include"stdio.h"
intmain()
{
intcar;
inta[4];
inti;
for(car=1;car<5;car++)
{
a[0]=(car==2);
a[1]=(car==4);
a[2]=(car!=3);
a[3]=(car!=4);
if((a[0]+a[1]+a[2]+a[3])==1)
{
printf("最佳賽車是%d號 ",car);
for(i=0;i<4;i++)
{
if(a[i])printf("正確的專家是%c ",'A'+i);
}
}
}
return0;
}

結果:

最佳賽車是3號
正確的專家是D
請按任意鍵繼續. . .

『肆』 賽車游戲的邁(速度),C語言怎麼實現

另外定義一個加速度,在循環裡面加速度增加,在把加速度加到速度上 例如: int spead=0;//速度 int v=1;//加速度int n=0;whlie(spead<368){ spead=spead+v; n++; if(n%3==0) { v=v+1; n=0; }}//這里它的加速度就是每循環三次就加一 這樣他的速度就增加的更快 這是它的編程思想 具體的數據根據你的實際情況需要進行調節就可以了

『伍』 關於C語言的遞歸問題!!!~~~

#include<stdio.h>
void main( void )
{
int Best_Car( int count ) ;
int i = Best_Car( 0 ) ;
printf( "The Best car is %d\n" , i ) ;
if( ! ( i - 2 ) )
printf( "A is right!\n" ) ;
else if( ! ( i - 4 ) )
printf( "B is right!\n" ) ;
else if( !! ( i - 3 ) )
printf( "C is right!\n" ) ;
else if( !! ( i - 4 ) )
printf( "D is right!\n" ) ;
while( 1 ) ;
}
int Best_Car( int count )
{
if( 1 == ! ( count - 2 ) + ! ( count - 4 ) + !!( count - 3 ) + !!( count - 4 ) )
{
return count ;
}
else
{
count ++ ;
return Best_Car( count ) ;
}
}
visual studio 2005 編譯通過
第二題做法與第一題相同 ,只是在最後的判斷條件處多加了一點而已 ,人數變為5而已,核心遞歸思想沒有變化 , 就不再重復做了 , 不需要全局

『陸』 c語言問題 急 賽車計分問題 有n台車依次出發,經過若干圈競速後相繼到達終點。每台車的得分,是

這種演算法不合理——————第一個出發,第一個到,得0分!!!!!!

#include<stdio.h>
#include<string.h>

constintMAXSIZE=100;

typedefstructdriver{
charname[10];
intstart;
intend;
intscore;
}Driver;

voidSort(Drivera[],intn){
inti,j,k;
Drivert;
for(i=0;i<n-1;++i){
k=i;
for(j=i+1;j<n;++j){
if(a[j].score>a[k].score)
k=j;
}
if(k!=i){
t=a[k];
a[k]=a[i];
a[i]=t;
}
}
}

intmain(){
Drivera[MAXSIZE];
charname[10];
inti,n=0,start,end,flag;
printf("出發順序號到達順序號車手('q'toquit):");
while(scanf("%d%d%9s",&start,&end,name)==3&&n<MAXSIZE){
flag=1;
for(i=0;i<n&&flag;++i){
if(strcmp(a[i].name,name)==0){
flag=0;
printf("姓名重復,本次輸入無效。 ");
}
if(a[i].start==start){
flag=0;
printf("%s是在第%d個出發的,出發順序號錯誤,本次輸入無效。 ",a[i].name,a[i].start);
}
if(a[i].end==end){
flag=0;
printf("%s是在第%d個到達的,到達順序號錯誤,本次輸入無效。 ",a[i].name,a[i].end);
}
}
if(flag==1){
a[n].start=start;
a[n].end=end;
strcpy(a[n].name,name);
a[n].score=start-end;
++n;
}
printf("出發順序號到達順序號車手('q'toquit):");
fflush(stdin);
}
Sort(a,n);
for(i=0;i<n;++i)
printf("%-12s%d ",a[i].name,a[i].score);
return0;
}