日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言程序设计50例(经典收藏),C语言程序设计50例(经典收藏)

發布時間:2023/12/10 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言程序设计50例(经典收藏),C语言程序设计50例(经典收藏) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

C語言程序設計50例(經典收藏)

本篇文章是對C語言程序設計的50個小案例進行了詳細的分析介紹 需要的朋友參考下

【程序1】

題目 有1、2、3、4個數字 能組成多少個互不相同且無重復數字的三位數 都是多少

1.程序分析 可填在百位、十位、個位的數字都是1、2、3、4。組成所有的排列后再去

掉不滿足條件的排列。

2.程序源代碼

代碼如下:

#include stdio.h

int main()

int i,j,k;

printf( \n

for(i i i ) /*以下為三重循環*/

for(j j j )

for (k k k )

if (i! k i! j j! k) /*確保i、j、k三位互不相同*/

printf( %d,%d,%d\n ,i,j,k);

return 0;

【程序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

int main()

long int i;

int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;

scanf( %ld ,

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);

return 0;

【程序3】

題目 一個整數 它加上100后是一個完全平方數 再加上168又是一個完全平方數 請問該數是多少

1.程序分析 在10萬以內判斷 先將該數加上100后再開方 再將該數加上268后再開方 如果開方后

的結果滿足如下條件 即是結果。請看具體分析

2.程序源代碼

代碼如下:

#include math.h

#include stdio.h

int main()

long int i,x,y,z;

for (i 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);

return 0;

【程序4】

題目 輸入某年某月某日 判斷這一天是這一年的第幾天

1.程序分析 以3月5日為例 應該先把前兩個月的加起來 然后再加上5天即本年的第幾天 特殊

情況 閏年且輸入月份大于3時需考慮多加一天。

2.程序源代碼

代碼如下:

#include stdio.h

int main()

int day,month,year,sum,leap;

printf( please input year,month,day\n

scanf( %d,%d,%d , year, month, day);

switch(month) /*先計算某月以前月份的總天數*/

case 1:sum break;

case 2:sum break;

case 3:sum break;

case 4:sum 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

else

leap

if(leap 1 month 2) /*如果是閏年且月份大于2,總天數應該加一天*/

sum

printf( It is the %dth day. ,sum);

return 0;

【程序5】

題目 輸入三個整數x,y,z 請把這三個數由小到大輸出。

1.程序分析 我們想辦法把最小的數放到x上 先將x與y進行比較 如果x y則將x與y的值進行交換

然后再用x與z進行比較 如果x z則將x與z的值進行交換 這樣能使x最小。

2.程序源代碼

代碼如下:

#include stdio.h

int main()

int x,y,z,t;

scanf( %d%d%d , x, y,

if (x y)

{t x y } /*交換x,y的值*/

if(x z)

{t z x } /*交換x,z的值*/

if(y z)

{t y z } /*交換z,y的值*/

printf( small to big: %d %d %d\n ,x,y,z);

return 0;

【程序6】

題目 用號輸出字母C的圖案。

1.程序分析 可先用’ 號在紙上寫出字母C 再分行輸出。

2.程序源代碼

代碼如下:

#include stdio.h

int main()

printf( Hello C-world!\n

printf( ****\n

printf( *\n

printf( * \n

printf( ****\n

return 0;

【程序7】

題目 輸出特殊圖案 請在c環境中運行 看一看 Very Beautiful!

1.程序分析 字符共有256個。不同字符 圖形不一樣。

2.程序源代碼

代碼如下:

#include stdio.h

int 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);

return 0;

【程序8】

題目 輸出9*9口訣。

1.程序分析 分行與列考慮 共9行9列 i控制行 j控制列。

2.程序源代碼

代碼如下:

#include stdio.h

int main()

int i,j,result;

printf( \n

for (i i i )

for(j j j )

result i*j;

printf( %d*%d %-3d ,i,j,result); /*-3d表示左對齊 占3位*/

printf( \n /*每一行后換行*/

return 0;

【程序9】

題目 要求輸出國際象棋棋盤。

1.程序分析 用i控制行 j來控制列 根據i j的和的變化來控制輸出黑方格 還是白方格。

2.程序源代碼

代碼如下:

#include stdio.h

int main()

int i,j;

for(i i i )

for(j j j )

if((i j)%2 0)

printf( %c%c ,219,219);

else

printf(

printf( \n

return 0;

【程序10】

題目 打印樓梯 同時在樓梯上方打印兩個笑臉。

1.程序分析 用i控制行 j來控制列 j根據i的變化來控制輸出黑方格的個數。

2.程序源代碼

代碼如下:

#include stdio.h

int main()

int i,j;

printf( \1\1\n /*輸出兩個笑臉*/

for(i i i )

for(j j j )

printf( %c%c ,219,219);

printf( \n

return 0;

【程序11】

題目 古典問題 有一對兔子 從出生后第3個月起每個月都生一對兔子 小兔子長到第三個月

后每個月又生一對兔子 假如兔子都不死 問每個月的兔子總數為多少

1.程序分析 兔子的規律為數列1,1,2,3,5,8,13,21…

2.程序源代碼

代碼如下:

#include stdio.h

int main()

long f1,f2;

int i;

f1 f2

for(i i i )

printf( %12ld %12ld ,f1,f2);

if(i%2 0) printf( \n /*控制輸出 每行四個*/

f1 f1 /*前兩個月加起來賦值給第三個月*/

f2 f1 /*前兩個月加起來賦值給第三個月*/

return 0;

【程序12】

題目 判斷101-200之間有多少個素數 并輸出所有素數。

1.程序分析 判斷素數的方法 用一個數分別去除2到sqrt(這個數) 如果能被整除

則表明此數不是素數 反之是素數。

2.程序源代碼

代碼如下:

#include stdio.h

#include math.h

int main()

int m,i,k,h 0,leap

for(m 101;m 200;m )

k sqrt(m

for(i i i )

if(m%i 0)

leap

break;

if(leap)

printf( %-4d ,m);

if(h%10 0)

printf( \n

leap

printf( \nThe total is %d ,h);

return 0;

【程序13】

題目 打印出所有的“水仙花數” 所謂“水仙花數”是指一個三位數 其各位數字立方和等于該數

本身。例如 153是一個“水仙花數” 因為153 1的三次方 5的三次方 3的三次方。

1.程序分析 利用for循環控制100-999個數 每個數分解出個位 十位 百位。

2.程序源代碼

代碼如下:

#include stdio.h

int main()

int i,j,k,n;

printf( water flower number is:

for(n 100;n 1000;n )

i n/100;/*分解出百位*/

j n/10%10;/*分解出十位*/

k n%10;/*分解出個位*/

if(i*100 j*10 k i*i*i j*j*j k*k*k)

printf( %-5d ,n);

return 0;

【程序14】

題目 將一個正整數分解質因數。例如 輸入90,打印出90 233*5。

程序分析 對n進行分解質因數 應先找到一個最小的質數k 然后按下述步驟完成

(1)如果這個質數恰等于n 則說明分解質因數的過程已經結束 打印出即可。

(2)如果n k 但n能被k整除 則應打印出k的值 并用n除以k的商,作為新的正整數你n,

重復執行第一步。

(3)如果n不能被k整除 則用k 1作為k的值,重復執行第一步。

2.程序源代碼

代碼如下:

#include stdio.h

int main()

int n,i;

printf( \nplease input a number:\n

scanf( %d ,

printf( %d ,n);

for(i i i )

while(n! i)

if(n%i 0)

printf( %d* ,i);

n n/i;

else

break;

printf( %d ,n);

return 0;

【程序15】

題目 利用條件運算符的嵌套來完成此題 學習成績 90分的同學用A表示 60-89分之間的用B表示

60分以下的用C表示。

1.程序分析 (a b)?a:b這是條件運算符的基本例子。

2.程序源代碼

代碼如下:

#include stdio.h

int main()

int score;

char grade;

printf( please input a score\n

scanf( %d , score);

grade score 90? A :(score 60? B : C

printf( %d belongs to %c ,score,grade);

return 0;

【程序16】

題目 輸入兩個正整數m和n 求其最大公約數和最小公倍數。

1.程序分析 利用輾除法。

2.程序源代碼

代碼如下:

#include stdio.h

int main()

int a,b,num1,num2,temp;

printf( please input two numbers:\n

scanf( %d %d , num1, num2);

if(num1 num2)/*交換兩個數 使大數放在num1上*/

temp num1;

num1 num2;

num2 temp;

a num1;b num2;

while(b! 0)/*利用輾除法 直到b為0為止*/

temp a%b;

b temp;

printf( gongyueshu:%d\n ,a);

printf( gongbeishu:%d\n ,num1*num2/a);

return 0;

【程序17】

題目 輸入一行字符 分別統計出其中英文字母、空格、數字和其它字符的個數。

1.程序分析 利用while語句,條件為輸入的字符不為’\n’.

2.程序源代碼

代碼如下:

#include stdio.h

int main()

char c;

int letters 0,space 0,digit 0,others

printf( please input some characters\n

while((c getchar())! \n )

if(c a c z ||c A c Z )

letters

else if(c )

space

else if(c 0 c 9 )

digit

else

others

printf( all in all:char %d space %d digit %d others %d\n ,letters,space,digit,others);

return 0;

【程序18】

題目 求s a aa aaa aaaa aa…a的值 其中a是一個數字。例如2 22 222 2222 22222(此時

共有5個數相加) 幾個數相加有鍵盤控制。

1.程序分析 關鍵是計算出每一項的值。

2.程序源代碼

代碼如下:

#include stdio.h

int main()

int a,n,count

long int sn 0,tn

printf( please input a and n\n

scanf( %d %d , a,

printf( a %d,n %d\n ,a,n);

while(count n)

tn tn

sn sn

a a*10;

count;

printf( a aa ... %ld\n ,sn);

return 0;

【程序19】

題目 一個數如果恰好等于它的因子之和 這個數就稱為“完數”。例如6 1 2 3.編程

找出1000以內的所有完數。

程序分析 請參照程序 –上頁程序14.

2.程序源代碼

代碼如下:

#include stdio.h

int main()

static int k[10];

int i,j,n,s;

for(j j 1000;j )

for(i i i )

if((j%i) 0)

s s-i;

k[n]

if(s 0)

printf( %d is a wanshu ,j);

for(i i i )

printf( %d, ,k[i]);

printf( %d\n ,k[n]);

return 0;

【程序20】

題目 一球從100米高度自由落下 每次落地后反跳回原高度的一半 再落下 求它在

第10次落地時 共經過多少米 第10次反彈多高

1.程序分析 見下面注釋

2.程序源代碼

代碼如下:

#include stdio.h

int main()

float sn 100.0,hn sn/2;

int n;

for(n n n )

sn sn 2*hn;/*第n次落地時共經過的米數*/

hn hn/2; /*第n次反跳高度*/

printf( the total of road is %f\n ,sn);

printf( the tenth is %f meter\n ,hn);

return 0;

【程序21】

題目 猴子吃桃問題 猴子第一天摘下若干個桃子 當即吃了一半 還不癮 又多吃了一個

第二天早上又將剩下的桃子吃掉一半 又多吃了一個。以后每天早上都吃了前一天剩下

的一半零一個。到第10天早上想再吃時 見只剩下一個桃子了。求第一天共摘了多少。

1.程序分析 采取逆向思維的方法 從后往前推斷。

2.程序源代碼

代碼如下:

#include stdio.h

int main()

int day,x1,x2;

day

while(day 0)

x1 (x2 1)*2;/*第一天的桃子數是第2天桃子數加1后的2倍*/

day--;

printf( the total is %d\n ,x1);

return 0;

【程序22】

題目 兩個乒乓球隊進行比賽 各出三人。甲隊為a,b,c三人 乙隊為x,y,z三人。已抽簽決定

比賽名單。有人向隊員打聽比賽的名單。a說他不和x比 c說他不和x,z比 請編程序找出

三隊賽手的名單。

1.程序源代碼

代碼如下:

#include stdio.h

int main()

char i,j,k;/*i是a的對手 j是b的對手 k是c的對手*/

for(i x i z i )

for(j x j z j )

if(i! j)

for(k x k z k )

if(i! k j! k)

if(i! x k! x k! z )

printf( order is a--%c\tb--%c\tc--%c\n ,i,j,k);

return 0;

【程序23】

題目 打印出如下圖案 菱形

*

*****

*******

*****

1.程序分析 先把圖形分成兩部分來看待 前四行一個規律 后三行一個規律 利用雙重

for循環 第一層控制行 第二層控制列。

2.程序源代碼

代碼如下:

#include stdio.h

int main()

int i,j,k;

for(i i i )

for(j j 2-i;j )

printf(

for(k k 2*i;k )

printf( *

printf( \n

for(i i i )

for(j j j )

printf(

for(k k 4-2*i;k )

printf( *

printf( \n

return 0;

【程序24】

題目 有一分數序列 2/1 3/2 5/3 8/5 13/8 21/13…求出這個數列的前20項之和。

1.程序分析 請抓住分子與分母的變化規律。

2.程序源代碼

代碼如下:

#include stdio.h

int main()

int n,t,number

float a 2,b 1,s

for(n n number;n )

s s a/b;

t a a b /*這部分是程序的關鍵 請讀者猜猜t的作用*/

printf( sum is %9.6f\n ,s);

return 0;

【程序25】

題目 求1 2! 3! … 19!的和

1.程序分析 此程序只是把累加變成了累乘。

2.程序源代碼

代碼如下:

#include stdio.h

int main()

long long s 0,n,t

for(n n n )

printf( 1 2! 3!... 19! %lld\n ,s);

return 0;

【程序26】

題目 利用遞歸方法求5!。

1.程序分析 遞歸公式 fn fn_1*4!

2.程序源代碼

代碼如下:

#include stdio.h

int main()

int i;

int fact(int j);

for(i i i )

printf( %d! %d\n ,i,fact(i));

return 0;

int fact(int j)

int sum;

if(j 0)

sum

else

sum j*fact(j-1);

return sum;

【程序27】

題目 利用遞歸函數調用方式 將所輸入的5個字符 以相反順序打印出來。

1.程序分析

2.程序源代碼

代碼如下:

#include stdio.h

int main()

int i

void palin(int n);

palin(i);

printf( \n

return 0;

void palin(int n)

char next;

if(n 1)

next getchar();

printf( \n\0:

putchar(next);

else

next getchar();

palin(n-1);

putchar(next);

【程序28】

題目 有5個人坐在一起 問第五個人多少歲 他說比第4個人大2歲。問第4個人歲數 他說比第

3個人大2歲。問第三個人 又說比第2人大兩歲。問第2個人 說比第一個人大兩歲。最后

問第一個人 他說是10歲。請問第五個人多大

1.程序分析 利用遞歸的方法 遞歸分為回推和遞推兩個階段。要想知道第五個人歲數 需知道

第四人的歲數 依次類推 推到第一人 10歲 再往回推。

2.程序源代碼

代碼如下:

#include stdio.h

age(int n)

int c;

if(n 1) c

else c age(n-1)

return(c);

int main()

printf( %d ,age(5));

return 0;

【程序29】

題目 給一個不多于5位的正整數 要求 一、求它是幾位數 二、逆序打印出各位數字。

程序分析 學會分解出每一位數 如下解釋 (這里是一種簡單的算法 師專數002班趙鑫提供)

2.程序源代碼

代碼如下:

#include stdio.h

int main()

long a,b,c,d,e,x;

scanf( %ld ,

a x/10000;/*分解出萬位*/

b x%10000/1000;/*分解出千位*/

c x%1000/100;/*分解出百位*/

d x%100/10;/*分解出十位*/

e x%10;/*分解出個位*/

if (a! 0) printf( there are 5, %ld %ld %ld %ld %ld\n ,e,d,c,b,a);

else if (b! 0) printf( there are 4, %ld %ld %ld %ld\n ,e,d,c,b);

else if (c! 0) printf( there are 3,%ld %ld %ld\n ,e,d,c);

else if (d! 0) printf( there are 2, %ld %ld\n ,e,d);

else if (e! 0) printf( there are 1,%ld\n ,e);

return 0;

【程序30】

題目 一個5位數 判斷它是不是回文數。即12321是回文數 個位與萬位相同 十位與千位相同。

1.程序分析 同29例

2.程序源代碼

代碼如下:

#include stdio.h

int main()

long ge,shi,qian,wan,x;

scanf( %ld ,

wan x/10000;

qian x%10000/1000;

shi x%100/10;

ge x%10;

if(ge wan shi qian)/*個位等于萬位并且十位等于千位*/

printf( this number is a huiwen\n

else

printf( this number is not a huiwen\n

return 0;

【程序31】

題目 請輸入星期幾的第一個字母來判斷一下是星期幾 如果第一個字母一樣 則繼續

判斷第二個字母。

1.程序分析 用情況語句比較好 如果第一個字母一樣 則判斷用情況語句或if語句判斷第二個字母。

2.程序源代碼

代碼如下:

#include stdio.h

int main()

char letter;

printf( please input the first letter of someday\n

while((letter getchar())! Y )/*當所按字母為Y時才結束*/

switch (letter)

case S :printf( please input second letter\n

if((letter getchar()) a )

printf( saturday\n

else if ((letter getchar()) u )

printf( sunday\n

else

printf( data error\n

break;

case F :printf( friday\n break;

case M :printf( monday\n break;

case T :printf( please input second letter\n

if((letter getchar()) u )

printf( tuesday\n

else if ((letter getchar()) h )

printf( thursday\n

else

printf( data error\n

break;

case W :printf( wednesday\n break;

default: printf( data error\n

return 0;

【程序32】

題目 Press any key to change color, do you want to try it. Please hurry up!

1.程序分析

2.程序源代碼

代碼如下:

#include conio.h

#include stdio.h

void main(void)

int color;

for (color color color )

textbackground(color);/*設置文本的背景顏色*/

cprintf( This is color %d\r\n , color);

cprintf( Press any key to continue\r\n

getch();/*輸入字符看不見*/

【程序33】

題目 學習gotoxy()與clrscr()函數

1.程序分析

2.程序源代碼

代碼如下:

#include conio.h

#include stdio.h

void main(void)

clrscr();/*清屏函數*/

textbackground(2);

gotoxy(1, 5);/*定位函數*/

cprintf( Output at row 5 column 1\n

textbackground(3);

gotoxy(20, 10);

cprintf( Output at row 10 column 20\n

getch();

【程序34】

題目 練習函數調用

程序分析

2.程序源代碼

代碼如下:

#include stdio.h

void hello_world(void)

printf( Hello, world!\n

void three_hellos(void)

int counter;

for (counter counter counter )

hello_world();/*調用此函數*/

int main()

three_hellos();/*調用此函數*/

return 0;

【程序35】

題目 文本顏色設置

1.程序分析

2.程序源代碼

代碼如下:

#include stdio.h

#include conio.h

void main(void)

int color;

for (color color color )

textcolor(color);/*設置文本顏色*/

cprintf( This is color %d\r\n , color);

textcolor(128 15);

cprintf( This is blinking\r\n

getch();

【程序36】

題目 求100之內的素數

1.程序分析

2.程序源代碼

代碼如下:

#include stdio.h

#include math.h

#define N 101

int main()

int i,j,line,a[N],k;

for(k k k )

for(i i sqrt(k);i )

if(k%i 0)

break;

if(i (int)sqrt(k) 1)

printf( %d ,k);

return 0;

【程序37】

題目 對10個數進行排序

1.程序分析 可以利用選擇法 即從后9個比較過程中 選擇一個最小的與第一個元素交換

下次類推 即用第二個元素與后8個進行比較 并進行交換。

2.程序源代碼

代碼如下:

#include stdio.h

int main()

int a[10],i,j,t;

printf( 請輸入10個數

for(i i i )

scanf( %d , a[i]);

for(i i i )

for(j j j )

if(a[j] a[j 1])

t a[j];

a[j] a[j

a[j 1]

for(i i i )

printf( %d ,a[i]);

return 0;

【程序38】

題目 求一個3*3矩陣對角線元素之和

1.程序分析 利用雙重for循環控制輸入二維數組 再將a累加后輸出。

2.程序源代碼

代碼如下:

#include stdio.h

#include conio.h

/* 如果使用的是TC系列編譯器則可能需要添加下句 */

static void dummyfloat(float *x){ float y; dummyfloat( }

main()

float a[3][3],sum

int i,j;

printf( please input rectangle element:\n

for(i i i )

for(j j j )

scanf( %f , a[j]);

for(i i i )

sum sum

printf( duijiaoxian he is %6.2f ,sum);

getch();

【程序39】

題目 有一個已經排好序的數組。現輸入一個數 要求按原來的規律將它插入數組中。

程序分析 首先判斷此數是否大于最后一個數 然后再考慮插入中間的數的情況 插入后

此元素之后的數 依次后移一個位置。

2.程序源代碼

代碼如下:

#include stdio.h

int main()

int a[11] {1,4,6,9,13,16,19,28,40,100},i,j,t,d;

scanf( %d , a[10]);

if(a[0] a[9])

else

for(i i i )

for(j j 10-i;j )

if(a[j] a[j 1])

t a[j];

a[j] a[j

a[j 1]

if(d 0)

for(i i i )

printf( %d ,a[i]);

else

for(i i i--)

printf( %d ,a[i]);

return 0;

【程序40】

題目 將一個數組逆序輸出。

1.程序分析 用第一個與最后一個交換。

2.程序源代碼

代碼如下:

#include stdio.h

#include conio.h

#define N 5

main()

int a[N] {9,6,5,4,1},i,temp;

printf( \n original array:\n

for(i i i )

printf( %4d ,a);

for(i i i )

temp

a a[N-i-1];

a[N-i-1] temp;

printf( \n sorted array:\n

for(i i i )

printf( %4d ,a);

getch();

【程序41】

題目 學習static定義靜態變量的用法

1.程序分析

2.程序源代碼

代碼如下:

#include stdio.h

#include conio.h

varfunc()

int var

static int static_var

printf( \40:var equal %d \n ,var);

printf( \40:static var equal %d \n ,static_var);

printf( \n

var

static_var

void main()

int i;

for(i i i )

varfunc();

getch();

【程序42】

題目 學習使用auto定義變量的用法

1.程序分析

2.程序源代碼

代碼如下:

#include stdio.h

#include conio.h

main()

int i,num;

num

for(i i i )

printf( \40: The num equal %d \n ,num);

num

auto int num

printf( \40: The internal block num equal %d \n ,num);

num

getch();

【程序43】

題目 學習使用static的另一用法。

1.程序分析

2.程序源代碼

代碼如下:

#include stdio.h

#include conio.h

main()

int i,num;

num

for(i i i )

printf( \40: The num equal %d \n ,num);

num

static int num

printf( \40:The internal block num equal %d\n ,num);

num

getch();

【程序44】

題目 學習使用external的用法。

1.程序分析

2.程序源代碼

代碼如下:

#include stdio.h

#include conio.h

int a,b,c;

void add()

int a;

c a

void main()

a b

add();

printf( The value of c is equal to %d\n ,c);

getch();

【程序45】

題目 學習使用register定義變量的方法。

1.程序分析

2.程序源代碼

代碼如下:

#include stdio.h

#include conio.h

void main()

register int i;

int tmp

for(i i 100;i )

tmp

printf( The sum is %d\n ,tmp);

getch();

【程序46】

題目 宏#define命令練習(1)

1.程序分析

2.程序源代碼

代碼如下:

#include stdio.h

#include conio.h

#define TRUE 1

#define FALSE 0

#define SQ(x) (x)*(x)

void main()

int num;

int again

printf( \40: Program will stop if input value less than 50.\n

while(again)

printf( \40:Please input number

scanf( %d , num);

printf( \40:The square for this number is %d \n ,SQ(num));

if(num 50)

again TRUE;

else

again FALSE;

getch();

【程序47】

題目 宏#define命令練習(2)

1.程序分析

2.程序源代碼

代碼如下:

#include stdio.h

#include conio.h

/*宏定義中允許包含兩道衣裳命令的情形 此時必須在最右邊加上 \ */

#define exchange(a,b) { \

int t;\

void main(void)

int x

int y

printf( x y %d\n ,x,y);

exchange(x,y);

printf( x y %d\n ,x,y);

getch();

【程序48】

題目 宏#define命令練習(3)

1.程序分析

2.程序源代碼

代碼如下:

#define LAG

#define SMA

#define EQ

#include stdio.h

#include conio.h

void main()

int i

int j

if(i LAG j)

printf( \40: %d larger than %d \n ,i,j);

else if(i EQ j)

printf( \40: %d equal to %d \n ,i,j);

else if(i SMA j)

printf( \40:%d smaller than %d \n ,i,j);

else

printf( \40: No such value.\n

getch();

【程序49】

題目 #if #ifdef和#ifndef的綜合應用。

程序分析

2.程序源代碼

代碼如下:

#include stdio.h

#include conio.h

#define MAX

#define MAXIMUM(x,y) (x y)?x:y

#define MINIMUM(x,y) (x y)?y:x

void main()

int a 10,b

#ifdef MAX

printf( \40: The larger one is %d\n ,MAXIMUM(a,b));

#else

printf( \40: The lower one is %d\n ,MINIMUM(a,b));

#endif

#ifndef MIN

printf( \40: The lower one is %d\n ,MINIMUM(a,b));

#else

printf( \40: The larger one is %d\n ,MAXIMUM(a,b));

#endif

#undef MAX

#ifdef MAX

printf( \40: The larger one is %d\n ,MAXIMUM(a,b));

#else

printf( \40: The lower one is %d\n ,MINIMUM(a,b));

#endif

#define MIN

#ifndef MIN

printf( \40: The lower one is %d\n ,MINIMUM(a,b));

#else

printf( \40: The larger one is %d\n ,MAXIMUM(a,b));

#endif

getch();

很快就

責任編輯:xiaochao

總結

以上是生活随笔為你收集整理的c语言程序设计50例(经典收藏),C语言程序设计50例(经典收藏)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。