1. c語言。編一個運算器程序。要求能實現兩個數的加減乘除四種運算。輸入兩個操作數和一個運算符號。輸出結果
#include "stdio.h"
void main()
{
float a,b,c;
char ch,ch1;
printf("請輸入表達式如 5+6= 然後按回車鍵:");
scanf("%f%c%f%c",&a,&ch,&b,&ch1);
switch(ch)
{
case '+':
c=a+b;
printf("%f+%f=%f\n",a,b,c);
break;
case '-':
c=a-b;
printf("%f-%f=%f\n",a,b,c);
break;
case '*':
c=a*b;
printf("%f*%f=%f\n",a,b,c);
break;
case '/':
switch(b==0)
{
case 1:
printf("輸入有誤,請重試:"); break;
case 0:
c=a/b;
printf("%f/%f=%f\n",a,b,c);
break;
}break;
default:
printf("輸入表達式錯誤或該計算器不具備 %ch 功能\n",ch);
}
}
這個程序試過了,完全能用,請給個滿分哦
2. windows7的源代碼(win7源代碼泄露)
上節課作業
輸入一個年月日日期,輸出是星期幾
程序邏輯提示:
先確認一個錨點,也就是1900-1-1為星期一=0,然後計算輸入的年月日日期和1900-1-1相差多少天,根據相差天數對7求余,然後根據偏移量即可算出
關鍵點在於計算相差多少天,因為輸入的日期和1900年是跨多年的,需要用循環累計計算當中每一年的總天數,這個時候就需要判斷當中每一年是否是閏年還是平年
編程設計:
輸入年月日
判斷年份的范圍必須在1900到2100之間
判斷月份的范圍必須在1到12之間
根據年份和月份得出這個月的最大日期為maxday,大月31/小月30/2月份要根據閏年與否可能是28或者29
判斷日期的范圍必須在1到maxday之間
如果檢查全部通過,則繼續處理
相差總天數=0
年份循環:從1900到輸入的年份,根據是否閏年,相差總天數累加365天或者366天
月份循環:從1到輸入的月份,求的每個月的maxday,相差總天數累計31或30或28或29
計算輸入日期和1日之間相差多少天,相差總天數累計該天數
得到了從1900年1月1日到輸入的年月日之間相差的總天數
然後根據公式計算 week= ( n + x ) % 7 + 1,偏移量為0
代碼如下:
這里注意循環的方式,採用先循環年,再循環月的方式可以減少循環次數,要注意和=的區別。
當然也可以採用逐日循環的方式,那樣循環次數就比較多,但是概念上更好理解
結果如下:
列表類型
列表是最常用的python數據類型,格式是用一個方括弧,內部用逗號分隔數據值。
列表的數據值可以有不同的數據類型,比如字元串,數字,列表等等
例如:
list1 = ["a", "b", "c", "d", "e"]
list2 = [1, 1, 2, 3, 5, 8, 13]
list3 = ["a", "b", 3, 8]
list5 = ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期天"]
訪問列表中的值
使用下標索引來訪問列表中的值,索引序號從0開始,用負數則表示從末尾向前倒序序號
也可以使用方括弧的形式截取列表的一部分
打開"LX終端",進入python環境,輸入以下語句,進行體驗:
更新列表
可以對列表的數據項進行修改,運行以下例子進行體會:
追加列表元素
使用list.append()來向列表最後追加一個元素,運行以下例子進行體會:
刪除列表元素
使用del語句來刪除列表中的元素,運行以下例子進行體會:
如何遍歷列表
遍歷列表有2種辦法,對應的分別是while循環和for循環
用函數len(list)可以獲得列表的元素的總個數,然後用用一個計數器進行while循環:
用for item in list: 語法遍歷整個 list
循環的次數就是list的元素總個數,每次循環將list的元素按次序取出,賦值給item變數,循環內部的item就是不一樣的值
這里,我們開始學習一個新的語法,for循環
那麼,while循環和for循環的區別在哪裡
while循環根據條件判讀式決定是否繼續循環
for循環根據list元素個數總數遍歷list進行循環
一般,如果需要對list列表循環就用for,否則就用while
while和for循環都可以用break強制退出循環
改造輸入數字1-7判斷是星期幾,更簡單實現
掌握了列表數據類型後,會發現很多程序更容易實現了
前面做過一個程序,輸入數字1-7判斷是星期幾,原來的代碼是這樣的:
num=int(input("week num"))
if num==1:
print "Monday"
elif num==2:
print "Tuesday"
elif num==3:
print "Wednesday"
elif num==4:
print "Thursday"
elif num==5:
print "Friday"
elif num==6:
print "Saturday"
elif num==7:
print "Sunday"
else:
print "error input"
現在只要定義一個列表,然後直接用序號索引去訪問就實現了
注意因為列表序號是從0開始,但是輸入是1-7,所以訪問列表的序號是num-1
完整程序:
結果如下:
改造星座判斷程序
參照上面程序的做法,將星座判斷程序改造成使用列表來處理,程序會精簡很多
打開之前的文件xingzuo.py,另存為xingzuolist.py,代碼如下:
結果如下:
請大家認真學習這個程序,和以前的寫法有不一樣的地方,邏輯更嚴密了
關鍵的語句,就在2個list的定義下面的判斷語句和賦值語句
尤其是注意為何xingzuo_list裡面是13個元素,為什麼不是12個元素呢,請大家思考理解
課後作業
1. 繼續改造上面的星座判斷程序,日期判斷也用list實現,代碼更簡潔
2. 輸入郵政編碼前2位數字判斷輸出是哪個省份
程序邏輯提示:
去網上搜索一個郵政列表,裡面是關於郵政編碼前2位各自對應的省份名稱,然後參考上面的星座判斷程序編寫,注意用到list然後用for循環。
往期教程
0001 零基礎的小白能學會編程嗎?
0002 真的嗎,700元的電腦可以學會編程?
0003 十分鍾組裝一台電腦開始編程
0004 如何編寫人生的第一行代碼helloworld
0005 鍵盤打字如何練成像黑客一樣的飛速
0006 編程入門python語言之加法計算器
0007 編程入門python語言之四則運算器
第一部分前7課小結和課程規劃說明及微信群主招募
0008 加減乘除也會算錯?還要編寫程序測試?
0009 如何編寫程序計算所屬星座,一看就懂
0010 人生就像死循環,只要不退出就要繼續運行
0011 迷人的斐波拉契數列,數學到極致就是美,編程同樣如此
因為教程是系列教程,前後關聯性非常強,請大家按照微信公眾號的發布時間先後次序進行閱讀。
微信公眾號裡面直接輸入序號可以查看該序號課程,例如輸入0001可以查看【0001 零基礎的小白能學會編程嗎?】
作者簡介
學哥,二十年編程經驗,歷任程序員,資深程序員,技術經理,項目經理,產品經理,系統架構師,IT總監。愛好篆刻,閱讀,美食。
微信號簡介
每天半小時零基礎學編程。大人可以學,小孩也可以學。練打字,用軟體,寫文檔,做網站,做App,編游戲,資料庫,玩硬體,寫程序,3D列印,無人機,機器人。
html,css,java,python,php,java,swift,mysql,android,ios,raspberry pi,scratch. 微信公眾號搜索:零基礎學編程。
QQ群簡介
歡迎大家加入QQ群 603559164零基礎學編程,交流學習,共同進步。
3. 怎麼用C語言編寫一個大整數的四則運算器,求解(急!!)
1.打開CodeBlocks,創建一個新的空白文件,定義頭文件和主要功能,然後寫程序的主體: