日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

华师大c语言作业答案,2018华东师范大学计算机系机试题目代码

發(fā)布時(shí)間:2024/4/17 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 华师大c语言作业答案,2018华东师范大学计算机系机试题目代码 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Problem A

給一個(gè)小學(xué)生都會(huì)算的1位數(shù)與1位數(shù)運(yùn)算的代數(shù)式,請(qǐng)你求出這個(gè)表達(dá)式的值。

表達(dá)式僅含+-*/四種運(yùn)算,題目保證0不為除數(shù)。

Sample Input 1:

1+1

Sample Output 1:

2

Sample Input 2:

3*4

Sample OutPut2:

12

C語(yǔ)言解答

#include

int main(void)

{

char op,n1,n2;

int res;

n1=getchar();

op=getchar();

n2=getchar();

switch(op)

{

case '+':

res=(n1-'0')+(n2-'0');

break;

case '-':

res=(n1-'0')-(n2-'0');

break;

case '*':

res=(n1-'0')*(n2-'0');

break;

case '/':

res=(n1-'0')/(n2-'0');

break;

default:

break;

}

printf("%d\n",res);

return 0;

}

Python解答

expr=input()

print(int(eval(expr)))

Problem B

現(xiàn)在小學(xué)生也在學(xué)習(xí)基本的編程,課程目標(biāo)是讓小學(xué)生能夠有基本的算法思想,并不涉及復(fù)雜的數(shù)據(jù)和實(shí)現(xiàn)細(xì)節(jié)與原理。LOGO語(yǔ)言就非常適合小學(xué)生學(xué)習(xí),它通過(guò)繪圖的方式來(lái)直觀的表現(xiàn)出如何用程序代碼控制事物。例如控制臺(tái)上初始給出一個(gè)點(diǎn),使用語(yǔ)句FD 1/1 表示將控制臺(tái)上的點(diǎn)Forward 1/1的距離,即,向當(dāng)前方向移動(dòng)1的距離,這樣就畫(huà)出一條線段。語(yǔ)句LT 60則表示當(dāng)前朝向向左轉(zhuǎn)60度,接著再使用語(yǔ)句FD 1/1就畫(huà)出一條與之前的直線夾角為120度的一條線段,這時(shí)控制臺(tái)上就有繪制出了一條折線段。

現(xiàn)在的任務(wù)是輸出一段能繪制分形的LOGO語(yǔ)言的程序代碼。

如果你還對(duì)分形不了解,下面我們先介紹一下分形:

分形(Fractal) 是一個(gè)幾何形狀可以分成數(shù)個(gè)部分,且每一部分都(至少近似地)是整體縮小后的形狀,即具有自相似的性質(zhì)。自然界中一定程度上具有分形的性質(zhì)的事物有云朵、閃電、植物根系、雪花等等。著名的科赫曲線就是一種分形,它繪制的是形態(tài)類(lèi)似雪花的圖案。

以下是0階到3階的科赫曲線:

本題的任務(wù)只要求畫(huà)出科赫曲線的一部分即可,具體要求為:

輸入:

1行,1個(gè)數(shù)字n,表示圖形的階數(shù)(0

輸出:

能繪制上述圖形的LOGO程序代碼

如果你有遞歸的思想,那么應(yīng)該不難看出,這個(gè)問(wèn)題就是一個(gè)遞歸的形式,我們應(yīng)該先把題目描述轉(zhuǎn)化成算法步驟:

繪制長(zhǎng)為x的圖形:

如果x已經(jīng)不能再分成x/3,就畫(huà)出長(zhǎng)為x的直線。

先畫(huà)長(zhǎng)為x/3的圖形,左轉(zhuǎn)60度,畫(huà)出長(zhǎng)為x/3的圖形,左轉(zhuǎn)240度,畫(huà)出長(zhǎng)為x/3的圖形,左轉(zhuǎn)60度,畫(huà)出長(zhǎng)為x/3的圖形,畫(huà)完。

這樣就有了程度的基本框架,再把相應(yīng)的LOGO語(yǔ)言的指令填入,就是此題的答案了。

本題C++和python的程序代碼不再贅述

C語(yǔ)言解答

#include

#include

void Fractal(int n,int level)

{

int p=pow(3,n);

if(level==1)

{

printf("FD 1/%d\n",p);

printf("LD 60\n");

printf("FD 1/%d\n",p);

printf("LD 240\n");

printf("FD 1/%d\n",p);

printf("LD 60\n");

printf("FD 1/%d\n",p);

}

else

{

Fractal(n,level-1);

printf("LD 60\n");

Fractal(n,level-1);

printf("LD 240\n");

Fractal(n,level-1);

printf("LD 60\n");

Fractal(n,level-1);

}

}

void output(int n)

{

Fractal(n,n);

}

int main(void)

{

int n;

scanf("%d",&n);

output(n);

return 0;

}

Problem C

給出一個(gè)含有N (0 < N < 200000)個(gè)數(shù)字的數(shù)列,請(qǐng)你對(duì)它排序,每個(gè)數(shù)的范圍均處于[?1050,1050] [ ? 10 50 , 10 50 ]。負(fù)數(shù)前有負(fù)號(hào)‘-’,正數(shù)前沒(méi)有+號(hào),每個(gè)數(shù)字不含前導(dǎo)0,零用一個(gè)0表示。

輸入:

2行,第1行有1個(gè)數(shù)字N,表示數(shù)列中數(shù)據(jù)的個(gè)數(shù)

第2行有N個(gè)數(shù)字,表示待排序的數(shù)列,數(shù)字間用空格分隔,題目保證每個(gè)數(shù)字在[?1050,1050] [ ? 10 50 , 10 50 ]范圍內(nèi)。

輸出:

1行,將N個(gè)數(shù)字從小到大排序后的結(jié)果,數(shù)字間用空格分隔。

Sample Input :

5

991 -31 -1 5 -10000000000000000000000000000000000000000000000000

Sample Output:

-10000000000000000000000000000000000000000000000000 -31 -1 5 991

C語(yǔ)言解答

#include

#include

#define MAXDIGIT 57

#define MAXN 200007

typedef struct numNode ElemType;

struct numNode

{

int isPositive;

int digit;

char value[MAXDIGIT];

};

ElemType a[MAXN];

int myCompare(ElemType a,ElemType b);

void sort(ElemType *a,int N);

int main(void)

{

int i,N;

scanf("%d",&N);

for(i=0;i"%s",a[i].value);

a[i].digit=strlen(a[i].value);

if(a[i].value[0]=='-')

a[i].isPositive=0;

else

a[i].isPositive=1;

}

sort(a,N);

for(i=0;i"%s ",a[i].value);

printf("\n");

return 0;

}

int myCompare(ElemType a,ElemType b)

{

if(a.isPositive && b.isPositive == 1){

//both of a and b are positive

if(a.digit!=b.digit)

return a.digitelse

return strcmp(a.value,b.value)<0;

}

else if(a.isPositive==0 && b.isPositive==0){

if(a.digit!=b.digit)

return a.digit>b.digit;

else

return strcmp(a.value+1,b.value+1)>0;

}

else

return a.isPositive==0;

}

void QuickSort(ElemType *a,int lwbd,int upbd)

{

int i=lwbd,j=upbd;

if(iwhile(iwhile(iif(iwhile(iif(i1);

QuickSort(a,i+1,upbd);

}

}

void sort(ElemType *a,int N)

{

QuickSort(a,0,N-1);

}

Cpp解答:用到STL庫(kù)與運(yùn)算符重載

#include

#include

#include

using std::sort;

const int MAXDIGIT=50;

struct numNode{

bool isPositive;

int digit;

char value[MAXDIGIT+2];

bool operatorconst numNode &b) const

{

if(isPositive==true &&b.isPositive==true)

{

if(digit!=b.digit)

return digitelse

return strcmp(value,b.value)<0;

}

else if( isPositive== false && b.isPositive==false)

{

if(digit!=b.digit)

return digit>b.digit;

else

return strcmp(value,b.value)>0;

}

else

return b.isPositive;

}

};

int main(void)

{

int i,N;

scanf("%d",&N);

numNode *s=new numNode [N];

for(i=0;iscanf("%s",s[i].value);

s[i].digit=strlen(s[i].value);

if(s[i].value[0]=='-')

s[i].isPositive=false;

else

s[i].isPositive=true;

}

sort(s,s+N);

for (i=0;iprintf("%s ",s[i].value);

printf("\n");

delete [] s;

return 0;

}

Problem D

有一個(gè)研究團(tuán)隊(duì),團(tuán)隊(duì)分成許多研究小組,每個(gè)小組的一部分成員可能再分成小組。小組的成員只知道自己的組長(zhǎng)是誰(shuí),而在同一個(gè)組長(zhǎng)領(lǐng)導(dǎo)下的成員之間卻相互不認(rèn)識(shí)。現(xiàn)在這個(gè)團(tuán)隊(duì)希望有一個(gè)程序能統(tǒng)計(jì)一下各組長(zhǎng)帶領(lǐng)小組的規(guī)模,即對(duì)每一個(gè)成員想知道自己及自己帶領(lǐng)下的小組有多少人。

輸入:

2行,第1行有1個(gè)數(shù)字N(0

第2行有N個(gè)數(shù)a1,a2,...,ai,...,aN a 1 , a 2 , . . . , a i , . . . , a N,表示第i個(gè)人的領(lǐng)導(dǎo)是ai a i。團(tuán)隊(duì)的領(lǐng)導(dǎo)用0表示,說(shuō)明沒(méi)有人做他的組長(zhǎng)。數(shù)據(jù)保證沒(méi)有環(huán)路。單獨(dú)的一個(gè)成員視為1個(gè)人的小組。

輸出:

1行,N個(gè)數(shù)字,表示第i名成員的團(tuán)隊(duì)的規(guī)模

Sample Input:

0 1 2 1 2 2

Sample Output:

6 4 1 1 1 1

C語(yǔ)言:

待續(xù)

Problem E

所謂“螺旋矩陣”,是指從左上角第1個(gè)格子開(kāi)始,按順時(shí)針螺旋方向從外圈向內(nèi)逐個(gè)填充。給出一個(gè)數(shù)字N,將1至N^2填入一個(gè)N行N列的螺旋矩陣。

例如當(dāng)N=4時(shí),螺旋矩陣為

1 2 3 4

12 13 14 5

11 16 15 6

10 9 8 7

當(dāng)N=5時(shí),螺旋矩陣為

1 2 3 4 5

16 17 18 19 6

15 24 25 20 7

14 23 22 21 8

13 12 11 10 9

我現(xiàn)在想知道每一行的蛇形矩陣的和,希望你能通過(guò)編寫(xiě)程序求解。

輸入:

1行,1個(gè)數(shù)字N (1

輸出:

N行,第i行表示蛇矩陣第i行的總和。

直接法:列出矩陣進(jìn)行加和

不能通過(guò)所有測(cè)試,只能得出小數(shù)據(jù)的結(jié)果

#include

#define DEBUG 1

#define MAXN 100

// if MAXN reach the upperbound 2e+5, it must beyond the memory limit

int N;

/*

** N is the order of matrix

**

** all of the function will use it

**

** therefore, we defined N as globle variable

*/

int valid(int x,int y)

{

if(x>=0 && x=0 && yreturn 1;

else

return 0;

}

typedef long long resType;

resType accumulate(resType *a)

{

int i;

resType s=0;

for (i=0;ireturn s;

}

int main(void)

{

int i,k,x,y;

resType a[MAXN][MAXN];

for(x=0;xfor(y=0;y0;

scanf("%d",&N);

int dir[4][2]={{0,1},{0,-1},{1,0},{-1,0}};

a[0][0]=1;

k=0;x=0;y=0;

for(i=2;i<=N*N;i++)

{

while(!(valid(x+dir[k][0],y+dir[k][1]) && a[x+dir[k][0]][y+dir[k][1]]==0))

k=(k+1)%4;

x=x+dir[k][0];

y=y+dir[k][1];

a[x][y]=i;

}

#if DEBUG

// output the matrix

for(x=0;xfor(y=0;yprintf("%4d",a[x][y]);

printf("\n");

}

#endif

for(i=0;iprintf("%d\n",accumulate(a[i]));

return 0;

}

找到數(shù)學(xué)規(guī)律可覆蓋所有范圍,C++解答

#include

int main(void)

{

int i,N;

long long spl,currD;

const int deepD=8;

scanf("%d",&N);

spl=N*(N+1)/2;

currD=4*(N-1)-1;

printf("%lld\n",spl);

for(i=N-1;i>0;i-=2)

{

spl+=currD*i+1;

printf("%lld\n",spl);

currD-=deepD;

}

currD=currD+deepD-10;

if(N%2==1)

{

for(i=1;i2)

{

spl+=currD*i;

printf("%lld\n", spl);

currD-=deepD;

}

}

else

{

for(i=2;i2)

{

spl+=currD*i;

printf("%lld\n", spl);

currD-=deepD;

}

}

return 0;

}

python解答

N=int(input())

spl=int(N*(N+1)/2) #sum per line

currD=4*(N-1)-1 #current distance

deepD=8 #2_order distance

print(spl) #sum of the 1st line

for i in range(N-1,0,-2):

spl+=currD*i+1

print(spl)

currD-=deepD

currD=currD+deepD-10

if(N%2==1):

for i in range(1,N,2):

spl+=currD*i

print(spl)

currD-=deepD

else:

for i in range(2,N,2):

spl+=currD*i

print(spl)

currD-=deepD

總結(jié)

以上是生活随笔為你收集整理的华师大c语言作业答案,2018华东师范大学计算机系机试题目代码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 中文在线字幕观看 | 午夜激情视频在线观看 | 在线亚洲欧美 | 成人av网址大全 | 11孩岁女毛片 | 久久av秘一区二区三区 | 性猛交xxxx乱大交孕妇印度 | 久久性网 | 在线免费观看国产精品 | 久久成人18免费观看 | 亚洲黄色免费视频 | 在线中文av | 禁欲天堂 | xxx老太太| 神马午夜精品 | 欧美xxxxx高潮喷水麻豆 | 久久久精品人妻无码专区 | 麻豆av网站| 福利在线一区二区三区 | 亚洲男人天堂2023 | 国产视频一区二区三区四区 | 女人做爰全过程免费观看美女 | 日本午夜一区 | 91高跟黑色丝袜呻吟动态图 | 国产999精品 | 美女操操操 | 四虎视频在线 | 1024亚洲 | 亚洲欧洲日本国产 | 亚洲综合av一区 | 午夜精品久久久久久久久久 | 日韩字幕在线 | 中文字幕综合在线 | 肉色丝袜脚交一区二区 | 麻豆理论片| 国产精品久久AV无码 | 一卡二卡三卡在线视频 | 欧美日韩精品电影 | 国产精品300页 | 久久综合第一页 | 国产对白在线 | 国产精品对白刺激久久久 | 毛片一二三区 | 日韩中文av在线 | 欧美精品一二三 | 成人黄色在线观看视频 | 国产高清视频一区二区 | 日韩伦理视频 | jizzjizz日本人 | 欧美日韩一区电影 | 久久久精品网站 | 久久久久成人网站 | 成人7777| 亚洲一区二区三区三州 | 女人和拘做爰正片视频 | 99视频导航 | 激情婷婷 | 久久人人爽人人人人片 | 国产50页 | a在线播放| 亚洲免费视频观看 | 一级黄色大片网站 | www.狠狠操.com | 国产精品久久久久久久久久直播 | 大胸美女啪啪 | 伊人热久久| 久操视频在线 | 深爱开心激情网 | 人妻少妇一区二区三区 | 第一章豪妇荡乳黄淑珍 | 国产黄页 | 亚洲色成人www永久网站 | 欧美激情一二区 | 欧美另类videosbestsex | 青草国产 | 国产精品午夜久久 | 国产日韩在线观看一区 | 亚洲区视频在线观看 | 免费毛片基地 | 欧美日韩成人一区二区在线观看 | 一区二区有码 | 日韩精品一区二区三区不卡 | 欧美日韩综合在线观看 | 亚洲天堂2018av | 99re国产| 日韩啪啪网站 | 领导揉我胸亲奶揉下面 | 麻豆一区二区在线观看 | 国产精品福利视频 | 91在线播放国产 | 亚洲人无码成www久久 | 99re6在线精品视频免费播放 | 一级片大片 | 亚洲tv在线观看 | 初高中福利视频网站 | fc2ppv色の美マンに中出し | 久久天天综合 | 婷婷色综合 | 欧美视频在线观看免费 |