




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
北京理工大學(xué)-C語言程序設(shè)計(jì)樂學(xué)編程題
1.【入門】Helloworld.
成績(jī)5開啟時(shí)間2019年09月16日星期一08:00
折扣0.8折扣時(shí)間2019年09月29日星期日23:55
允許遲交否關(guān)閉時(shí)間2019年09月29日星期日23:55
讓我們用C語言向世界發(fā)出第一聲問候.....
最早的程序基本是這個(gè)樣子的:
#include<stdio.h>
intmain()
(
printf("Helloworld.\n");
return0;
)
請(qǐng)模仿上面的程序,看看是否可以通過編譯?如果你能通過這個(gè)簡(jiǎn)單的程序,
那就說明C語言一點(diǎn)都不難。
輸入:無
輸出:Helloworld.
Sinclude<stdio.h>
intmainO
(
printf(z,Helloworld.\n〃);
return0;
}
2.【入門】輸出你的第一個(gè)圖形
成績(jī)5開啟時(shí)間2019年09月16曰星期一08:00
折扣0.8折扣時(shí)間2019年10月29曰星期二23:55
允許遲交否關(guān)閉時(shí)間2019年10月29日星期二23:55
背景:
我們已經(jīng)學(xué)習(xí)了printf函數(shù)的基本使用方法,這里給出了一個(gè)小程序,它運(yùn)
行的結(jié)果是輸出一個(gè)由星號(hào)(*)組成的4*4的正方形。
程序如下:
#include<stdio.h>
intmain()
(
printf;
printf;
printf;
printf;
return0;
)
要求:
按照上面的程序范例,編寫一個(gè)小程序,要求輸出的是4行由*號(hào)組成的等腰
三角形。對(duì)了,要想想程序中\(zhòng)n是什么意思。
輸入:
無。
輸出:
指定圖形。
Sinclude<stdio.h>
intmainO
{
inti,j,k;
for(i=1;i<=4;i++)
(
for(j=1;j<=4-i;j++)
printf(/z〃);
for(k=1;k<=2*iT;k++)
printf(〃*〃);
}
printf(〃\n〃);
)
return0;
3.【入門】求A-B
成績(jī)5開啟時(shí)間2019年09月16日星期一08:00
折扣0.8折扣時(shí)間2019年09月29日星期日23:55
允許遲交否關(guān)閉時(shí)間2019年09月29日星期日23:55
我們已經(jīng)學(xué)了如何使用scanf函數(shù)中輸入整型數(shù)據(jù)(刎),下面讓我們使用
scanf函數(shù)來輸入兩個(gè)整數(shù),然后求它們的差。
輸入格式:"%d%d"
整數(shù)1整數(shù)2
輸出格式:"%d-%d=%d\n”
整數(shù)1-整數(shù)2=差
Sinclude<stdio.h>
intmain()
{
inta,b;
scanf&a);
scanf("%d",&b);
printf(//%d-%d=%d\n,/,a,b,a-b);
return0;
Hl.【選作?日期】判斷閏年
成績(jī)5開啟時(shí)間2019年09月19日星期四14:00
折扣0.8折扣時(shí)間2019年10月6日星期日23:55
允許遲交否關(guān)閉時(shí)間2019年10月6日星期日23:55
今年是2019年,從公歷來說2016年是閏年,2017和2018年是平年。閏年的
產(chǎn)生有點(diǎn)意思(中學(xué)或者小學(xué)應(yīng)該學(xué)過嘍,如果不知道,自己去腦補(bǔ)吧)。
咱也應(yīng)該讓計(jì)算機(jī)可以判斷任意一個(gè)年份是否為閏年。
輸入:
年
輸出:
是否為閏年。
為了簡(jiǎn)單點(diǎn),假設(shè)輸入的年份大于1900o先想一想:該如何建立數(shù)學(xué)模型?找
到數(shù)學(xué)模型是解決本題的關(guān)鍵。
本題不用if語句,僅使用基本的運(yùn)算符就可以實(shí)現(xiàn),如果不會(huì)就先看看書
吧。
Sinclude<stdio.h>
intmainO
{
inta;
scanf("%d",&a);
if(a%400==0)
{
printf(/z%disaleapyear.\n",a);
)
else
(
if(a%4==0&&a%100!=0)
(
printf(//%disaleapyear.\n",a);
)
else
(
printf(,/%disnotaleapyear.\nz/,a);
)
)
return0;
4.【小學(xué)】一年級(jí)的算術(shù)題
成績(jī)5開啟時(shí)間2019年09月19日星期四08:00
折扣0.8折扣時(shí)間2019年10月13日星期日23:55
允許遲交否關(guān)閉時(shí)間2019年10月13日星期日23:55
背景:
小明上小學(xué)一年級(jí)了,老師已經(jīng)教會(huì)了他們整數(shù)的+、-、*、
/、%計(jì)算,下面老師開始出題,請(qǐng)小明給出計(jì)算結(jié)果。
輸入格式:"%d%d"
兩個(gè)整數(shù),每個(gè)整數(shù)之間使用空格分隔。例如輸入格式為:123444
輸出格式:
分別輸出按照整型數(shù)據(jù)進(jìn)行+、-、*、/、%之后的運(yùn)行結(jié)果。
提示:
本題目的關(guān)鍵是如何使用printf輸出%。
Sinclude<stdio.h>
intmain()
inta,b;
scanf(,,%d%d”,&a,&b);
printf(,,%d+%d=%d\n,/,a,b,a+b);
printf(,/%d-%d=%d\n,/,a,b,a-b);
printf("%d*%d=%d\n”,a,b,a*b);
printf(/z%d/%d=%d\nz,,a,b,a/b);
printf("%d%%%d=%d\nzz,a,b,a%b);
return0;
5.【小學(xué)】逆序三位數(shù)
成績(jī)5開啟時(shí)間2019年09月190星期四15:40
折扣0.8折扣時(shí)間2019年10月13日星期日23:55
允許遲交否關(guān)閉時(shí)間2019年10月13H星期日23:55
小明上了小學(xué)一年級(jí),老師開始教他認(rèn)識(shí)各種數(shù)字,在課上老師讓認(rèn)識(shí)
了1000以內(nèi)的整數(shù),然后大家進(jìn)行一個(gè)小游戲。
老師給出任意的一個(gè)三位數(shù),然后小明說出將這個(gè)三位數(shù)按逆序倒后形
成的新數(shù)。例如,老師給的408,小明要說804;老師給出250,小明回答52;
老師說700,小明回答007。
輸入格式:"%d"
每個(gè)測(cè)試數(shù)據(jù)是一個(gè)3位的正整數(shù)。
輸出格式:級(jí)d\n"
輸出逆序的整數(shù)。
Sinclude<stdio.h>
intmainO
(
inta,b,c,d;
scanf(〃%d〃,&a);
b=a/100;
c=a/10;
c=c-10*b;
d=a-100*b-10*c;
printf(〃%d%d%d\n〃,d,c,b);
return0;
)
6'.【入門預(yù)習(xí)】輸出字符的ASCII碼
成績(jī)5開啟時(shí)間2019年09月23日星期一08:00
折扣0.8折扣時(shí)間2019年10月13日星期日23:55
允許遲交否關(guān)閉時(shí)間2019年10月13日星期日23:55
背景:
我們?cè)谟?jì)算機(jī)基礎(chǔ)中已經(jīng)學(xué)過:字母在計(jì)算機(jī)中采用ASCII碼進(jìn)行存
儲(chǔ)。下面要從鍵盤上輸入任意一個(gè)字符,然后輸出該字符對(duì)應(yīng)的ASCH碼。
輸入格式:級(jí)c”
一個(gè)字符
輸出格式:
該字符對(duì)應(yīng)的ASCII碼
說明:
如果編程中輸出的格式有問題,請(qǐng)先看看教材P51的例題3-4,然后
再想想辦法發(fā)揮一下嘍.....
^include<stdio.h>
intmainO
chara;
a=getchar();
printf(zzTheASCIIofcharacter'%c'is%d.\n〃,a,a);
return0;
}
6.【字符】大小寫字母轉(zhuǎn)換
成績(jī)5開啟時(shí)間2019年09月23日星期一08:00
折扣0.8折扣時(shí)間2019年10月13日星期日23:55
允許遲交否關(guān)閉時(shí)間2019年10月13日星期日23:55
我們知道,英文字母是分大小寫的,我們需要編寫一個(gè)程序,將輸入的小寫字
母變換為大寫字母,大寫字母變換為小寫字母,非字母保持不變。
在C語言中,字符類型為char,輸入一個(gè)字符還用用scanf函數(shù),但控制符
不同(也就是%后面的那個(gè)字母不同哦)。
輸入:一個(gè)字符
輸出:變換后的字符
提示:本題目可以不用if語句噢。
Sinclude<stdio.h>
intmainO
(
chara;
a=getchar();
a=(a>='A'&&a<='Z')?(a+32):((a>二'a'&&a〈='z')?
(a-32):a);
printf(〃%c\n〃,a);
return0;
)
7.【中學(xué)】計(jì)算圓柱的側(cè)面積及體積
成績(jī)5開啟時(shí)間2019年09月4日星期三14:00
折扣0.8折扣時(shí)間2019年10月13日星期日23:55
允許遲交是的關(guān)閉時(shí)間2019年10月13日星期日23:55
該如何處理double型的數(shù)據(jù):如何定義變量類型?如何使用scanf函數(shù)?
如果已知圓柱的底面半徑r,以及高h(yuǎn),則可計(jì)算出圓柱的側(cè)面積s=2nr
2
h,體積v=nrho其中“=3.1415926。
輸入:
第一行輸入圓柱的底面半徑r
第二行輸入圓柱的高h(yuǎn)
輸出:
s=<圓柱的側(cè)面積〉,v=<圓柱的體積>
要求
1.所有變量都定義為雙精度類型
2.結(jié)果精確到小數(shù)點(diǎn)后兩位
^include<stdio.h>
intmain()
(
doubler,h,s,v,Pi;
Pi=3.1415926;
scanf(〃%lf%lf〃,&r,&h);
printfC/s=%.21f,v=%.21f\nz,,s=2*Pi*r*h,v=Pi*r*r*
h);
return0;
8.【小學(xué)】溫度轉(zhuǎn)換
成績(jī)5開啟時(shí)間2019年09月26日星期四19:25
折扣0.8折扣時(shí)間2019年10月13日星期日23:55
允許遲交否關(guān)閉時(shí)間2019年10月13B星期日23:55
背景:
經(jīng)常出國旅行的驢友都知道,需要時(shí)時(shí)了解當(dāng)?shù)氐臍鉁貭顩r,但不少國家采用
了不同的溫度計(jì)量單位:有些使用華氏溫度標(biāo)準(zhǔn)(F),有些使用攝氏溫度
(C)o現(xiàn)在,請(qǐng)你根據(jù)溫度轉(zhuǎn)換公式設(shè)計(jì)一個(gè)溫度轉(zhuǎn)換程序,可以進(jìn)行溫度轉(zhuǎn)
換。如果輸入攝氏溫度,顯示轉(zhuǎn)換的華氏溫度;如果輸入華氏溫度,顯示轉(zhuǎn)換
的攝氏溫度。
溫度轉(zhuǎn)換的公式為:F=(CX9/5)+32;C=(F-32)X5/9;式中F—華氏
溫度,C一攝氏溫度。
輸入:
第一個(gè)數(shù)據(jù)(字母C或F)確定轉(zhuǎn)換的類型:華氏轉(zhuǎn)攝氏(C);攝氏轉(zhuǎn)華氏
(F);
第二個(gè)數(shù)據(jù)是相應(yīng)需要轉(zhuǎn)換的溫度值。
輸出:
相應(yīng)的轉(zhuǎn)換后的溫度值(保留小數(shù)點(diǎn)后2位)。
ttinclude<stdio.h>
intmain()
(
chartype;
floatnum;
type=getchar();
scanf(〃%f〃,&num);
if(type==70)/*Cis67*/
printf(z,TheFahrenheitis2f\n〃,num*9/5+32);
else
printf(Z/TheCentigradeis%.2f\n〃,(num-32)*5/9);
return0;
H2.【選作?小學(xué)】計(jì)算時(shí)鐘夾角
成績(jī)5開啟時(shí)間2019年09月26日星期四10:00
折扣0.8折扣時(shí)間2019年10月13日星期日23:55
允許遲交否關(guān)閉時(shí)間2019年10月13日星期日23:55
背景:
鐘面上的時(shí)針和分針之間的夾角總是在0?180之間(包括0和
180)o舉例來說,在十二點(diǎn)的時(shí)候兩針之間的夾角為0,而在六點(diǎn)的時(shí)候夾
角為180,在三點(diǎn)的時(shí)候?yàn)?0o本題要解決的是計(jì)算12:00到11:59之間
任意一個(gè)時(shí)間的夾角。
輸入:
每組測(cè)試數(shù)據(jù)包含兩個(gè)數(shù)字:第一個(gè)數(shù)字代表小時(shí)(大于等于0小于
等于12),第二個(gè)數(shù)字代表分(在區(qū)間[0,59]±)o
輸出:
對(duì)應(yīng)每組測(cè)試數(shù)據(jù),用常用格式顯示時(shí)間以及這個(gè)時(shí)候時(shí)針和分針間的
最小夾角,精確到小數(shù)點(diǎn)后一位。輸出格式如下所示。
再看一看,想一想:是否可以不用if語句,只使用printf函數(shù)來簡(jiǎn)化你的
程序?
^include<stdio.h>
#include<math.h>
intmainO
{
floatanglel,angle2,out,temp;
inta,b,c;
c=0;
scanf(/z%d%d〃,&a,&b);
if(a>=12)
c=12;
a=a%12;
temp=(float)b;
anglel=a+temp/60;
anglel=30*anglel;
angle2=b*6;
out=anglel-angle2;
out=fabs(out);
a=a+c;
if(out>180)
out=360-out;
if(b<10)
printf(z,At%d:0%dtheangleis%.Ifdegrees.\n,z,a,b,out);
else
printf(,zAt%d:%dtheangleis%.Ifdegrees.\n,z,a,b,out);
return0;
)
9.【小學(xué)】比較兩個(gè)整數(shù)
成績(jī)5開啟時(shí)間2019年09月23日星期一14:30
折扣0.8折扣時(shí)間2019年10月20日星期日23:55
允許遲交否關(guān)閉時(shí)間2019年10月20日星期日23:55
小明上了小學(xué)一年級(jí),老師教他們數(shù)數(shù)(好像有點(diǎn)晚了:(),知道如何比較
兩個(gè)數(shù)的大小。老師在課堂上任意給出兩個(gè)整數(shù),讓小明給出兩個(gè)整數(shù)的關(guān)
系。
輸入:scanf("%d%d",....)
兩個(gè)整數(shù)
輸出:
兩個(gè)整數(shù)的關(guān)系
intmainO
(
inta,b;
scanf(〃%d%d〃,&a,&b);
if(a>b)
printf(z,%d大于%d.\n〃,a,b);
if(a<b)
printf(/z%d小于%d.\n〃,a,b);
if(a==b)
printf(〃兩個(gè)數(shù)相等,均為%d.\n〃,a);
return0;
10.【中學(xué)】判斷三角形的形狀
成績(jī)5開啟時(shí)間2019年09月26日星期四14:00
折扣0.8折扣時(shí)間2019年10月20日星期日23:55
允許遲交否關(guān)閉時(shí)間2019年10月20日星期日23:55
小明上了初中,開始學(xué)習(xí)幾何了。
要求:
輸入三角型的三條邊,判斷三角形的形狀。假設(shè)輸入的三邊邊長(zhǎng)均>0。
(提示:本題中應(yīng)該要用到if語句嵌套,教材中有相似例題。)
輸入:
三角型的3條邊的長(zhǎng)度(int型)。
輸出:
等邊三角形:equilateraltriangle.
等腰三角形:isocelestriangle.
不構(gòu)成三角形:non-triangle.
一般三角形:triangle.
Sinclude<stdio.h>
intmainO
{
inta,b,c;
scanf(〃%d%d%d〃,&a,&b,&c);
if(a>b+c||b>a+c||c>a+b)
printf("non-triangle.\n〃);
elseif(a=b&&b==c)
printf(z,equilateraltriangle.\n〃);
elseif(a==b||a==c||c==b)
printf("isocelestriangle.\n/z);
else
printf("triangle.\n〃);
return0;
11.【日期】根據(jù)日期求星期
成績(jī)5開啟時(shí)間2019年09月23日星期一14:00
折扣0.8折扣時(shí)間2019年10月20日星期日23:55
允許遲交否關(guān)閉時(shí)間2019年10月20日星期日23:55
任意給出一個(gè)年月日,求出是星期幾。
輸入:
年月日
輸出:
0?6。
星期日用0表示,星期一用1表示,星期二用2表示.....星期六
用6表示。
假設(shè)年份大于1900。先想一想:我們現(xiàn)在只會(huì)使用if語句,該如何建立數(shù)學(xué)
模型?找到數(shù)學(xué)模型是解決本題的關(guān)鍵。
Sinclude<stdio.h>
/*tmain()
inta,b,c,d,e,f,days;
scanf_s(〃%d%d%d〃,&a,&b,&c);
d=1990/4-1990/100+1990/400;
e=a/4-a/100+a/400;
d=e-d;
if(a%4==0&&a%100!=0)
(
d=d-1;
)
f=a-1990;
days=365*f+d;
if(a%4==0&&a%100!=0)
switch(b)
case1:days=days+0;break;
case2:days=days+31;break;
case3:days=days+60;break;
case4:days二days+91;break;
case5:days二days+121;break;
case6:days=days+152;break;
case7:days=days+182;break;
case8:days=days+213;break;
case9:days=days+213+31;break;
case10:days=days+213+61;break;
case11:days=days+213+92;break;
case12:days=days+213+122;break;
)
else
(
switch(b)
case1:days=days+0;break;
case2:days=days+31;break;
case3:days=days+59;break;
case4:days=days+90;break;
case5:days=days+120;break;
case6:days=days+151;break;
case7:days=days+181;break;
case8:days=days+212;break;
case9:days=days+212+31;break;
case10:days=days+212+61;break;
case11:days=days+212+92;break;
case12:days=days+212+122;break;
)
)
a=days+c;
a=a%7;
printf(〃%d\n〃,a);
return0;
constchar*getWeekdayByYearday(intiY,intiM,intiD)
intiWeekDay=-1;
if(1==iM||2==iM)
iM+=12;
iY—;
)
iWeekDay=(iD+1+2*iM+3*(iM+1)/5+iY+iY/4-iY
100+iY/400)%7;
switch(iWeekDay)
(
case0:return〃0〃break;
case1:return〃1〃break;
case2:return〃2〃break;
case3:return”3〃break;
case4:return〃4〃break;
case5:return〃5〃break;
case6:return〃6〃break;
default:returnNULL;break;
returnNULL;
intmain()
(
intyear,month,day;
scanf(〃%d%d%d〃,&year,&month,&day);
constchar*p=getWeekdayByYearday(year,month,day);
printf(〃%s\n〃,p);
12.【應(yīng)用】閱兵徒手方隊(duì)
成績(jī)5開啟時(shí)間2019年10月2日星期三15:35
折扣0.8折扣時(shí)間2019年10月20日星期日23:55
允許遲交否關(guān)閉時(shí)間2019年10月20日星期日23:55
今年是我們的祖國國慶70周年,10月1日在首都北京舉行了盛大的閱
兵儀式,舉國同慶。
為了方便查詢,請(qǐng)編寫程序,輸入國慶70周年閱兵分列式中徒手方隊(duì)
的出場(chǎng)順序(1?15),輸出方隊(duì)對(duì)應(yīng)的名稱。
注意:請(qǐng)使用switch語句編寫程序。程序中要處理中文,由于漢字的編碼問
題,在提交源程序的時(shí)候請(qǐng)按文本方式進(jìn)行提交。
Sinclude<stdio.h>
intmainO
{
intnum;
scanf(〃%d〃,&num);
printf(〃徒手方隊(duì)中第%d個(gè)出場(chǎng)的是:num);
switch(num)
(
case1:printf("儀仗方隊(duì)\n");break;
case2:printf(〃領(lǐng)導(dǎo)指揮方隊(duì)、n〃);break;
case3:printf(〃陸軍方隊(duì)\n〃);break;
case4:printf(〃海軍方隊(duì)\n〃);break;
case5:printf(〃空軍方隊(duì)\n〃);break;
case6:printf(〃火箭軍方隊(duì)\n〃);break;
case7:printf("戰(zhàn)略支援部隊(duì)方隊(duì)\n〃);break;
case8:printf("聯(lián)勤保障部隊(duì)方隊(duì)\n〃);break;
case9:printf("武警部隊(duì)方隊(duì)\n〃);break;
case10:printf(〃女兵方隊(duì)\n〃);break;
case11:printf(〃院??蒲蟹疥?duì)\n〃);break;
case12:printf(〃文職人員方隊(duì)\n〃);break;
case13:printf(〃預(yù)備役部隊(duì)方隊(duì)\n");break;
case14:printf(〃民兵方隊(duì)\n〃);break;
case15:printf(〃維和部隊(duì)方隊(duì)\n〃);break;
)
return0;
13.【中學(xué)】求解一元二次方程
成績(jī)5開啟時(shí)間2019年10月6日星期日14:00
折扣0.8折扣時(shí)間2019年10月20日星期日23:55
允許遲交是的關(guān)閉時(shí)間2019年10月20日星期日23:55
初中的小明已經(jīng)開始學(xué)習(xí)求解一元二次方程了,下面讓我們來教計(jì)算機(jī)如何求
解。輸入a,b,c,求一元二次方程ax2+bx+c=0的根。
輸入:
假設(shè)a,b,c均into
輸出:
要求輸出的根為double型,保留6位小數(shù)。
說明:如果不會(huì)作,請(qǐng)參考教材P108的例5T7
Sinclude<stdio.h>
ttinclude<math.h>
intmain()
(
doublesq,a,b,c;
scanfr%lf%lf%lfz,,&a,&b,&c);
if(a==b&&a==0)
printf(/zInputerror!\nz/);
elseif(a==c&&a==0)
printfCx=0.000000\n/z);
elseif(a==0)
printf(/,x=%lf\n/,,-c/b);
else
(
sq=b*b-4*a*c;
if(sq>0)
printf(/zxl=%lf\nx2=%lf\nz/,(sqrt(sq)-b)/(2*a),(-
sqrt(sq)-b)/(2*a));
elseif(sq==0&&b!=0)
printfCxl=x2=%lf\n,/,-b/2*a);
elseif(sq==0&&b==0)
printfCxl=x2=0.000000\nz,);
else
sq=-sq;
if(b=0)
printf(,zxl=%lfi\nx2=%lfi\n,,,(sqrt(sq)-b)/(2*a),
(-sqrt(sq)-b)/(2*a));
else
printfrxl=%lf+%lfi\nx2=%lf-%lfi\n,/,-b/(2*a),
sqrt(sq)/(2*a),-b/(2*a),sqrt(sq)/(2*a));
return0;
H3.1選做.日期】再算星期一一只用if語句
成績(jī)5開啟時(shí)間2019年09月28日星期六12:00
折扣0.8折扣時(shí)間2019年10月20日星期日23:55
允許遲交是的關(guān)閉時(shí)間2019年10月20日星期日23:55
再次給出任意一個(gè)年月日(年>1900),現(xiàn)在我們不能只是直接計(jì)算,要先判斷
給出的日期是否合法,對(duì)于非法的日期要給出錯(cuò)誤提示信息,合法的日期要再
計(jì)算是星期幾。
輸入:
年月曰
輸出:
0?6。
星期日用0表示,星期一用1表示,星期二用2表示.....星期六
用6表示。
假設(shè)年份大于1900o想一想,只使if語句,該如何建立數(shù)學(xué)模型(千萬不要
寫出一個(gè)超過50行的程序來,這不是我們想看到的結(jié)果)?
#include<stdio.h>
constchar*getWeekdayByYearday(intiY,intiM,intiD)
{
intiWeekDay=-1;
if(1==iM||2==iM)
iM+=12;
iY--;
iWeekDay=(iD+1+2*iM+3*(iM+1)/5+iY+iY/4-iY
100+iY/400)%7;
switch(iWeekDay)
(
case0:return〃0〃break;
case1:return〃1〃break;
case2:return〃2〃break;
case3:return〃3〃break;
case4:return〃4〃break;
case5:return〃5〃break;
case6:return〃6〃break;
default:returnNULL;break;
)
returnNULL;
)
intcheck(intyear,intim,intid)
(
intm,d,k;
m=1;
d=1;
k=1;
if(im>12||im<l)
m=0;
else
m=1;
im=im%12;
if(im==1||im==3||im==5im==7||im==8||im==
10||im==12)
(
if(id>31)
d=0;
else
d=1;
)
if(im==4||im==6||im==9im==11)
(
if(id>30)
d=0;
else
d=1;
)
if(year%400==0)
k=l;
else
if(year%4==0&&year%100!=0)
k=1;
else
k=0;
if(k==1&&im二二2)
(
if(id>29)
d=0;
else
d=1;
)
if(k==0&&im==2)
(
if(id>28)
d=0;
else
d=1;
if(id>31||id<l)
d=0;
if(d==1&&m==1)
return1;
else
(
if(d==0&&m==0)
printf("monthanddayarewrong.\n〃);
if(d==0&&m==1)
printf(z/dayiswrong.\nz,);
if(d==1&&m==0)
printf("'monthiswrong.\n〃);
return0;
)
)
intmainO
(
intyear,month,day;
intout;
scanf(〃%d%d%d〃,&year,&month,&day);
intcheck(intyear,intmonth,intday);
out=check(year,month,day);
constchar*p=getWeekdayByYearday(year,month,day);
if(out==1)
printf(〃%s\n〃,p);}
H4.【選作?應(yīng)用】信號(hào)報(bào)告
成績(jī)5開啟時(shí)間2019年09月29日星期日14:00
折扣0.8折扣時(shí)間2019年10月20日星期日23:55
允許遲交否關(guān)閉時(shí)間2019年10月20日星期日23:55
無線電臺(tái)的RS制信號(hào)報(bào)告是由三兩個(gè)部分組成的:
?R(Readability)信號(hào)可辨度即清晰度.
?S(Strength)信號(hào)強(qiáng)度即大小.
其中R位于報(bào)告第一位,共分5級(jí),用1—5數(shù)字表示.
1.Unreadable
2.Barelyreadable,occasionalwordsdistinguishable
3.Readablewithconsiderabledifficulty
4.Readablewithpracticallynodifficulty
5.Perfectlyreadable
報(bào)告第二位是S,共分九個(gè)級(jí)別,用1—9中的一位數(shù)字表示
1.Faintsignals,barelyperceptible
2.Veryweaksignals
3.Weaksignals
4.Fairsignals
5.Fairlygoodsignals
6.Goodsignals
7.Moderatelystrongsignals
8.Strongsignals
9.Extremelystrongsignals
現(xiàn)在,你的程序要讀入一個(gè)信號(hào)報(bào)告的數(shù)字,然后輸出對(duì)應(yīng)的含義。如讀到
59,則輸出:
Extremelystrongsignals,perfectlyreadable.
輸入格式:級(jí)d”
一個(gè)整數(shù),信號(hào)報(bào)告。
整數(shù)的十位部分表示可辨度,個(gè)位部分表示強(qiáng)度。輸入的整數(shù)范圍是[11,59]中
的個(gè)位不為0的數(shù)字,這個(gè)范圍外的數(shù)字不可能出現(xiàn)在測(cè)試數(shù)據(jù)中。
輸出格式:
一句話,表示這個(gè)信號(hào)報(bào)告的意義。
按照題目中的文字,先輸出表示強(qiáng)度的文字,跟上逗號(hào)和空格,然后是表示可
辨度的文字,跟上句號(hào)。注意可辨度的句子的第一個(gè)字母是小寫的。注意這里
的標(biāo)點(diǎn)符號(hào)都是英文的。
輸入樣例:33
輸出樣例:Weaksignals,readablewithconsiderabledifficulty.
說明:本題選自翁愷2015年MOOC。
Sinclude<stdio.h>
intmainO
(
inta,b,c;
scanf(z/%dz,,&a);
b=a/10;
c=a-b*10;
switch(c)
(
casel:printfC'Faintsignals,barelyperceptible,〃);break;
case2:printf("Veryweaksignals,〃);break;
case3:printf("Weaksignals,〃);break;
case4:printf("Fairsignals,〃);break;
case5:printfC'Fairlygoodsignals,〃);break;
case6:printf("Goodsignals,〃);break;
case7:printf(^Moderatelystrongsignals,〃);break;
case8:printf("Strongsignals,〃);break;
case9:printf(zzExtremelystrongsignals,〃);break;
)
switch(b)
{
case1:printf("unreadable.\n〃);break;
case2:printf(z/barelyreadable,occasionalwords
distinguishable.\n〃);break;
case3:printf("readablewithconsiderabledifficulty.\nzz);break;
case4:printf("readablewithpracticallynodifficulty.\nz/);
break;
case5:printf(^perfectlyreadable.\n,z);break;
)
return0;
)
H5.【選作?應(yīng)用】求過頂點(diǎn)的切線方程告(同學(xué)出
題))
成績(jī)5開啟時(shí)間2019年10月9日星期三14:00
折扣0.8折扣時(shí)間2019年10月20日星期日23:55
允許遲交否關(guān)閉時(shí)間2019年10月20日星期日23:55
同學(xué)出題:睿信1945班許頌強(qiáng)
給定橢圓方程和一個(gè)定點(diǎn),求過定點(diǎn)的切線方程。
輸入:
第1行:輸入a2和b2的值,即x2/a?+y2/b2=l中的a2和b2,保證
a?和b2均為整數(shù)且大于0。
第2行:輸入定點(diǎn)的坐標(biāo)
輸出:
切線方程或Inputerror!o
Sinclude<stdio.h>
intmain()
(
doublex,y,apf,bpf;
scanf(,,%lf&apf,&bpf);
scanf(z/%lf&.x,&y);
if(apf<=0||bpf<=0)
printf(zzInputerror!\n/z);
elseif(x*x/apf+y*y/bpf!=1)
printf("Inputerror!\n/z);
elseif(x==0)
printf(zzy=%lf\n/z,y);
elseif(y==0)
printf(zzx=%lf\nzz,x);
elseif(y>0)
printf("y=%lfx+%lf\n",-(x*bpf)/(y*apf),bpf/y);
else
//,,
printf(y=%lfx%lf\n>-(x*bpf)/(y*apf),bpf/y);
return0;
14.【小學(xué)】求累加和
成績(jī)5開啟時(shí)間2019年10月6日星期日14:00
折扣0.8折扣時(shí)間2019年10月27日星期日23:55
允許遲交否關(guān)閉時(shí)間2019年10月27日星期日23:55
背景:
哈哈!小明開始進(jìn)行加法強(qiáng)化修煉啦。
功能:
求整數(shù)n到m區(qū)間的累加和,其中n<=mo
輸入:
區(qū)間的起始點(diǎn)n區(qū)間的終止點(diǎn)m
輸出:
累加和
Sinclude<stdio.h>
intmain()
(
inta,b,i,sum;
sum=0;
scanf(/z%d%d〃,&a,&b);
for(i=a;i<=b;i++)
(
sum=sum+i;
)
printf(/zThesumfrom%dto%dis%d.\n〃,a,b,sum);
return0;
15.【小學(xué)】角谷猜想(同學(xué)出題)
成績(jī)5開啟時(shí)間2019年10月6日星期日14:00
折扣0.8折扣時(shí)間2019年10月27日星期日23:55
允許遲交否關(guān)閉時(shí)間2019年10月27日星期日23:55
同學(xué)出題:馮易
角谷猜想(尚未證明):對(duì)于任意一個(gè)正整數(shù),若為奇數(shù)則乘3加1,若為偶
數(shù)則除以2,得到的結(jié)果再按照上述規(guī)則重復(fù),最終總能得到1。例如,假定初
始整數(shù)為5,計(jì)算過程分別為16、8、4、2、1。編程驗(yàn)證之。
【輸入】一個(gè)整數(shù)n(K=n<=20000000)
【輸出】多行的計(jì)算過程
注意:如果驗(yàn)證過程達(dá)到20步還沒有得到結(jié)論,則停止。
Sinclude<stdio.h>
intmainO
{
longinta,b;
inti=0;
scanf&a);
while(a!=1)
(
i++;
if(a%2==1)
(
b=a*3+1;
printf(zz%ld*3+l=%ld\nz,,a,b);
a=b;
)
else
(
b=a/2;
printf(zz%ld/2=%ld\nz,,a,b);
a=b;
)
if(i==20)
break;
}
return0;
16.【小學(xué)】青蛙出井(同學(xué)出題)
成績(jī)5開啟時(shí)間2019年10月6日星期日14:00
折扣0.8折扣時(shí)間2019年10月27日星期日23:55
允許遲交否關(guān)閉時(shí)間2019年10月27日星期日23:55
同學(xué)出題:張欣
在LIT(哈哈,能猜到是什么地方吧?)有一口用于鋪設(shè)光纖的施工
井,井中有一只青蛙過著無憂無慮的生活,有一天,它想出去看看更廣闊的天
空,于是決定行動(dòng)了!
第一天它向上爬了n米,由于缺少食物,每過一天青蛙比前一天少爬
1米,且每天結(jié)束都會(huì)下滑m米,井有x米深。請(qǐng)判斷青蛙是否能爬出井,
如果能,求爬出經(jīng)過的天數(shù)do
輸入:nmx(假設(shè)n,m,x均為正整數(shù))
輸出:do
#include<stdio.h>
intmain()
{
intn,m,x,d;
scanf(z/%d%d%d,/,&n,&m,&x);
d=0;
while(x>0)
(
x=x-n;
n—;
d++;
if(x<=0)
(
printf("青蛙能爬出井,且第%d天爬出井。\n”,d);
break;
)
x=x+m;
if(n==0)
(
printf("青蛙不能爬出井。\n");
break;
return0;
17.【小學(xué)】循環(huán)字母
成績(jī)5開啟時(shí)間2019年10月10日星期四10:00
折扣0.8折扣時(shí)間2019年10月27日星期日23:55
允許遲交否關(guān)閉時(shí)間2019年10月27日星期日23:55
小明開始學(xué)習(xí)英文,第一節(jié)課就是學(xué)習(xí)26個(gè)字母。為了幫助小明記住
這些字母,小明的哥哥編寫了一個(gè)程序,只要說出第一個(gè)字母,就可以依次循
環(huán)先是后續(xù)的26個(gè)字母。
輸入:
一個(gè)起始字母(大小寫字母均可)
輸出:
以指定字母為起始的26個(gè)字母
Sinclude<stdio.h>
intmainO
(
inti;
chara;
a=getchar();
for(i=0;i<26;i++)
(
printf(〃%c〃,a);
a++;
if(a==123||a==91)
a=a-26;
)
printf(〃\n");
return0;
)
18.【應(yīng)用】念整數(shù)
成績(jī)5開啟時(shí)間2019年10月10日星期四11:00
折扣0.8折扣時(shí)間2019年10月27日星期日23:55
允許遲交否關(guān)閉時(shí)間2019年10月27日星期日23:55
題目?jī)?nèi)容:
你的程序要讀入一個(gè)整數(shù),范圍是[T00000000,100000000]。然后,用漢語拼
音將這個(gè)整數(shù)的每一位輸出出來。
如輸入1234,則輸出:
yiersansi
注意,每個(gè)字的拼音之間有一個(gè)空格,但是最后的字后面沒有空格。當(dāng)遇到負(fù)
數(shù)時(shí),在輸出的開頭加上〃fu",如-2341輸出為:
fuersansiyi
輸入格式:
一個(gè)整數(shù),范圍是[T00000,100000]。
輸出格式:
表示這個(gè)整數(shù)的每一位數(shù)字的漢語拼音,每一位數(shù)字的拼音之間以空格分隔,
末尾沒有空格。
輸入樣例:
-30
輸出樣例:
fusanling
選自:翁愷老師2015年M00C課程。
#include<stdio.h>
Sinclude<math.h>
intmain(intargc,constchar*argv[]){
//insertcodehere...
inti,j;
scanf&i);
intn=0;
if(i<0)
(
printf(zzfu");
i=i*-1;
)
intm=i;
while(m>0)
(
m=m/10;
n++;
)
if(i==0)
(
printf("ling'n");
)
for(intj=n-1;j>=0;j—)
(
intb=i/(pow(10,j));
i=i%(int)pow(lO,j);
switch(b)
case0:
printf(〃ling〃);
break;
case1:
printf("yi");
break;
case2:
printf(〃er〃);
break;
case3:
printf(〃san〃);
break;
case4:
printf(〃si〃);
break;
case5:
printfCwu");
break;
case6:
printf(〃liu〃);
break;
case7:
printf(〃qi〃);
break;
case8:
printf(〃ba〃);
break;
case9:
printfCjiuz,);
break;
)
if(j!=0)
(
printf("");
)
else
printf('\n");
H6.【選作?小學(xué)】最近的分?jǐn)?shù)(學(xué)長(zhǎng)出題)
成績(jī)5開啟時(shí)間2019年10月10日星期四11:00
折扣0.8折扣時(shí)間2019年10月27日星期日23:55
允許遲交是的關(guān)閉時(shí)間2019年10月27日星期日23:55
題目描述:
給定三個(gè)正整數(shù)x,y,n.你的任務(wù)是找到與分?jǐn)?shù)x/y最接近的分母
不超過n的分?jǐn)?shù).
也就是說要找到一對(duì)整數(shù)a,b(l<=b<=n,0<=a)使得|x/y-a
/b|盡可能小。
如果有多個(gè)滿足條件的,輸出分母最小的一個(gè)。如果依然有多個(gè)滿足
分母最小的,輸出分子最小的一個(gè)。
輸入:
三個(gè)整數(shù)x,y,n.(1<=x,y,n<=10~5)
輸出:
題目要求的分?jǐn)?shù),以“a/b”形式輸出。
深夜提示(學(xué)長(zhǎng)配圖):
Sinclude<stdio.h>
Sinclude<math.h>
intmainO
(
intx,y,n,fenzi=l,fenmu=l,i,big,small;
doublepre,goal,temp;
scanf(z,%d%d%d〃,&x,&y,&n);
intz=x/y;
goal=1.0*x/y;
pre=100;
if(n>y)
printf(z/%d/%d\nz,,x,y);
else
(
x%=y;
temp=(1.0*x)/y;
pre=100;
for(i=n;i>0;i--)
(
small=(int)(temp*i);
big=small+1;
if(fabs(temp一((1.0big)/i))<=pre)
(
pre=fabs(temp-((1.0*big)/i));
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中專成人考試試題及答案
- 2025年中專五類試題及答案
- 2025年專轉(zhuǎn)本語文試題及答案
- 零售行業(yè)私域流量運(yùn)營2025年行業(yè)競(jìng)爭(zhēng)力分析報(bào)告
- 食品飲料行業(yè)食品安全法律法規(guī)與食品安全信息共享報(bào)告
- 藝術(shù)市場(chǎng)數(shù)字化交易新平臺(tái)藝術(shù)品收藏者行為分析研究報(bào)告
- 農(nóng)產(chǎn)品質(zhì)量安全追溯體系2025年實(shí)施方案:農(nóng)產(chǎn)品質(zhì)量追溯信息化建設(shè)
- 道路交通流量?jī)?yōu)化方案
- 機(jī)械制造企業(yè)服務(wù)化轉(zhuǎn)型中的知識(shí)管理策略報(bào)告
- 輸變電工程質(zhì)量驗(yàn)收與檢測(cè)方案
- 包裝車間質(zhì)量培訓(xùn)
- 施工方案-施工打圍方案
- ??抵腔酃さ亟鉀Q方案
- 2025年人力資源和社會(huì)保障局離職協(xié)議
- DB4403-T 67-2020 建設(shè)用地土壤污染風(fēng)險(xiǎn)篩選值和管制值
- 三年級(jí)脫式計(jì)算500題可直接打印
- 2024至2030年海釣抄網(wǎng)項(xiàng)目投資價(jià)值分析報(bào)告
- 專項(xiàng)24-正多邊形與圓-重難點(diǎn)題型
- 國家資格等級(jí)證書-驗(yàn)光員-2.視功能檢查評(píng)分表(助教學(xué)生填寫)
- 浙江省嘉興市2024-2025學(xué)年高三基礎(chǔ)測(cè)試試卷語文
- T-CPQS C010-2024 鑒賞收藏用潮流玩偶及類似用途產(chǎn)品
評(píng)論
0/150
提交評(píng)論