搜索
您的当前位置:首页正文

C语言源代码(分享文档)

来源:六九路网
可编辑文档

剪刀石头布源代码

#include

#include

main()

{

int d,x;

{

printf(\"请输入:1是剪刀,2是石头,3是布\");

scanf(\"%d\

x=rand()%3;

if(d==x)

printf(\"双方平局\");

else if((d==1&&x==2)||(d==2&&x==3)||(d==3&&x==1))

1/50

可编辑文档

printf(\"你赢了\");

else

printf(\"电脑赢了\");

}

}

简单计算器

#include

main()

{

int a,b,d=0;

char c;

while(d==0)

{

2/50

可编辑文档

printf(\"请开始计算,请输入需要运算的数字和运算法则,数字 符号 数字:\");

scanf(\"%d%c%d\

switch(c)

{

case'+':

printf(\"%d+%d=%d\\n\

break;

case'-':

printf(\"%d-%d=%d\\n\

break;

case'*':

printf(\"%d*%d=%d\\n\

break;

3/50

可编辑文档

case'/':

if(0==b)

printf(\"除法被除数不能为零!\\n\") ;

else

printf(\"%d/%d=%d\\n\

break;

}

}

}

加油站加油问题

#include

int main()

{

4/50

可编辑文档

double a = 3.25, b = 3.00, c= 2.75;

double d = 0.05, e = 0.10, m;

int x,y,z;

printf(\"请输入您要的加油量:\");

scanf(\"%d\

printf(\"请输入您要的汽油种类,1-a型汽油售价3.25元/千克, 2-b型汽油售价3.00元/千克, 3-c型汽油售价2.75元/千克:\");

scanf(\"%d\

printf(\"请输入您要的服务类型,1-自己加 服务优惠0.05,2-协助加 服务优惠0.10:\");

scanf(\"%d\

switch(y)

{

case 1:

5/50

可编辑文档

y = a;break;

case 2:

y = b;break;

case 3:

y = c;break;

}

if(z == 1)

m = (1 - d) * y * x;

else if(z == 2)

m = (1 - e) * y * x;

printf(\"您需要支付:%f 元,谢谢惠顾,欢迎下次再来\

return 0;

}

6/50

可编辑文档

猜数字游戏

#include

#include

int main()

{

int d=1,e=0;

int a,b,t;

printf (\"请输入1-10以内的整数,\\n \");

while(d==1)

{

printf(\"玩家的选择: \");

scanf(\"%d\

do

7/50

可编辑文档

{

if((a>=0)&&(a<11))break;

else

{printf(\"错误\");

scanf(\"%d\

}

while(e==0);

b=rand()%10+1;

printf(\"npc:%d\

t=a-b;

if(t==0)

printf(\"\\nRight!\\n\");

else if(t<0)

8/50

可编辑文档

printf(\"\\n Wrong !太小了\\ n\");

else if(t>0)

printf(\"\\n Wrong !太大了\\ n\");

}

return 0;

}

万年历

#include

#include

void setmonth(int r);

void main(void)

{

int year,month,day,a,b,i,j,d,x,mon,k;

9/50

可编辑文档

do

{

printf(\"----------------------------------------------------\\n\");

printf(\" 查全年,输入 1!\\n\");

printf(\" 查月份,输入 2!\\n\");

printf(\" 查日期,输入 3!\\n\");

printf(\" 继续?输入 4!\\n\");

printf(\" 退出,输入 5!\\n\");

printf(\"-----------------------------------------------------\\n\");

printf(\"请输入:\");

scanf(\"%d\

if(x==1)

{

10/50

可编辑文档

month=12;

printf(\"输入年份:\");

scanf(\"%d\

}

if(x==2)

{

printf(\"输入年份:\");

scanf(\"%d\

printf(\"输入月份:\");

scanf(\"%d\

}

if(x==3)

{

11/50

可编辑文档

printf(\"输入年份:\");

scanf(\"%d\

printf(\"输入月份:\");

scanf(\"%d\

printf(\"输入日期:\");

scanf(\"%d\

month=mon-1;

}

if(x==5)

exit(100);

a=((year-1)*365+(year-1)/4-(year-1)/100+(year-1)/400)%7;

for(i=1,d=0;i<=month;i++)

{

12/50

可编辑文档

switch(i)

{

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:d=31;break;

case 2:if(!(year%4)&&(year%100)||!(year%400))

d=29;

else

d=28;

13/50

可编辑文档

break;

case 4:

case 6:

case 9:

case 11:d=30;

}

b=a%7;

a+=d;

if(x==1)

{

printf(\"========================================================\\n\");

setmonth(i);

printf(\"************************************************\\n\");

14/50

可编辑文档

printf(\"========================================================\\n\");

printf(\" 星期一 星期二 星期三 星期四 星期五 星期六 星期天\\n\");

for(j=1;j<=b;j++)

printf(\"%8c\

for(j=1;j<=d;j++)

{

printf(\"%8d\

if((j+b)%7==0)

printf(\"\\n\");

}

}

if(x==1)

printf(\"\\n\");

15/50

可编辑文档

}

if(x==2)

{

printf(\"========================================================\\n\");

setmonth(i-1);

printf(\"************************************************\\n\");

printf(\"========================================================\\n\");

printf(\" 星期一 星期二 星期三 星期四 星期五 星期六 星期天\\n\");

for(j=1;j<=b;j++)

printf(\"%8c\

for(j=1;j<=d;j++)

{

16/50

可编辑文档

printf(\"%8d\

if((j+b)%7==0)

printf(\"\\n\");

}

printf(\"\\n\");

}

if(x==3)

{

a+=day;

a%=7;

switch(a)

{

case 0:printf(\"%d.%d.%d 星期一!\

17/50

可编辑文档

case 1:printf(\"%d.%d.%d 星期二!\

case 2:printf(\"%d.%d.%d 星期三!\

case 3:printf(\"%d.%d.%d 星期四!\

case 4:printf(\"%d.%d.%d 星期五!\

case 5:printf(\"%d.%d.%d 星期六!\

default:printf(\"%d.%d.%d 星期天!\

}

printf(\"\\n\");

}

printf(\"是否继续?输入4继续,输入5退出:\");

scanf(\"%d\

} while(k==4);

if(k==5)

18/50

可编辑文档

exit(100);

}

void setmonth(int r)

{

switch(r)

{

case 1:printf(\"%4c 一月份\

case 2:printf(\"%4c 二月份\

case 3:printf(\"%4c 三月份\

case 4:printf(\"%4c 四月份\

case 5:printf(\"%4c 五月份\

case 6:printf(\"%4c 六月份\

case 7:printf(\"%4c 七月份\

19/50

可编辑文档

case 8:printf(\"%4c 八月份\

case 9:printf(\"%4c 九月份\

case 10:printf(\"%4c 十月份\

case 11:printf(\"%2c 十一月份\

default:printf(\"%2c 十二月份\

}

}

ATM机

# include

# include

# define Password 123456

main ()

{

20/50

可编辑文档

int a,i,b,q,c;

float m;

m=3000.00;

for (i=0;i<=2;i++)

{printf(\"请输入密码\\n\");

scanf(\"%d\

if(a==Password)

{printf(\"密码正确,欢迎使用\\n\");

break;}

else

printf(\"密码错误,请重新输入\\n\");}

{if (a!=Password)

printf(\"您的操作错误超过3次,请取回卡\\n\");

21/50

可编辑文档

else

{system(\"cls\");

printf(\"1.取款\\n2.存款\\n3.查询余额\\n4.退出\\n\");

}}

while(b!=4)

{

scanf(\"%d\

switch(b)

{

case 1: system(\"cls\");printf(\"请输入你要取款的金额\\n\");

scanf(\" %d\取款成功,请选择你要进行的操作\\n\");m=m-q;break;

case 2: system(\"cls\");printf(\"请输入你要存入的金额\\n\");scanf(\" %d\

;printf(\"存款成功,请选择你要进行的操作\\n\");break;

22/50

可编辑文档

case 3: system(\"cls\");printf(\"您的余额为%.2f\\n\

case 4: system(\"cls\");printf(\"谢谢使用\");break;

}

}

return 0;}

学生成绩

#include

#include

float s[3][4];

int r=0,c=0;

void pjf(void)

{

int i,j,cour = 0;

23/50

可编辑文档

for(j=0;j<4;j++)

{

for(i=0;i<3;i++)

cour+=s[i][j];

printf(\"第%d课的平均分是%d\\n\j+1),cour/3);

cour = 0;

}

}

void dkzg(void)

{

int i,j,high=0;

for(j=0;j<4;j++)

{

24/50

可编辑文档

for(i=0;i<3;i++)

{

if(s[i][j]>high)

{

high=s[i][j];

r=i+1;

c=j+1;

}

}

printf(\"最高分是%d,学生是%d,课程是%d\\n\

r=0;

c = 0;

high = 0;

25/50

可编辑文档

}

}

int main()

{

int i,j;

float score=0;

for(i=0;i<3;i++)

{

printf(\"enter NO.%d score\\n\

for(j=0;j<4;j++)

{

scanf(\"%f\

score += s[i][j];

26/50

可编辑文档

}

printf(\"第%d个学生的平均分是%f\\n\

score = 0;

}

pjf();

dkzg();

return 0;

}

选票问题

#include

void main()

{

int i=1;

27/50

可编辑文档

char j;

int num[4]={0,0,0,0};

printf(\"3位候选人,分别为A,B,C D为无效票,开始投票\\n\");

while(i<=10)

{

printf(\"请输入第%d个的选票\

scanf(\"%c\

switch(j)

{

case 'A':num[0]++;i++;break;

case 'B':num[1]++;i++;break;

case 'C':num[2]++;i++;break;

case 'D':num[3]++;i++;break;

28/50

可编辑文档

}

getchar();

}

printf(\"A获得%d张选票\\n\

printf(\"B获得%d张选票\\n\

printf(\"C获得%d张选票\\n\

printf(\"无效票为%d张 \\n\

}

打字母游戏

#include

#include

#include

#include

29/50

可编辑文档

#include

#include

// 欢迎界面

void welcome()

{

// 输出屏幕提示

cleardevice(); //清除屏幕内容,用当前背景色清空屏幕,并将当前点移至 (0, 0)。.

setcolor(RED); //设置当前绘图前景色为红色,字体颜色为红色

setfont(64, 0, \"黑体\");//设置当前字体样式为黑体,大小为64

outtextxy(160, 50, \"打字母游戏\");//在指定位置输出字符串。.

setcolor(GREEN);//设置当前绘图前景色为绿色,即文字颜色为绿色

setfont(16, 0, \"宋体\");//设置当前字体样式为宋体

outtextxy(200, 200, \"本游戏是一个简单传统的游戏\");//在指定位置输出字符串。.

30/50

可编辑文档

outtextxy(200, 240, \"就是随机出现些字母然后游戏\");//在指定位置输出字符串。.

outtextxy(200, 280, \"者敲键盘把它消除用以锻炼游\");//在指定位置输出字符串。.

outtextxy(200, 320, \"者的反应能力,来试试吧\");//在指定位置输出字符串。.

// 实现闪烁的\"按任意键继续\"

int c=255;

while(!kbhit()) //没有按键时循环继续

{

setcolor(RGB(c, 0, 0));//设置当前绘图前景色为红色色

outtextxy(280, 400, \"按任意键继续\");//在指定位置输出字符串

c -= 8; //变量c的值自减去8

if (c < 0) c = 255;

Sleep(20);//调用Sleep()函数延时20毫秒

}

31/50

可编辑文档

getch();//等待用户从键盘按任意一个键,退出循环

cleardevice();//用当前背景色清空屏幕,并将当前点移至 (0, 0)。.

}

// 难度界面

int welcome2()

{

int i;// 输出屏幕提示

cleardevice(); //清除屏幕内容,用当前背景色清空屏幕,并将当前点移至 (0, 0)。.

setcolor(YELLOW); //设置当前绘图前景色为黄色,字体颜色为黄色

setfont(64, 0, \"黑体\");//设置当前字体样式为黑体,大小为64

outtextxy(160, 50, \"难度选择\");//在指定位置输出字符串。.

setcolor(GREEN);//设置当前绘图前景色为绿色,即文字颜色为绿色

setfont(16, 0, \"宋体\");//设置当前字体样式为宋体

32/50

可编辑文档

outtextxy(100, 160, \"初级\");//在指定位置输出字符串。.

outtextxy(100, 200, \"中级\");//在指定位置输出字符串。.

outtextxy(100, 240, \"高级\");//在指定位置输出字符串。.

outtextxy(100, 280, \"终极\");//在指定位置输出字符串。.

outtextxy(100, 380, \"初级选择1,中级选择2,高级选择3,终极4,退出5\");

scanf(\"%d\

return i;

}

//过关界面

void ok()

{

cleardevice();

setcolor(YELLOW);

33/50

可编辑文档

setfont(48, 0, \"黑体\");

outtextxy(104, 180, \"恭喜过关,再接再厉\");

getch();

}

//未过界面

void gameover()

{

cleardevice();

setcolor(YELLOW);

setfont(48, 0, \"黑体\");

outtextxy(104, 180, \" GAME OVER\");

getch();

}

34/50

可编辑文档

// 退出界面

void goodbye()

{

cleardevice();//用当前背景色清空屏幕,并将当前点移至 (0, 0)。.

setcolor(BLUE);//设置当前绘图前景色为蓝色

setfont(48, 0, \"黑体\");//设置输出字符串的字体为黑体,大小为48

outtextxy(40, 180, \"其实游戏可以适当玩玩的!\");

getch();//等待用户从键盘按任意一个键

}

// 主函数

void main()

{

int a;

35/50

可编辑文档

initgraph(640, 480); // 初始化屏幕为 640x480

welcome(); // 显示欢迎界面

bb:a=welcome2();

cleardevice(); //清除屏幕内容,用当前背景色清空屏幕,并将当前点移至 (0, 0)。.

srand(time(NULL)); // 设置随机种子

setfont(20, 0, \"黑体\"); // 设置字母的字体和大小

setfillstyle(BLACK); // 设置清除字母的填充区域颜色

char target,target1; // 目标字母

char key; // 用户的按键

int x, y,b=51,c=48; // 字母的位置

switch(a)

{

case 1:

36/50

可编辑文档

{

while(true)

{

target = 65 + rand() % 26; // 产生任意大写字母

x = rand() % 550; // 产生任意下落位置

for (y=0; y<460; y++)

{

setcolor(GREEN); // 设置字母的颜色

outtextxy(x, y, target);

setcolor(RED);

outtextxy(550, 80, \"生\命\值\");

outtextxy(600, 120, b);

setcolor(GREEN);

37/50

可编辑文档

outtextxy(560, 450, \"分值\");

outtextxy(600, 450, c);

if(kbhit())

{

key = getch(); // 获取用户按键

if((key != target) && (key != target + 32))

b=b-1;

if((key == target) || (key == target + 32))

{

// 按键正确,\"击落\"字母(画黑色方块擦除)

bar(x, y, x + 20, y + 20);

c=c+1;

break; // 跳出循环,进行下一个字母

38/50

可编辑文档

}

else if (key == 27)

{

goto EXIT; // 如果按 ESC,退出游戏主循环

}

}

if(y==459) b=b-1;

if(b==48) goto over;

if(c==57) goto win;

Sleep(10);

bar(x, y, x + 20, y + 20);

}

}

39/50

可编辑文档

}break;

case 2:

{

while(true)

{

target = 65 + rand() % 26; // 产生任意大写字母

x = rand() % 550; // 产生任意下落位置

for (y=0; y<460; y=y+2)

{

setcolor(GREEN); // 设置字母的颜色

outtextxy(x, y, target);

outtextxy(x+160,y,target1);// 显示字母

setcolor(RED); // 显示字母

40/50

可编辑文档

outtextxy(550, 80, \"生命值\");

outtextxy(600, 120, b);

setcolor(GREEN);

outtextxy(560, 450, \"分值\");

outtextxy(600, 450, c);

if(kbhit())

{

key = getch(); // 获取用户按键

if((key != target) && (key != target + 32))

b=b-1;

if((key == target) || (key == target + 32))

{

bar(x, y, x + 20, y + 20);

41/50

可编辑文档

c=c+1;

break;

}

else if (key == 27) goto EXIT; // 如果按 ESC,退出游戏主循环

}

if(y==459) b=b-1;

if(b==48) goto over;

if(c==57) goto win;

Sleep(1);

bar(x, y, x + 20, y + 20);

}

}

}break;

42/50

可编辑文档

case 3:

{

while(true)

{

target = 65 + rand() % 26; // 产生任意大写字母

x = rand() % 550; // 产生任意下落位置

for (y=0; y<460; y=y+1)

{

setcolor(GREEN); // 设置字母的颜色

outtextxy(x, y, target);

setcolor(RED); // 显示字母

outtextxy(550, 80, \"生\命\值\");

outtextxy(600, 120, b);

43/50

可编辑文档

setcolor(GREEN);

outtextxy(560, 450, \"分值\");

outtextxy(600, 450, c);

if(kbhit())

{

key = getch(); // 获取用户按键

if((key != target) && (key != target + 32))

b=b-1;

if((key == target) || (key == target + 32))

{

// 按键正确,\"击落\"字母(画黑色方块擦除)

bar(x, y, x + 20, y + 20);

c=c+1;

44/50

可编辑文档

break; // 跳出循环,进行下一个字母

}

else if (key == 27) goto EXIT; // 如果按 ESC,退出游戏主循环

}

if(y==459) b=b-1;

if(b==48) goto over;

if(c==57) goto win;

int i;

for(i=0;i<1000000;i++);

bar(x, y, x + 20, y + 20);

}

}

}break;

45/50

可编辑文档

case 4:

{

while(true)

{

target = 65 + rand() % 26; // 产生任意大写字母

x = rand() % 550; // 产生任意下落位置

for (y=0; y<460; y++)

{

setcolor(GREEN); // 设置字母的颜色

outtextxy(x, y, target);

outtextxy(x+160,y,target1);// 显示字母

setcolor(RED); // 显示字母

outtextxy(550, 80, \"生命值\");

46/50

可编辑文档

outtextxy(600, 120, b);

setcolor(GREEN);

outtextxy(560, 450, \"分值\");

outtextxy(600, 450, c);

if(kbhit())

{

key = getch(); // 获取用户按键

if((key != target) && (key != target + 32))

b=b-1;

if((key == target) || (key == target + 32))

{

bar(x, y, x + 20, y + 20);

47/50

可编辑文档

c=c+1;

break;

}

else if (key == 27) goto EXIT; // 如果按 ESC,退出游戏主循环

}

if(y==459) b=b-1;

if(b==48) goto over;

if(c==57) goto win;

int i;

for(i=0;i<1000000;i=i+2);

bar(x, y, x + 16, y + 16);

}

}

48/50

可编辑文档

}break;

case 5:

goto EXIT;break;

}

over: gameover(); goto bb;

win: ok(); goto bb;

EXIT: goodbye(); closegraph(); // 关闭图形界面

}

(精选文档,可编辑word,整理文档不易,建议收藏)

(精选文档,可编辑word,整理文档不易,建议收藏)

(精选文档,可编辑word,整理文档不易,建议收藏)

(精选文档,可编辑word,整理文档不易,建议收藏)

(精选文档,可编辑word,整理文档不易,建议收藏)

49/50

可编辑文档

(精选文档,可编辑word,整理文档不易,建议收藏)

(精选文档,可编辑word,整理文档不易,建议收藏)

(精选文档,可编辑word,整理文档不易,建议收藏)

(精选文档,可编辑word,整理文档不易,建议收藏)

(精选文档,可编辑word,整理文档不易,建议收藏)

50/50

因篇幅问题不能全部显示,请点此查看更多更全内容

Top