第一次上機考參考答案 僅供參考,同學可自行再想更好的方法..

Slides:



Advertisements
Similar presentations
CSIM, PU C Language Introduction to the C Programming Language 重覆敘述 (for,while,break,continue) 適合重複性的計算或判斷.
Advertisements

親愛的老師您好 感謝您選用本書作為授課教材,博碩文化準備本書精選簡報檔,特別摘錄重點提供給您授課專用。 說明: 博碩文化:
“八皇后”问题 崔萌萌 吕金华.
项目五——校园一卡通程序功能模块化设计 5-1项目显示查询和退出函数设计.
第三章 控制结构.
第4章 选择结构程序设计 在现实生活中,需要进行判断和选择的情况是很多的 如果你在家,我去拜访你 如果考试不及格,要补考
C语言程序设计 第十二章 位运算.
C语言程序设计 第五章 选择结构程序设计.
C语言程序设计 课程 第5章 数组 主讲:李祥 博士、副教授 单位:软件学院软件工程系.
循环结构又称为重复结构:用来处理需要重复处理的问题,它是程序中一种很重要的结构。
Class 2 流程控制-選擇敘述與迴圈.
函數 授課:ANT 日期:2009/3/24.
選擇排序法 通訊一甲 B 楊穎穆.
C的發展史 C程式初體驗 C程式設計基本注意事項 上機實習課程
第3章 顺序结构程序设计 本章要点: 格式化输出函数──printf() 格式输入函数——scanf() 字符输出函数——putchar()
排序 Sorting.
適用於多選一 可減少if 與 else配對混淆的錯誤.
第4章 选择结构程序设计 4.1 选择结构和条件判断 4.2 用if语句实现选择结构 4.3关系运算符和关系表达式
If … else 選擇結構 P27.
第五章 选择结构程序设计 一、关系运算符和表达式 1、关系运算符 在程序中经常需要比较两个量的大小关系, 以决定程序下一步
程序讲解 第一题: 将指定文件的m行到n行字符写到显示屏上,m和n值从键盘输入。 运行时输入及结果: please enter m,n:
Introduction to the C Programming Language
Introduction to the C Programming Language
STRUCTURE 授課:ANT 日期:2010/5/12.
第七章 函数 目录 有参的加法函数的开发 函数定义的一般形式 函数参数和函数的值 函数的调用
QQ: 李祥 QQ: 欢迎多种方式的学习交流,祝大家学有所成.
计算概论 第十八讲 C语言高级编程 结构与习题课 北京大学信息学院.
程式撰寫流程.
第5章 堆疊(Stacks) 5-1 堆疊的基礎 5-2 堆疊的表示法 5-3 堆疊的應用 - 運算式的計算與轉換
Introduction to the C Programming Language
6.4.1指针与二维数组 1、二维数组结构的分析 设有数组定义为:int a[3][4]; 则有: a表示数组在内存中的首地址。
Chap 3 分支结构 3.1 简单的猜数游戏 3.2 四则运算 3.3 查询自动售货机中商品的价格.
1. 說明一個一維整數陣列passwd,下標範圍0至49 2. 在屏幕顯示 "Enter password"
C语言 程序设计基础与试验 刘新国、2012年秋.
計數式重複敘述 for 迴圈 P
Introduction to the C Programming Language
第七章 函数及变量存贮类型 7.1 函数基础与C程序结构 7.2 函数的定义和声明 7.3 函数的调用 7.4 函数的嵌套与递归
授课老师:龚涛 信息科学与技术学院 2016年3月 教材:《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
第0章作业: 教材P12-练习与实践 1.写出用符号’*’输出描绘汉字”大”的流程图。
目录 9.1 结构体类型 9.2 共用体类型 9.3 枚举类型 9.4 类型声明符typedef 1.
C语言概述 第一章.
程式結構&語法.
C语言复习2----函数.
C 语言程序设计 程序的循环结构 电大崇信县工作站 梁海亮.
Introduction to the C Programming Language
第11章 位运算 为了节省内存空间,在系统软件中常将多个标志状态简单地组合在一起,存储到一个字节(或字)中。C语言是为研制系统软件而设计的,所以她提供了实现将标志状态从标志字节中分离出来的位运算功能。 所谓位运算是指,按二进制位进行的运算。 11.1 数值在计算机中的表示 11.2.
函式庫補充資料.
C语言的特点 1. C程序由许多函数组成 2. C程序必须有且只有一个主函数main( ) 3. 函数用“{”和“}”表示起点和终点
目录 4.1选择结构程序设计的概述 4.2关系运算符和表达式 4.3逻辑运算符和表达式 4.4用if语句实现选择结构程序设计
浙江长征职业技术学院—计算机与信息技术系—相方莉制作
Chap 5 函数 5.1 计算圆柱体积 5.2 使用函数编写程序 5.3 变量与函数.
輸出與輸入(I/O).
C程序设计.
Introduction to the C Programming Language
本节内容 函数嵌套调用的内存布局 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第五章 逻辑运算和判断选取控制 §5.1 关系运算符和关系表达式
Introduction to the C Programming Language
第七章  数 组.
程式設計--linear search 通訊一甲 B 楊穎穆.
第1章 数据结构基础概论 本章主要介绍以下内容 数据结构研究的主要内容 数据结构中涉及的基本概念 算法的概念、描述方法以及评价标准.
C/C++基礎程式設計班 字元與字串 講師:林業峻 CSIE, NTU 3/14, 2015.
单片机应用技术 (C语言版) 第4章 C51程序设计入门
Introduction to the C Programming Language
多重條件選擇敘述
第三章 流程控制 程序的运行流程 选择结构语句 循环结构语句 主讲:李祥 时间:2015年10月.
Q1(a) 小偉打算編寫一個程序。該程序把兩個44的表內的數字相加。表3內的數字是由表1和表2應格子內的數字相加而成。例如:
Introduction to the C Programming Language
函式庫補充資料 1.
C语言基础学习 从外行到入门.
隨機函數.
Presentation transcript:

第一次上機考參考答案 僅供參考,同學可自行再想更好的方法.

1.請寫一程式,可以輸入您的彩券號碼,並輸出中獎情形 #include<stdio.h> main() { int num[6]={3,8,15,22,25,41}; int num2[6]; int i,j,count=0; char flag,flag2; printf("============================\n"); printf(" 歡迎來到樂透彩對獎系統\n"); do{ for(i=0;i<6;i++) printf("Please input your %d numbers:",i+1); scanf("%d",&num2[i]); if((num2[i]>42)||(num2[i]<1)) { printf("輸入錯誤,請重新輸入!\n"); flag2=1;break; } flag2=0; }while(flag2==1); for(i=0;i<6;i++) for(j=0;j<6;j++) { if(num2[i]==num[j]) count++; } printf("本期中獎號碼為:3,8,15,22,25,41\n"); switch(count) case 0: case 1: case 2:printf("您未中獎!\n");break; case 3:printf("恭喜您中普獎!\n");break; case 4:printf("恭喜您中參獎!\n");break; case 5:printf("恭喜您中二獎!\n");break; case 6:printf("恭喜您中頭獎!\n");break; printf("再對一次獎嗎(y/n)?\n"); scanf(" %c",&flag); }while((flag=='y')||(flag=='Y'));

2.試寫一程式計算x的 y 次方 #include <stdio.h> #include <stdlib.h> int power(int xx,int yy) { int i; int total=1 ; for(i=1;i<=yy;i++) total=total*xx ; } return(total) ; int main(void) int x,y ; printf("Please use a comma\n"); printf("Pls. input the x and y for power(x,y)") ; scanf("%d,%d",&x,&y) ; printf("Result of power(x,y)=%d\n",power(x,y)) ; system("pause") ; return 0 ; }

3.請將作業1新增加一個功能:可讓使用者輸入出牌的順序。 #include<stdlib.h> #include<stdio.h> #include<time.h> #include<math.h> int poker[4][14],user[4][2],sys[4][2],sequence[4]; int main(void) { int card(int,int); void create(void); int compare(void); void show_result(int a[4][2]); int i,j,win=0; printf("------------------------------\n"); printf(" 歡迎來到POKER SYSTEM\n"); for(i=0;i<4;i++) for(j=0;j<14;j++) poker[i][j]=0; } for(j=0;j<2;j++) sys[i][j]=0; user[i][j]=0; printf(" 請等候系統發牌\n\n"); create(); win=compare(); printf(" 比賽結果:\n\n"); if(win==0) printf(" 你輸了!!\n"); else if(win==1) printf(" 你贏了!!\n"); else printf(" 平手!!\n"); /*printf("\n 你的牌:\n"); show_result(user); */ printf("\n\n 系統的牌:\n"); show_result(sys); printf("\n------------------------------\n"); system("pause"); return 0; }

void create(void) { int i=0,j=0,count=0,x=0,y=0,flag=0; do{ x=0; y=0; srand(time(0)); x=(rand()%13)+1; /*x為數字*/ y=(rand()%4); /*y為花色*/ flag=card(x,y); if(flag==1) continue; else count++; if(count<=4) /*前四次是user的牌*/ user[i][0]=x; user[i][1]=y; i++; } else /*後四次是system的牌*/ sys[j][0]=x; sys[j][1]=y; j++; }while(count<=8); int card(int x1,int y1) /*確認不會發出一樣的牌*/ { int redo=0; if(poker[x1][y1]==0) poker[x1][y1]=1; else redo=1; return redo; }

void show_result(int a[][2]) { int i,j; for(i=0;i<4;i++) printf(" (%d)",i+1); switch(a[i][1]) case 3: printf("\006"); break; /*黑桃*/ case 2: printf("\003"); break; /*紅心*/ case 1: printf("\004"); break; /*方塊*/ case 0: printf("\005"); break; /*梅花*/ } switch(a[i][0]) printf("A "); break; case 11: printf("J "); break; case 12: printf("Q "); break; case 13: printf("K "); break; default: printf("%d ",a[i][0]); break; int compare(void) /*比大小*/ { int i,j,k=0,sys_count=0,user_count=0,win=0; printf("\n 你的牌:\n"); show_result(user); printf("\n\n 請問您的出牌順序是?(輸入時請以空白隔開)"); for(k=0;k<4;k++) scanf("%d",&sequence[k]); printf("\n"); for(i=0,k=0,j=0;i<4;i++) j=sequence[i]; j--; if(user[j][0]>sys[i][0]) /*先比數字*/ user_count++; else if(user[j][0]==sys[i][0]) /*若數字相同再比花色*/ if(user[j][1]>sys[i][1]) else sys_count++; /*系統贏一次*/ } sys_count++; if(sys_count>user_count) win=0; else if(sys_count<user_count) win=1; win=2; return win; }

4.撰寫「員工薪資系統」 #include<stdio.h> void in(void),count(void); int salary[5]={0},t[5]={0}; char name[5][15]; int main() { int flag=1,num; do{ printf("===================\n"); printf("| employee system |\n"); printf("| 1.input data |\n"); printf("| 2.count salary |\n"); printf("| 3.exit |\n"); printf("Please input number(1-3):"); scanf("%d",&num); printf("\n"); switch(num) case 1:in();break; case 2:count();break; case 3:flag=0;break; default:printf("You input error!!\n"); } }while(flag); return 0; void in() { int i,num; printf("Please input number of employee(Max5):"); scanf("%d",&num); fflush(stdin); printf("\n"); for(i=0;i<num;i++) printf("%d. name:",i+1); gets(name[i]); printf("%d. salary:",i+1); scanf("%d",&salary[i]); printf("%d. work hour:",i+1); scanf("%d",&t[i]); }

void count() { int num; char query; do{ printf("Please input Query number of employee{"); printf("If exit, please input \"q\"}: \n"); fflush(stdin); scanf("%c",&query); if(query>='1' && query<='5') num=query-48; printf("-----------------------------\n"); printf("number of employee: %d\n",num); printf("name: %s\n",name[num-1]); printf("salary: %d\n",salary[num-1]); printf("work hour: %d\n",t[num-1]); printf("Total salary: %d\n",salary[num-1]*t[num-1]); } else if(query='q') printf("QUIT!!\n\n"); else printf("You input error!!\n"); }while(query!='q');