c語言設計思路
1. 詢問一下c語言程序設計思路
如果用比較簡單的來寫,則不需要用C語陪緩顫言的指針!可以用一個變數A儲存隨機數,A=rand()%36+1; 這樣就好了,然後用另一個變數B儲存用戶輸入的數字,
scanf("%d",&B); 然後用一個變數保存用戶的金額Money,每一次下注的金額用另一個變數D保存,然後用戶輸入下注金額D,判斷D<=Money, 成立,然後再判斷哪旁A是否等於B,如果A=B,則Money=Money+5*D,否則Money=Money-D。 再蘆敗於外側設計一個大循環,判斷Money是否大於0,Money>0時進入循環,Money=0時要求用戶存入金額……
2. C語言課程設計 設計思路
首先載入本地文件保存的信息,創建鏈表,並統計個數,然後根據選擇的操作執行相應的方法
3. C語言程序設計思路
代碼只是實現了逆序輸出,而沒有把sentence中的內容逆序,每逆序輸出一個單詞,都用結束符來替換。
#include "stdio.h"
#include "string.h"
void InverseByWord(char *sentence)
{
int n,i,j;
n=strlen(sentence);// 計算字元串長度。
for(i=n-1;i>-1;i--)// 從最後一個元素開始循環,直到第一個元素
{
if(*(sentence+i)=='\0')//如果是結束符的話,仍然設置為結束符。由於字元串長度不變,所以結束符位置不變。
{
printf("%c",*(sentence+i));// 輸出結束符
*(sentence+i)='\0';//設置結束符
}
if(*(sentence+i)==' ')// 如果是空格的話,說明新的單詞開始。
{
n=strlen(sentence);// 計算字元串長度
for(j=i+1;j<n;j++)// 從i+1開始輸出新的單詞
{
printf("%c",*(sentence+j));
*(sentence+j)='\0';// 輸出後清除字元。
}}}
printf("%s\n",sentence);//輸出字元串
}
void main()
{
char pStr[100]="This is an interesting programe";
InverseByWord(pStr);
}
4. 使用C語言編寫一個項目都有什麼思路呀
要看平台呀,但是一般情況下,有兩種選擇,一是阻塞式,二是非同步式的,阻塞式的就不用多說了,非同步式程序:
主函數-》初始化-》建立不要的子線程用來管理以後的子線程,繪圖,更新時間等等,然後在主函數中設置無限循環檢查有沒有消息送到程序中,有就按照適合的演算法處理它,沒有就繼續循環。
這是框架思路,當然更細的感覺是自己一點點用腳(手指)上的泡換來的,很難用言語表達,自己嘗試著製作一個軟體級別的程序,成功了馬上就會有感覺的。
5. C語言編程中寫程序的思路和方法
我的經驗是隨時把握「一分為二」的編程思路,就是任何一個問題把她分解成子問題,然後在把子問題在向下分解直到可以用「演算法」實現,套用結構化程序設計的說法就是逐步求精的過程。
6. c語言課程設計:圖書管理系統設計的基本思路是什麼
圖書管理系統主要要求可以錄入書籍,添加書目,查找書本信息,刪除或修改信息,有的還要求顯示是否被借閱等。
一般採用結構體數組,鏈表,文件操作和自定義函數。主要是需要對基礎知識掌握牢固。
先定義結構體,然後對結構體的成員進行定義,選擇數組存儲書本各種信息。錄入信息可以用for和do while循環等來做。
存放信息需要文件操作函數,比如fopen,fwrite等。
刪除和添加可以刪除節點或者增加節點。
查找之類的可以用字元串操作的各種函數實現。
附上參考源代碼
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<conio.h>
#definebooks"f:\books.txt"
#definebooksbak"f:\booksbak.txt"
structbookinfo
{
charisbn[20];
chartitle[30];
charauthor[20];
intcount;
};
structbook
{
structbookinfoonebook;
structbook*next;
};
structbook*searchBook(structbook*listptr,charisbn[])
{
while(listptr!=(structbook*)0)
if(strcmp(listptr->onebook.isbn,isbn)==0)
returnlistptr;
else
listptr=listptr->next;
return(structbook*)0;
}
voidMainSearchbook(structbook*firstptr)
{
structbook*ptr;
charisbnno[20];
printf("請輸入ISBN:");
scanf("%s",&isbnno);
ptr=searchBook(firstptr,isbnno);
if(ptr!=(structbook*)0)
{
printf("找到了!!! ");
printf("ISBN:%s ",ptr->onebook.isbn);
printf("Title:%s ",ptr->onebook.title);
printf("Author:%s ",ptr->onebook.author);
}
else
printf("sorry,notfound!!! ");
}intaddBook(structbook*listptr,structbookinfonote)
{
while(listptr->next!=0)
listptr=listptr->next;
listptr->next=(structbook*)malloc(sizeof(structbook));
listptr->next->onebook=note;
listptr->next->next=0;
return0;
}
voidMainAdd(structbook*listptr,FILE*fp)
{
intok;
structbookinfonote;
printf("請輸入ISBN:");
scanf("%s",¬e.isbn);
printf("請輸入Title:");
scanf("%s",¬e.title);
printf("請輸入Author:");
scanf("%s",¬e.author);
ok=addBook(listptr,note);
if(ok==0)
{
//將加入的圖書寫到文件中保存
fprintf(fp," %s%s%s%d",note.isbn,note.title,note.author,0);
printf("添加圖書成功!!! ");
}
else
printf("添加圖書失敗!!! ");
}
intremoveBook(structbook*listptr,charisbn[])
{
while(listptr->next!=(structbook*)0)
{
if(strcmp(listptr->next->onebook.isbn,isbn)==0)
{
listptr->next=listptr->next->next;
return0;
}
else
listptr=listptr->next;
}
return-1;
}
voidMainRemove(structbook*listptr,FILE*fp)
/************************************************************************/
/*刪除書籍函數,通過ISBN刪除鏈表節點,同時刪除文件中對應信息*/
/*刪除文件中一行,用的是笨方法,把需要的信息寫到新文件,刪除舊文件,重命名..*/
/************************************************************************/
{
charisbnno[20];
intok;
structbookinfoonebook;
printf("請輸入ISBN:");
scanf("%s",&isbnno);
ok=removeBook(listptr,isbnno);
if(!ok)
{
FILE*fpbak;
if((fpbak=fopen(booksbak,"a+"))==NULL)
printf("文件打開失敗!!! ");
fseek(fp,0,SEEK_SET);//移到文件開始
while((fscanf(fp,"%s%s%s%d ",&onebook.isbn,&onebook.title,&onebook.author,&onebook.count))!=EOF)
{
if(strcmp(onebook.isbn,isbnno)!=0)
{
fprintf(fpbak,"%s%s%s%d ",onebook.isbn,onebook.title,onebook.author,onebook.count);
}
}
fclose(fp);
fclose(fpbak);
if(remove(books))//刪除失敗返回非0
{
printf("刪除文件失敗!!! ");
return;
}
else
if(rename(booksbak,books))//重命名失敗返回非0值
{
printf("重命名失敗!!! ");
return;
}
printf("刪除成功!!! ");
}
else
printf("查無此書!!!");
}
intchoice(void)
{
intc;
printf("1.查看圖書 ");
printf("2.添加圖書 ");
printf("3.刪除圖書 ");
printf("4.退出程序 ");
printf("請選擇序號:");
returnc=getchar();
//returnc=getche();
printf(" ");
}
intaddEntry(FILE*fp,structbook*firstptr)
/************************************************************************/
/*主要用來載入文件中存放的圖書信息*/
/************************************************************************/
{
structbookinfoonebook;
while((fscanf(fp,"%s%s%s%d ",&onebook.isbn,&onebook.title,&onebook.author,&onebook.count))!=EOF)
{
while(firstptr->next!=0)
firstptr=firstptr->next;
firstptr->next=(structbook*)malloc(sizeof(structbook));
firstptr->next->onebook=onebook;
firstptr->next->next=0;
}
return0;
}
intmain(intargc,char*argv[])
{
intch;
structbookfirst;
strcpy(first.onebook.isbn,"123456");
strcpy(first.onebook.title,"ProgrammingC");
strcpy(first.onebook.author,"yhb");
first.next=0;
structbook*firstptr=&first;//鏈表頭指針
FILE*fp;
if((fp=fopen(books,"a+"))==NULL)
printf("文件打開失敗!!!");
addEntry(fp,firstptr);
while(1)
{
system("CLS");//清屏
/************************************************************************/
/*想想這里為什麼要清空緩沖區?*/
/*由於上一次(choice函數)的getchar(),還有一個' '留在緩沖區....*/
/*可以把這句話注釋掉看看,沒有這句話會遇到麻煩*/
/*如果不用fflush,可以將上面的getchar()換成getche()*/
/*比較getchar(),getch(),getche()......*/
/************************************************************************/
fflush(stdin);
ch=choice()-48;
switch(ch)
{
case1:
MainSearchbook(firstptr);
break;
case2:
MainAdd(firstptr,fp);
break;
case3:
MainRemove(firstptr,fp);
break;
case4:
printf("謝謝使用... ");
exit(0);
default:
printf("請輸入正確序號!");
}
system("PAUSE");
}
return0;
}
7. C語言程序設計,求思路。
intmain()
{charwk[8][3]={"","一","二","三","四","五","六","日"};
intq,za=4,s,l=5,zo,w=2,c,k=0;
for(q=1;q<7;q+=5)
{for(s=3;s<8;s+=4)
{if(s-q)
for(zo=1;zo<7;zo+=5)
if(zo-q&&zo-s)
{c=17-q-s-zo;
printf("Solution:%d
",++k);
printf("趙錢孫李周吳陳
");
printf("==================================================
");
printf("星期%s星期%s星期%s星期%s星期%s星期%s星期%s
",
wk[za],wk[q],wk[s],wk[l],wk[zo],wk[w],wk[c]);
}}}
return0;
}
8. 對於C語言編程思路是什麼
其實你沒有必要話流程圖,但是你要做得很仔細 就不一樣。其實我個人覺得,我們做C語言的程序就是把自己的想法表達出來,你在做的時候就把你的大腦想成計算機(其實都差不多),然後你把一個一個的步驟表達出來就好。主要就是你大腦裡面先要有構思,我這個程序究竟應該怎麼表達,先想大體的框架,然後我的每一個細節該用什麼方式表達,具體要到每一個小的循環,還有就是當你一下方法熟悉以後就可以在思考的時候把這個東西直接想成已經構思好的(就好像你自己事先就編輯好的函數一樣),現在就只有需要拿過來用,當你都能夠看見一個題目,10秒鍾想到大體思路,1分鍾想到具體實現的辦法,然後把這個你自己想的編譯就沒有邏輯錯誤,那你就比較好了。
總之,上面最關鍵的就是:變成是把自己的思想(方法)用計算機語言表達出來。你只要把這個你自己的想法一步一步的按照電腦運行(意思是這個語言的語法)的方式把他輸入電腦內,然後讓計算機來幫忙你做這個本來你能夠做的事情(但是很麻煩),你的程序就好了,雖然說你的程序不一定精巧,但是你能夠實現你自己想的功能,你就成功了第一步。
9. 如何寫C語言設計思路
摟主講的有些籠統 是針對具體問題談告設計c語言解決方案嗎?
c語言設計思路
解決問題兩個階段 :第一階段 用人類的思維方式給出解決問題的步驟,針對問題本身進行分析,找出解空間。(演算法的抽象)。第二階段把以上的方案局薯映射為C語言,用數據結構如何表示你要處理 的對象或數據,用演算法和控制流程如何模擬第一步的桐侍者解決方案。
10. c語言程序設計的基本思想
模塊化的思想
模塊化程序的特點:單入口、單出口
基本的三種結構:順序、分支(選擇)、循環;
這三個基本結構來安排模塊執行的步驟;
循環三要素:初值、條件、更新;
面對編程問題:三步走策略(輸入+處理+輸出);
編程思想:分而治之+變數跟蹤+換位思考
C語言是一門面向過程的、抽象化的通用程序設計語言,廣泛應用於底層開發。C語言能以簡易的方式編譯、處理低級存儲器。C語言是僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言。盡管C語言提供了許多低級處理的功能,但仍然保持著跨平台的特性,以一個標准規格寫出的C語言程序可在包括類似嵌入式處理器以及超級計算機等作業平台的許多計算機平台上進行編譯。