❶ c語言編程解決實際問題
此題無解,每走一趟,開始帶1000個,每走1千米少1個,走到目的地時走了1000千米,剩下最後0個,然後返回,駱駝沒有蘿卜吃,不走了。
❷ 結合自己的工作找出一個可以用C語言編程解決的實際問題,並介紹解決問題的思路。
輸出的時候一個字元一個字元的輸出,並記住當前輸出的值。每個字元輸出前判斷是不是空格,是的話,後一個也是空格就不輸出,否則輸出。for(i=0;str[i];i++){if((str[i]!='')||(str[i+1]!='')){printf("%c",str[i]);}}
❸ 用C語言解決一個實際問題(不要太長)
約瑟夫環(很有名的數學問題)
已知n個人(以編號1,2,3...n分別表示)圍坐在一張圓桌周圍。從編號為k的人開始報數,數到m的那個人出列;他的下一個人又從1開始報數,數到m的那個人又出列;依此規律重復下去,直到圓桌周圍的人全部出列。
void JOSEPHUS(int n,int k,int m) //n為總人數,k為第一個開始報數的人,m為出列者喊到的數
{
/* p為當前結點 r為輔助結點,指向p的前驅結點 list為頭節點*/
LinkList p,r,list;
/*建立循環鏈表*/
for(int i=0,i<n,i++)
{
p=(LinkList)malloc(sizeof(LNode));
p->data=i;
if(list==NULL)
list=p;
else
r->link=p;
r=p;
}
p>link=list; /*使鏈表循環起來*/
p=list; /*使p指向頭節點*/
/*把當前指針移動到第一個報數的人*/
for(i=0;i<k;i++)
{
r=p;
p=p->link;
}
/*循環地刪除隊列結點*/
while(p->link!=p)
{
for(i=0;i<m;i++)
{
r=p;
p=p->link;
}
r->link=p->link;
printf("被刪除的元素:%4d ",p->data);
free(p);
p=r->link;
}
printf("\n最後被刪除的元素是:%4d",P->data);
}
❹ c語言可以解決哪些實際問題,及思路
摘要 主要是學習思維,C語言是一門很好的功課,在裡面的演算法,流程圖的描繪,可以幫助我們很好的入門,同時鍛煉我們的邏輯
❺ 利用c語言編程。可以解決實際問題。及思路
對的。
C語言只是一門語言罷了,就跟工具似的。我要完成什麼事情或達到什麼目的時需要用的一門工具來實現或達到我的目的的東西,簡單而又平平無奇。
❻ 一個C語言中極復雜的問題
第一個代碼是生成3~100以內的素數,不再詳述。
第二個代碼不是「不能 運行老」,而是沒有輸出,原因如下:
for(i=2;i<=100;i++)//循環1
{
for(j=1;j<=i;j++)//循環2
if(i%j==0)//重點在這里(*)
break;
//printf("i=%d,j=%d",i,j);(***)
if(i==j)//跳出循環2時j=1
printf("%4d",i);//(**)
}
在執行到(*)的語句時,由於進入循環2時j=1,所以不論i為何值(i%j==0)總為真。於是break語句總執行,跳出循環2。注意此時變數j總=1,而在循環1中的所有i均大於1,所以(**)不會執行,自然在屏幕上沒有輸出。
如果想驗證,可以添加調試語句(***),或者利用IDE的步進調試功能驗證,呵呵。
/*本人菜鳥*/
❼ c語言程序設計解決日常實際問題,代碼行100行以上;格式與知識點數量(7點)符合設計要求
幫你做了個學生成績管理系統 ,用到了以上知識點,在程序中都幫你註明了,程序在附件中(總共228行),下面是運行截圖:
❽ C語言解決實際問題
卡車耗油為1升/公里,那麼有幾公里就需要多少油對么?那為什麼還有「最少耗油量」這種說法呢?
另外,input和output的各行分別是什麼呀?是我理解錯了么。。。
❾ 怎麼用c語言解決實際問題
這要看是什麼問題了,根據不同的問題有不同的演算法用於解決的
❿ 哪位高手可以幫我設計一個C語言程序,要求解決一個實際問題,但程序不要太長,也不要太復雜!!!謝謝各位~~~~
題目:有n個人圍成一圈,順序排號。從第一個人開始報數(從1到3報數),凡報到3的人退出圈子,問最後留下的是原來第幾號的那位。
#define nmax 50
main()
{
int i,k,m,n,num[nmax],*p;
printf("please input the total of numbers:");
scanf("%d",&n);
p=num;
for(i=0;i<n;i++)
*(p+i)=i+1;
i=0;
k=0;
m=0;
while(m<n-1)
{
if(*(p+i)!=0) k++;
if(k==3)
{ *(p+i)=0;
k=0;
m++;
}
i++;
if(i==n) i=0;
}
while(*p==0) p++;
printf("%d is left\n",*p);
}