c語言案列
❶ c語言switch case語句例子是什麼
int I, k, a, b, c, d, e, f;
printf("請輸入利潤I: ");
scanf("%d", &I);
a = 100000 * (1/10);
b = (200000 - 100000) * 75/1000;
c = (400000 - 200000) * 5/100;
d = (600000 - 400000) * 3/100;
e = (1000000 - 600000) * 15/1000;
if(I <= 100000)
printf("獎金總數k=%d ", I/10);
else if(100000 < I && I <= 200000)
printf("獎金總數k=%d ", a + (I - 100000) * 75/1000);
else if(200000 < I && I <= 400000)
printf("獎金總數k=%d ", a + b + (I- 200000) * 5/100);
else if(400000 < I && I <= 600000)
printf("獎金總數k=%d ", a + b + c + (I- 400000) * 3/100);
else if(600000 < I && I <= 1000000)
printf("獎金總數k=%d ", a + b + c + d + (I- 600000) * 15/1000);
else
printf("獎金總數k=%d ", a + b + c + d + e + (I -1000000) * 1/100);
遵守switch語句規則
switch語句非常有用,但在使用時必須謹慎。所寫的任何switch語句都必須遵循以下規則:
只能針對基本數據類型中的整型類型使用switch,這些類型包括int、char等。對於其他類型,則必須使用if語句。
switch()的參數類型不能為實型 。
case標簽必須是常量表達式(constantExpression),如42或者'4'。
case標簽必須是惟一性的表達式;也就是說,不允許兩個case具有相同的值。
❷ c語言例子 100行以上
#include "stdafx.h"
#include "iostream.h"
#define M 2000
#define N 8
void magic(int a[M][M], int);
int main(int argc, char* argv[])
{
static int a[M][M];
int d = 12;
int n = 8;
while(1){
while(1)
{
cout<<"請輸入方陣的階數, 階數必須能被4整除:";
cin>>n;
if(n%4 != 0 )cout<<"笨蛋,看清楚題目!\n"<<endl;
else if(n>64)cout<<n<<"! 這么大, 想累死我啊, 不給算了!\n"<<endl;
else break;
}
//Init
for(int i=1; i<=n; i++)
{
for(int j=1; j<=n; j++)
{
a[i][j]=d;
d++;
// d++;
}
}
magic(a, n);
//Print dimension and sum for rows
for( i=1; i<=n; i++)
{
int sum=0;
for(int j=1; j<=n; j++)
{
cout<<a[i][j]<<"\t";
sum+=a[i][j];
}
cout<<" | "<<sum<<"\n\n";
}
//Print sum of columns
for(i = 1; i<=n; i++)cout<<"--\t";
cout<<"\n";
for(i=1; i<=n; i++)
{
int sum = 0;
for(int j = 1; j<=n; j++) sum += a[j][i];
cout<<sum<<"\t";
}
cout<<"\n\n";
char c;
cout<<"Continue?(y/n)";
cin>> c;
if(c=='n'|| c=='N')break;
}
return 0;
}
void exchg(int &a, int &b)
{
int t;
t = a;
a = b;
b = t;
}
void magic(int a[M][M], int n) // a:= 矩陣 n:= 實際階數
{
int baseBlock_x=0;
int baseBlock_y=0;
int MaxBlock = n/4;
if(MaxBlock%2==0)
{
for(int bx = 0; bx<MaxBlock/2; bx++)
for(int by=0; by<MaxBlock; by++)
{
for(int c = 1; c <= 4; c++)
{
exchg(a[bx*4+c][by*4+c], a[n+1-bx*4-c][n+1-by*4-c]);
exchg(a[bx*4+c][by*4+5-c], a[n+1-bx*4-c][n+1-by*4-5+c]);
}
}
}
else
{
for(int bx = 0; bx<MaxBlock/2; bx++)
{
for(int by=0; by<MaxBlock; by++)
{
for(int c = 1; c <= 4; c++)
{
exchg(a[bx*4+c][by*4+c], a[n+1-bx*4-c][n+1-by*4-c]);
exchg(a[bx*4+c][by*4+5-c], a[n+1-bx*4-c][n+1-by*4-5+c]);
}
}
}
bx = MaxBlock/2;
for(int by=0; by<MaxBlock; by++)
{
for(int c = 1; c <= 2; c++)
{
exchg(a[bx*4+c][by*4+c], a[n+1-bx*4-c][n+1-by*4-c]);
exchg(a[bx*4+c][by*4+5-c], a[n+1-bx*4-c][n-by*4-4+c]);
}
}
}
}
❸ c語言函數調用例子
C語言中,函數調用的一般形式為:函數名(實際參數表)
對無參函數調用時則無實際參數表。實際參數表中的參數可以是常數,變數或其它構造類型數據及表達式。各實參之間用逗號分隔。
在C語言中,可以用以下幾種方式調用函數:
1、函數表達式:函數作為表達式中的一項出現在表達式中,以函數返回值參與表達式的運算。這種方式要求函數是有返回值的。例如:z=max(x,y)是一個賦值表達式,把max的返回值賦予變數z。
2、函數語句:函數調用的一般形式加上分號即構成函數語句。例如: printf ("%d",a);scanf ("%d",&b);都是以函數語句的方式調用函數。
3、函數實參:函數作為另一個函數調用的實際參數出現。這種情況是把該函數的返回值作為實參進行傳送,因此要求該函數必須是有返回值的。
❹ C語言簡單例子
C語言中,一般會用到函數。系統默認從主函數開始運行,即main()函數。一般結構為:
void main(void)
{
....
}
一般函數是帶有參數的,即後面括弧中需要一個或n個變數。中間用逗號隔開。例如
void add(int a, int b)
{
...
}
其中a,b為整形的參數,在大部分系統中int 代表16位的數。
有的函數還有返回值:像上面的一個加法函數,可以寫成:
int add(int a,int b)
{
return (a+b); //retuen為返回值
}
當我們要調用該函數時,只需要這要寫:
void main(void)
{
int sum = 0;
sum = add(x1,x2); //x1,x2為兩個常數
}
❺ c語言例子
你看看這段代碼:
#include <stdio.h>
int main ()
{
int i,j,k;
for ( i=1;i<=3;i++) //對A有3中選擇X,Y,Z
for ( j=1;j<=3;j++) //對B有3中選擇X,Y,Z
for (k=1;k<=3;k++) //對C有3中選擇X,Y,Z
if (i!=j&&j!=k&&i!=k&&i!=1&&j!=1&&j!=3)
//和A,B,C對手的必須不相同 (i!=1 就是A的對手不是X,j!=1 就是B的對手不是X,j!=3就是B的對手不是Z)
printf ("A--%c\nB--%c\nC--%c\n",i+'X'-1,j+'X'-1,k+'X'-1);
return 1;
}
❻ C語言編程實例
首先main中對x進行賦值,是12345678這個無符號長整形數,然後傳到part()函數中,結構體那部分不用考慮,其它地方也沒有對num進行更改,不會對內容有影響,所以輸出結果為12345678;
然後p=&n把n的地址賦給指針p,n.w=num把12345678賦給w,此時結構體n的地址其實就是12345678所在的地址,p指向n,同時結構體*p中的數組part的初始地址也在p上,也就是說p指向的數組part於n.w的首地址是相同的;
看你的輸出結果,你的C中int和long應該都是32位吧,所以輸出part[0]就是輸出part地址上的前32位,即num,part[1]上都是空的,什麼也沒有,所以就是8個C;
PS:我想這個程序的意義是把long型整數進行拆分,分別輸出高低位兩部分,但是你的C中的int和long都是32位,所以沒成功吧
呵呵,也不知道說的對不,C很久沒用了
❼ 經典C語言程序例子
題目01:在一個已知的字元串中查找最長單詞,假定字元串中只含字母和空格,空格用來分隔不同的單詞。
(7)c語言案列擴展閱讀:
C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。
❽ C語言實例
#include
<stdio.h>
#define
N
50
//
排隊人數(可任意更改)
#define
CAL
3
//凡報3的人出列(可任意更改)
//下面是排隊編號函數:從h
開始的n個人依次編號1到n
void
stdline(int
*h,int
n)
{
int
i;
for(i=1;i<n+1;i++)
*(h+i-1)=i;
}
/*下面函數表示從指針h處開始的人數為boy個人排隊,從1報數,每報到call的人出列*/
void
outline(int
*h,int
boy,int
call)
{
int
*p,
chu,
callnum;
/*說明:
p
工作指針,表示從頭依次指向每個元素,點名
chu
計數器,記錄出列的人數
callnum
計數器,記錄點名次序
*/
chu=0;
callnum=0;//各計數器清零
p=h;
//開始時,工作指針指向數組首
printf("出列順序是:\n");
while(chu<boy)
{
if(*p!=0)
callnum++;
//每次加報數
if(callnum==call)
//如果某一個人報到出列數call...
{
printf("%5d",*p);
//列印編號,表示出列
chu++;
//出列人數加1
if(chu==boy)//如果全部出列....
{
*h=*p;
//把最後一個出列人的編號記入地址開始處
return;
//結束
}
if(chu%10==0)printf("\n");//每輸出10個換行
callnum=0;
//出列後,重新報數
*p=0;
//出列後,將其編號賦零,以示區別
}
p++;
//工作指針移向下一個人,即下一個數組元素
if(p>h+boy-1)p=h;/*如果移到最後一個元素的後面,則讓指向地址開頭繼續報數*/
}
}
void
main()
{
int
a[N];
//用數組模擬隊列,每個元素代表一個人
stdline(a,N);//編號
outline(a,N,CAL);//計算並列印出列順序
printf("\n最後留下來的是
%d
號\n",*a);/*在函數中,已經把最後一個人的編號寫入了數組首地址處,
這里輸出就可以了*/
}
❾ c語言程序設計實例
這是個宏定義,表示後面那個格式化字元串以FORMAT來代替
❿ C語言的經典編程例子
//最經典的當然是HelloWorld了。
#include"stdio.h"
intmain(void)
{
printf("HelloWorld! ");
}