c語言項目一
⑴ c語言的經典項目
【程序1】
題目:有1、2、3、4個數字,能組成多少個互不相同且無重復數字的三位數?都是多少?
1.程序分析:可填在百位、十位、個位的數字都是1、2、3、4。組成所有的排列後再去
掉不滿足條件的排列。
2.程序源代碼:
#include "stdio.h"
#include "conio.h"
main()
{
int i,j,k;
printf("\n");
for(i=1;i<5;i++) /*以下為三重循環*/
for(j=1;j<5;j++)
for (k=1;k<5;k++)
{
if (i!=k&&i!=j&&j!=k) /*確保i、j、k三位互不相同*/
printf("%d,%d,%d\n",i,j,k);
}
getch();
}
==============================================================
【程序2】
題目:企業發放的獎金根據利潤提成。利潤(I)低於或等於10萬元時,獎金可提10%;利潤高
於10萬元,低於20萬元時,低於10萬元的部分按10%提成,高於10萬元的部分,可可提
成7.5%;20萬到40萬之間時,高於20萬元的部分,可提成5%;40萬到60萬之間時高於
40萬元的部分,可提成3%;60萬到100萬之間時,高於60萬元的部分,可提成1.5%,高於
100萬元時,超過100萬元的部分按1%提成,從鍵盤輸入當月利潤I,求應發放獎金總數?
1.程序分析:請利用數軸來分界,定位。注意定義時需把獎金定義成長整型。
2.程序源代碼:
#include "stdio.h"
#include "conio.h"
main()
{
long int i;
int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;
scanf("%ld",&i);
bonus1=100000*0. 1;
bonus2=bonus1+100000*0.75;
bonus4=bonus2+200000*0.5;
bonus6=bonus4+200000*0.3;
bonus10=bonus6+400000*0.15;
if(i<=100000)
bonus=i*0.1;
else if(i<=200000)
bonus=bonus1+(i-100000)*0.075;
else if(i<=400000)
bonus=bonus2+(i-200000)*0.05;
else if(i<=600000)
bonus=bonus4+(i-400000)*0.03;
else if(i<=1000000)
bonus=bonus6+(i-600000)*0.015;
else
bonus=bonus10+(i-1000000)*0.01;
printf("bonus=%d",bonus);
getch();
}
==============================================================
【程序3】
題目:一個整數,它加上100後是一個完全平方數,再加上168又是一個完全平方數,請問該數是多少?
1.程序分析:在10萬以內判斷,先將該數加上100後再開方,再將該數加上268後再開方,如果開方後
的結果滿足如下條件,即是結果。請看具體分析:
2.程序源代碼:
#include "math.h"
#include "stdio.h"
#include "conio.h"
main()
{
long int i,x,y,z;
for (i=1;i<100000;i++)
{
x=sqrt(i+100); /*x為加上100後開方後的結果*/
y=sqrt(i+268); /*y為再加上168後開方後的結果*/
if(x*x==i+100&&y*y==i+268) /*如果一個數的平方根的平方等於該數,這說明此數是完全平方數*/
printf("\n%ld\n",i);
}
getch();
}
==============================================================
【程序4】
題目:輸入某年某月某日,判斷這一天是這一年的第幾天?
1.程序分析:以3月5日為例,應該先把前兩個月的加起來,然後再加上5天即本年的第幾天,特殊
情況,閏年且輸入月份大於3時需考慮多加一天。
2.程序源代碼:
#include "stdio.h"
#include "conio.h"
main()
{
int day,month,year,sum,leap;
printf("\nplease input year,month,day\n");
scanf("%d,%d,%d",&year,&month,&day);
switch(month) /*先計算某月以前月份的總天數*/
{
case 1:sum=0;break;
case 2:sum=31;break;
case 3:sum=59;break;
case 4:sum=90;break;
case 5:sum=120;break;
case 6:sum=151;break;
case 7:sum=181;break;
case 8:sum=212;break;
case 9:sum=243;break;
case 10:sum=273;break;
case 11:sum=304;break;
case 12:sum=334;break;
default:printf("data error");break;
}
sum=sum+day; /*再加上某天的天數*/
if(year%400==0||(year%4==0&&year%100!=0)) /*判斷是不是閏年*/
leap=1;
else
leap=0;
if(leap==1&&month>2) /*如果是閏年且月份大於2,總天數應該加一天*/
sum++;
printf("It is the %dth day.",sum);
getch();
}
==============================================================
【程序5】
題目:輸入三個整數x,y,z,請把這三個數由小到大輸出。
1.程序分析:我們想辦法把最小的數放到x上,先將x與y進行比較,如果x>y則將x與y的值進行交換,
然後再用x與z進行比較,如果x>z則將x與z的值進行交換,這樣能使x最小。
2.程序源代碼:
#include "stdio.h"
#include "conio.h"
main()
{
int x,y,z,t;
scanf("%d%d%d",&x,&y,&z);
if (x>y)
{t=x;x=y;y=t;} /*交換x,y的值*/
if(x>z)
{t=z;z=x;x=t;} /*交換x,z的值*/
if(y>z)
{t=y;y=z;z=t;} /*交換z,y的值*/
printf("small to big: %d %d %d\n",x,y,z);
getch();
}
==============================================================
【程序6】
題目:用*號輸出字母C的圖案。
1.程序分析:可先用'*'號在紙上寫出字母C,再分行輸出。
2.程序源代碼:
#include "stdio.h"
#include "conio.h"
main()
{
printf("Hello C-world!\n");
printf(" ****\n");
printf(" *\n");
printf(" * \n");
printf(" ****\n");
getch();
}
==============================================================
【程序7】
題目:輸出特殊圖案,請在c環境中運行,看一看,Very Beautiful!
1.程序分析:字元共有256個。不同字元,圖形不一樣。
2.程序源代碼:
#include "stdio.h"
#include "conio.h"
main()
{
char a=176,b=219;
printf("%c%c%c%c%c\n",b,a,a,a,b);
printf("%c%c%c%c%c\n",a,b,a,b,a);
printf("%c%c%c%c%c\n",a,a,b,a,a);
printf("%c%c%c%c%c\n",a,b,a,b,a);
printf("%c%c%c%c%c\n",b,a,a,a,b);
getch();
}
==============================================================
【程序8】
題目:輸出9*9口訣。
1.程序分析:分行與列考慮,共9行9列,i控制行,j控制列。
2.程序源代碼:
#include "stdio.h"
#include "conio.h"
main()
{
int i,j,result;
printf("\n");
for (i=1;i<10;i++)
{
for(j=1;j<10;j++)
{
result=i*j;
printf("%d*%d=%-3d",i,j,result); /*-3d表示左對齊,佔3位*/
}
printf("\n"); /*每一行後換行*/
}
getch();
}
==============================================================
【程序9】
題目:要求輸出國際象棋棋盤。
1.程序分析:用i控制行,j來控制列,根據i+j的和的變化來控制輸出黑方格,還是白方格。
2.程序源代碼:
#include "stdio.h"
#include "conio.h"
main()
{
int i,j;
for(i=0;i<8;i++)
{
for(j=0;j<8;j++)
if((i+j)%2==0)
printf("%c%c",219,219);
else
printf(" ");
printf("\n");
}
getch();
}
==============================================================
【程序10】
題目:列印樓梯,同時在樓梯上方列印兩個笑臉。
1.程序分析:用i控制行,j來控制列,j根據i的變化來控制輸出黑方格的個數。
2.程序源代碼:
#include "stdio.h"
#include "conio.h"
main()
{
int i,j;
printf("\1\1\n"); /*輸出兩個笑臉*/
for(i=1;i<11;i++)
{
for(j=1;j<=i;j++)
printf("%c%c",219,219);
printf("\n");
}
getch();
}
經典c程序100例==11--20
【程序11】
題目:古典問題:有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月
後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?
1.程序分析:兔子的規律為數列1,1,2,3,5,8,13,21....
2.程序源代碼:
#include "stdio.h"
#include "conio.h"
main()
{
long f1,f2;
int i;
f1=f2=1;
for(i=1;i<=20;i++)
{
printf("%12ld %12ld",f1,f2);
if(i%2==0) printf("\n"); /*控制輸出,每行四個*/
f1=f1+f2; /*前兩個月加起來賦值給第三個月*/
f2=f1+f2; /*前兩個月加起來賦值給第三個月*/
}
getch();
}
⑵ 怎麼用C語言做項目
所謂項目,在一定的時間內,利用有限的資源和時間,完成特定的目的,這就是項目。
Turbo C 是一種工具,它有它擅長的地方,也有它不擅長的地方
我98年接過一個項目,用TC開發,結果失敗,前前後後寫了10000多行代碼,只完成了一個圖形化界面的部分,當時Win 95已經出來了,我寫了一個學期的東西,人家用VB一下午就出來了。
但是我也知道TC是完全可以做項目的,我畢業後找工作,一家軟體公司差點就要我了,他們就是用TC做項目的,寫驅動程序,TC+匯編
寫了這么多,不知你看明白了沒有,TC能不能做項目,答案是肯定的。至於你要代碼,我只能說,要到的可能性不大。因為項目的特性之一就是獨特性,每一個項目都有它自己的特點,別人的代碼給你也用不上,最多隻是起個學習作用。但是對於別人來說,那是職業道德問題,哪個公司的源代碼也不會允許拿給外人的。
⑶ C語言實訓項目編程一般步驟
稱 計算機工程系 專業 網路安全 指導教師
學生姓名 班級
實訓
時間 年 月 日---------- 年 月 日
實訓項目和地點:
實訓項目:C++程序的設計與應用
地點:
實訓目的:
在實踐過程中,使我們進一步鞏固C++程序設計課程所學知識,更加深入地了解面向對象程序設計的主要技術特點以及C++語言的強大編程功能指導學生利用獲取信息的手段進一步獲取新知識,以解決實訓過程中遇到的技術難點,從中提高自學能力;按照軟體開發的基本要求引導我們完成實訓課題,以便我們了解軟體開發的幾個重要環節;提高我們的編程技術,使程序的編寫更趨於專業化,為從業打下良好的基礎、培養我們分工協作的團隊精神。
實訓設備及器材:
1、計算機配置:Celeron cpu 2.66GHz 1G內存 計算機一台
2、操作系統平台: Windows XP
3、軟體開發平台:Visual C++ 6.0
4、其它應用軟體:Microsoft Access / SQL Server 、Word、Visio等
實訓的步驟和內容:
設計題目:輸入4個整數,要求按由大到小的順序輸出
第1步、問題描述:
輸入4個整數,要求按由大到小的順序輸出。
第2步、基本思路:
利用選擇法進行排序。
第3步、編寫程序:
#include<stdio.h>
void main()
{
int a,b,c,d,t;
scanf("%d,%d,%d,%d",&a,&b,&c,&d);
if(a<b)
{t=a;
a=b;
b=t;}
if(a<c)
{t=a;
a=c;
c=t;}
if(a<d)
{t=a;
a=d;
d=t;}
if(b<c)
{t=b;
b=c;
c=t;}
if(b<d)
{t=b;
b=d;
d=t;}
if(c<d)
{t=c;
c=d;
d=t;}
printf("%d,%d,%d,%d",a,b,c,d);
}
第4步、運行結果:_
輸入:5,7,9,4
輸出:9,7,5,4
實訓結果分析及其心得體會:
通過C++實訓,讓我加深了對C語言的了解,而不只是單單的在課本中學到的那些理論,平時乏味的課程,通過自己動手親自編寫,變的生動有趣,而在自己動手的過程中,出現的問題很多,比理論要難的多,當一個程序寫完以後,經常會有很多錯誤而沒法解決。不過,通過幾天的實訓,逐漸積攢了一些經驗,有些錯誤可以很快就看出來。
這次實訓有很大的收獲,讓我對C語言有了更深的認識,平時在課堂上學到的東西可以自己動手編寫,將其轉化成一些實用的技能。如果是一個程序寫完一處錯誤也沒用,會有種成就感,於是興趣就來了,興趣來了,自然學的東西也就多了,能把理論變成實際的技能,讓我對C語言有了濃厚的興趣和更深層的認識。
C語言是一個有序的學習,學了最基本的替換,然後擴展到循環,嵌套,條理很清楚,不是 一個零散的知識,實際上所有的課程都如此,不過通過實訓我也知道了自己的不足,存在的很多問題。
比如自己寫的寫的小程序出了問題,不會解決了就叫老師幫忙,雖然說一定意義上增加了師生之間的感情,但是會養成一種依賴的心理,碰到問題了第一個想到的是求助而不是自己獨立解決,所以以後要多多鍛煉自己的信心和增加自己的能力,爭取做到不在身邊的時候也可以完成一些簡單的程序編寫與錯誤排除。
還有自己的基礎知識不扎實,遇到的問題,沒有很好的邏輯思維,親自編寫一個陌生的程序的時候會有種無法下手的感覺,找不到突破口。通過實訓,逐漸理清了順序,對於簡單的程序和一些相對比較繁瑣的嵌套,循環,不在是看著一頭霧水。其實只要理清了思路,把基礎知識掌握了,然後有條不紊的分析,一步一步理解,C語言還是很有意思的課程。
自己親自動手編寫程序讓我增加了對C語言程序開發環境的了解,不管以後從事什麼行業,學習C語言都對自己的職業很有幫助,如果是從事編程工程工作的話,就更有幫助了,即使以後的編程工作可能不用C語言,但是擁有扎實的C語言基礎是對工作很有用的。
當初在初步接觸C語言的時候,看著一堆「奇形怪狀」的符號,覺得甚是無聊,通過這次實訓,擺脫了那種似懂非懂的狀態!
感謝學校安排這次實訓和老師的耐心講解,讓我學到了很多知識,在實訓過程中,同學之間的互相探討,老師的循循善誘,最終讓我們達到了舉一反三的效果,在學知識的同,也增加了同學老師之間的感情。希望以後還會有更多類似的實訓課程,在有限的大學時間內學到更多的實用技能,為以後的工作打下一個良好的基礎。
⑷ 特基礎的c語言看不懂(淚) 項目一:分析語句,寫出結果。 #include<stdio.
在C語言里,是以分號為一條語句。而if的判斷句後,若沒有花括弧且判斷成立,就執行那條語句。否則,就執行此語句後的else語句(else處沒有花括弧,就與其後語句同為一句)。整理此題得:
#include<stdio.h>
voidmain()
{
inta=2,b=-1,c=2;
if(a<b)if(b<0)c=0;
elsec+=1;
printf("c=%d",c);
}
其中的else是屬於其上面判斷b的if,因為此if的語句後面與這個else緊挨。
如是:
#include<stdio.h>
voidmain()
{
inta=2,b=-1,c=2;
if(a<b)if(b<0)c=0;
elsec+=1;
elsec-=1;
printf("c=%d",c);
}
則第二個else是屬於if(a<b)的。
如果再深入些,其實一個花括弧括起來的代碼叫做代碼塊,相當於一條語句。
在此代碼塊後的else,指其前面的if。也可以說成,在此單條語句(一個分號是一條語句)後的else,指其前面的if
學過匯編的知道,if語句和else語句都是跳轉語句。如果if裡面的語句成立,就繼續順序執行(有什麼執行什麼),然後到else處,else發現其上面的if是成立的,就跳出else的語句(或者說是代碼塊);若if不成立,在當時,就跳轉到else裡面,這時會不會執行else的檢測我不知道,但這次跳轉之後,就再次順序執行。
要是在易語言里,,,,,那個中文的「如果」判斷語句就直接沒有了「否則」,,,「如果」下面就是兩個箭頭,,,,指向判斷成立時的代碼和不成立時的代碼。。很易於理解是不是??...
⑸ 一個C語言項目要求都包括什麼啊例如一個學生的管理系統為例
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#define MAXLEN 100
#define Null 0
typedef struct node {
int num; // 學號
char name[MAXLEN]; // 姓名
int score; // 分數
struct node *next; // 指針域
}list;
list *creat() // 新增成績
{
list *head,*p,*r;
int i,n; // n 為學生人數
head=(list *)malloc(sizeof(list));
head->next=Null;
r=head;
printf("請輸入學生人數.\n");
scanf("%d",&n);
for(i=1;i<=n;i++) {
p=(list *)malloc(sizeof(list));
printf("請輸入學生學號:\n");
scanf("%d",&p->num);
printf("請輸入學生姓名:\n");
scanf("%s",&p->name);
printf("請輸入學生成績:\n");
scanf("%d",&p->score);
p->next=Null;
r->next=p;
r=r->next;
}
return (head);
}
list *del (list *h) // 刪除成績
{
int k; // 要刪除的學生學號
list *p,*q; // 為什麼要兩個指針呢?
q=h;
p=h->next;
printf("請輸入待刪除的學生學號:\n");
scanf("%d",&k);
while (p && p->num!=k) {
q=p;
p=p->next;
}
if(p) {
q->next=p->next;
free(p);
}
else
printf("沒有此學生的記錄,無法刪除!\n");
return (h);
}
void output(list *h) // 輸出成績
{
list *p;
printf("學號\t姓名\t成績\n");
p=h->next;
while (p!=NULL) {
printf("%d\t%s\t%d\n",p->num,p->name,p->score);
p=p->next;
}
}
void main()
{
list *p;
int k; // 控制循環的標志
while (1) {
printf(" ---------------------------------------\n");
printf(" | 學生成績管理系統 |\n");
printf(" ---------------------------------------\n");
printf(" | 1. 登記成績 |\n");
printf(" | 2. 刪除成績 |\n");
printf(" | 3. 輸出所有學生成績 |\n");
printf(" | 0. 退出系統 |\n");
printf(" ---------------------------------------\n");
printf("請輸入你的選擇:\n");
scanf("%d",&k);
switch(k) {
case 1: p=creat(); break;
case 2: p=del(p); break;
case 3: output(p); break;
case 0: exit(0);
default : printf("選擇錯誤,重新開始!\n");
}
}
}
⑹ c語言能做什麼項目
C語言是普適性最強的一種計算機程序編輯語言,它不僅可以發揮出高級編程語言的功用,還具有匯編語言的優點,因此相對於其它編程語言,它具有自己獨特的特點。具體體現在以下三個方面:
其一,廣泛性。C 語言的運算范圍的大小直接決定了其優劣性。C 語言中包含了34種運算符,因此運算范圍要超出許多其它語言,此外其運算結果的表達形式也十分豐富。此外,C 語言包含了字元型、指針型等多種數據結構形式,因此,更為龐大的數據結構運算它也可以應付。[3]
其二,簡潔性。9 類控制語句和32個KEYWORDS是C語言所具有的基礎特性,使得其在計算機應用程序編寫中具有廣泛的適用性,不僅可以適用廣大編程人員的操作,提高其工作效率,同 時還能夠支持高級編程,避免了語言切換的繁瑣。[3]
其三,結構完善。C語言是一種結構化語言,它可以通過組建模塊單位的形式實現模塊化的應用程序,在系統描述方面具有顯著優勢,同時這一特性也使得它能夠適應多種不同的編程要求,且執行效率高。
⑺ C語言怎麼做項目
和所有的項目開發一樣,首先進行可行性分析,然後進行需求分析,完成之後進行概要設計,這些工作都和使用的語言無關;再往後,就要給出詳細設計,此時開始和開發語言開始建立聯系啦,調試,完成後發布。
所以說,項目和語言開發工具有一定的聯系,這種聯系這發生在軟體的開發過程中。
⑻ C語言中項目的定義是什麼
項目 project, 是一組代碼的統稱
這一組代碼 必須實現一個完整的功能, 可以是一個完整的程序, 也可以是其中一個模塊。
項目的創立,就是為了更好的組織管理這些代碼。
對於初學者來說, 項目往往只有一個文件 幾個函數
這是體現不出項目的價值
但一旦完成一個比較大的功能時,項目代碼可以達到幾千上萬個文件
這時項目的管理就很有必要了。
⑼ 使用C語言編寫一個項目都有什麼思路呀
要看平台呀,但是一般情況下,有兩種選擇,一是阻塞式,二是非同步式的,阻塞式的就不用多說了,非同步式程序:
主函數-》初始化-》建立不要的子線程用來管理以後的子線程,繪圖,更新時間等等,然後在主函數中設置無限循環檢查有沒有消息送到程序中,有就按照適合的演算法處理它,沒有就繼續循環。
這是框架思路,當然更細的感覺是自己一點點用腳(手指)上的泡換來的,很難用言語表達,自己嘗試著製作一個軟體級別的程序,成功了馬上就會有感覺的。
⑽ 請問一下C語言編寫項目整體流程是什麼樣子的
一般是:需求調查 設計 編寫代碼 測試 試運行 然後就是不斷的維護。一般所有用程序編寫的項目,其步驟相差不大,僅在不同的程序語言用處不同,其細節處理不同而已,宏觀上基本相同。
每種程序實現的功能,有一些其它程序語言也能實現,看自己怎麼做。