當前位置:首頁 » 編程語言 » 浙大c語言4111高空墜球
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

浙大c語言4111高空墜球

發布時間: 2022-09-20 00:59:01

Ⅰ 浙大ZOJ 1001 c語言a+b問題

while(scanf("%d %d",&a, &b) != EOF)這一句可以讓你實現多組a b的輸入 (EOF是End Of file的縮寫) 按你的寫法輸入一組a+b之後程序就會終止 OJ無法實現多組輸入 當然判錯啦

Ⅱ C語言問題題

#include<stdio.h>
intmain(void)
{
inti,n;
doublesum,h;
scanf("%lf%d",&h,&n);//這里錯了,double型數據輸入要改為%lf
sum=h;
i=2;
do
{
sum=sum+h;
h=h/2;
i++;
}while(i<=n);
printf("%.1f%.1f",sum,h);
return0;
}

Ⅲ 浙江大學的物理和C-語言的教材叫什麼,分別是由哪個出版社出版的

物理是《大學物理》浙大出版社 c語言是《C語言程序設計》也是浙大出版社……
我是浙大的……

Ⅳ 有誰知道ACM到底考什麼啊 ,是C語言嗎有什麼參考書嗎

ACM(ACM International Collegiate Programming Contest, 國際大學生程序設計競賽)是由國際計算機界歷史悠久、權威性的組織 ACM (Association for Computing Machinery,國際計算機協會) 主辦的,是世界上公認的規模最大、水平最高的國際大學生程序設計競賽,通過競賽讓參賽大學生運用計算機來充分展示自己分析問題和解決問題的能力。

主要工具是C語言。很多大學都會有關於ACM的練習題,最出名的是北大和浙大的ACM網站。浙大ACM:http://acm.zju.e.cn/
北大ACM:http://acm.pku.e.cn/JudgeOnline/

我想說明的是比賽一組最多三個人,比賽5個小時,相當考驗參賽者的編程思維和團隊配合能力,而且ACM大賽的試題全部用英文描述,非常鍛煉英語能力。建議對編程感興趣的同學參加。

Ⅳ 浙大版《C語言程序設計實驗與習題指導(第3版)》答案 求哥哥幫忙

一本書的答案嗎,這里寫不完的。

Ⅵ C語言題急求!~!~!~!~!~!~!~!~!~!

1.
最初的C語言是為描述和實現
UNIX
操作系統而設計的。
2.
C語言規定,標識符必須以字母或
下劃線
開頭。
3.
C語言的double型數據在內存中佔用
8
個位元組的存儲單元。
4.
×C語言的變數有
2
種存儲類型,其中
static
型變數不進行初始化時,初值自動為0
5.寫出下列表達式的求值結果:
(1)
2+3<=2
0
(2)
5/3+2
3
(3)
!
(3>2)||8!=7
1
(4)
3+7%3
4
6.已知int=12;
執行語句a*=2+4後,變數a的值為
24

7.已知int=2,b;
執行語句b=
a--;
後,變數a的值為
1
,
b的值為
2

8.若有int
a=2,b=1,c=0;
執行語句c=a++
-
b
-
-;
後,變數c的值為
1
,b的值為
0
一、
判斷題(1×5分,正確的畫√,錯誤的畫×)
(×)1.
C語言俗稱「低級語言的高級形式」,這說明C語言的功能不強。
(√)2.
C語言允許用實型表達式向整型變數賦值。
×(×)3.
C語言的全局變數只能是extern存儲類型。
×(×)4.
已知int
a[4],*p;則語句p=&a;是正確的。
(×)5.
下面的程序段構成死循環。
a=5;
while
(1)
{a--;
if
(a<0)
break
;
}
三、單項選擇題:(2×10分)
1.
在IBM-PC機中,unsigned
int類型表示的數據范圍是(
D
)。
A)0-127
B)0-255
C)0-32767
D)0-65535
2.
下列符號中,合法的C常量是(
C
)。
A)
1e8.2
B)
0XFFH
C)
『\n』
D)
089
3.語句x=3;
do{printf(「%d」,x);x--}while(x=
=0);
的執行結果是(
C
)。
A)3210
B)
321
C)3
D)無任何顯示
4.
已知p、q
是兩個同類型的指針變數,下列表達式有語法錯誤的是(
B
)。
(A)p!=NULL&&p=
=q
(B)
p*q
(C)p++,q--
(D)p-q+1
5.若k=
-1,
表達式k=
k>=0
?
(k-2)
:
(
k+2)
的值為(
D
)。
(A)-3
(B)
-2
(C)1
(D)2
×6.下面關於C函數的說法中正確的是(
B
)。
A)C函數的返回值類型必須是整型、實型或指針三者之一
B)C函數的返回值必須用return語句帶回主函數
C)C函數允許遞歸調用,也允許在函數體中定義子函數
D)任何C函數必須使用return語句帶回主程序
×7.若定義typedef
struct
user
{int
num;
char
name[21];
long
code;}
UserTp,;
則表達式
sizeof(UserTp)的值為(
D
)。
A)
0
B)
21
C)
31
D)
27
×8.已知static
int
a[
]={1,2,3,4};
int
*p;
若有p=a+2;
則*p++的值為(
C
)。
A)1
B)2
C)3
D)4
×9.定義C函數時,若預設函數返回值類型,則返回值類型為(
A
)。
A)int
B)char
C)void
D)char
*
10.
×為只讀操作打開正文(文本)文件,正確的打開方式是(
A
)。
A)
「r+」
B)
「a」
C)
「w」
D)
「rb」
四、多項選擇題(2×5分,多選或錯選不得分,少選得1分)
1.以下數據類型在內存中佔用4個位元組的是(
BC
)。
A)
int
B)
unsigned
long
C)
float
D)
unsigned
char
×2.
定義char
s[81];
後,能正確輸入一個字元串到數組s的語句是(
ABC
)。
A)gets(s);
B)scanf
(」%c」,s);
C)scanf
(」%s」,&s[0]);
D)gets(&s[0]);
3.
以下關於C源程序文件的說法中正確的是(
BCD

A)是一種二進制文件
B)是一種文本(ASCII碼)文件
C)可以用DOS的type命令顯示其內容
D)文件擴展名一般為c
×4.
下面關於C語言的說法錯誤的是(
ACD
)。
A)
C函數必須有形式參數
B)
任何復合語句體的{
}中允許定義局部變數
C)
局部變數都存儲在動態存貯區
D)
C程序的執行起點只能是main函數
5.
以下程序正確計算p=n!
(n>=0)的是(
AB
)。
A)
for(p=1.0,k=1;k<=n;)
p*=k++;
B)
p=1.0;k=0;while(k<n)
p*=++k;
C)
p=1.0;k=1;do{++k;p*=k;}
while(k<=n);
D)
p=1.0;for(k=n;k>=1;k--)
p*=k--;
五、讀程序與程序填空(共22分)
1.閱讀以下程序,寫出程序運行結果:(共3Χ4分)
×
(1)
#include
」stdio.h」
void
main()
{char
a[61],*s;int
n;
gets(a);
for(s=a;*s;s++)
if(*s>=』a』&&*s<=』z』)
*s-32;
puts(a);
}
若程序的輸入為abcb,則輸出結果為
ABCD

(2)
#include
」stdio.h」
void
main()
{
int
s=0,k=0;
while(k<4)
{s+=k;k++;printf(「%d」,s);}
}
該程序的輸出是
0136

(3)
#include
「stdio.h」
void
main(
)
{static
int
a[5]={2,-15,1,0,-7};
int
i;
for(i=0;i<5;i++)
if(a[i]<0)
a[i]
=
-a[i];
for(i=4;i>=0;i--)
printf(「%4d」,
a[i]);
}
該程序的輸出是7
0
1
15
12
(4)
×#include
「stdio.h」
#define
N
5
int
swap(int
*p,
int
*q)
{int
t;
if(p<q)
{t=*p;*p=*q;*q=t;}
return
p<q;
}
void
f(int
a[
],int
m)
{int
*p,
*q;
p=a;q=a+m;
while(swap(p,q))
{p++;
q--}
}
void
main(
)
{int
m,a[N];
for(m=0;m<N;m++)
scanf(「%d」,a+m);
f(a,N-1);
for(m=0;m<N;m++)
printf(「%d」,a[m]);
}
若程序的輸入為1
2
3
4
5,
則輸出結果為
5
4
3
2
1
2.程序填空:(共10分)
(1)
×以下程序的功能是輸入年、月、日,求該日期是這一年的第幾天,填空使之完善。
#include
「stdio.h」
int
IsLeap(int
y)
/*
此函數的功能是判斷年號y是否為閏年
*/
/*
已知閏年的條件是年號y能被4整除,但不能被100整除,或年號y能被400整除
*/
{int
r;
if(
y%4=
=0&&y%100!=0||y%400=
=0
)
r=1;
else
r=
0
;return
r;}
int
DaysofMonth(int
y,int
m)
/*
此函數的功能是求y年m月的天數
*/
{
int
days;
switch(m)
{case
4,6,9,11:days=30;break;
case
2:if(IsLeap(y))
days=28;else
days=29;break;
default:days=
31
;
}
return
days
;
}
void
main
(
)
{int
k,y,m,d,days;
printf(「Input
year,month,date:」);scanf(「%d%d%d」,&y,&m,&d);
days=0;
for(k=
1
;
k<m
;k++)days+=
DaysofMonth(y,k);
days+=d;
printf(「days=%d\n」,days);}
(2)
下面程序的功能是輸出100至1000以內的素數,請填空使之完善。
#include
「stdio.h」
#include

math.h

void
main
(
)
{
int
m,k,j;
for(m=100;m<=1000;m++)
{k=sqrt(m);
for(j=2;
j<=k
;j++)
if(m%j
=
=
0)
break;
if(
j>k或
j>=k+1
)
printf(「%5d」,m);
}
}
六、根據題意編寫程序:(3Χ6+10=28分)
1.
編程序,從鍵盤輸入a0,a1,a2,…,an計算s=ao+a1x+a2x2+…+anxn
×2.編程序,將正文(文本)文件中的小寫字母變成大寫並統計輸出文件有多少個字元,
要求文件名由鍵盤輸入。
×3.編程序,輸入n個英文單詞(n用#define定義為8),然後將這些單詞按英文字典順
序輸出。
×4.編程序,從鍵盤輸入n個學生的姓名、學號和住址,按照學號次序把它們串成一個單向鏈表。
1.
main(
)
{float
x,a[n+1],s=0.0;
int
i,n;printf(「請輸入n和x的值」);scanf(「%d,%f」,n,x);printf(「請輸入所有系數的值」);
for(i=0;i<=n;i++)scanf(「%f」,&a[i]);
for(i=0;i<=n;i++)
s=s+a[i]*pow(x,i);printf(「s=%f」,s」);}
2.
#include
「stdio.h」
main
(
)
{int
i;char
ch,name[80];
FILE
*fp;
i=0;
printf(「please
input
the
filename:」);
scanf(「%s」,name);
if((fp=fopen(name,」r+」))==NULL)
{
printf(「cannot
open
the
file」);
exit(0);}
ch=fgetc(fp);
i++;
if((ch>=』a』)&&(ch<=』z』))
ch=ch-32;
fputc(ch,fp);
printf(「字元總數為%」,i);
fclose(fp);
}
3.
#include
"stdio.h"
#include
"string.h"
#define
n
8
void
main(
)
{char
*p,*s[n],t[21];
int
i,j;
for(i=0;i<n;i++)
{scanf("%s",t);
s[i]=(char
*)malloc(strlen(t)+1);
strcpy(s[i],t);
}
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(strcmp(s[i],s[j])>0)
{p=s[i];s[i]=s[j];s[j]=p;}
for(i=0;i<n;i++)
printf("%s\n",s[i]);
}
輸入
basic
good
well
c
pascal
morning
hlr
cpp
輸出:
basic
c
cpp
good
hlr
morning
pascal
well

Ⅶ 求c語言視頻教程 浙大 顏暉老師講的第6講

http://..com/question/51236124.html

Ⅷ 請高手幫忙,要解題思路或者是代碼,最好c語言。

//用C++提交
// 這題要用大整數來做的。自己定義大整數比較方法
#include <stdio.h>
#include<algorithm>
#include<stdlib.h>
#include<time.h>
#include<string.h>
using namespace std;
const int MAX=555;
struct BigNum//定義大整數
{
int dig[MAX];//大整數的每一位
int len;//大整數長度
void Clr()
{
memset(dig,0,sizeof(dig));
len=1;
}
};
struct STU
{
char name[MAX];
BigNum scr;
}stu[MAX];
BigNum deal(char s[])
{
BigNum ret;
int i,j;
ret.Clr();
for(i=0,j=strlen(s)-1;s[i];i++,j--)
{
ret.dig[j]=s[i]-'0';
}
ret.len=i;
return ret;
}
int NumCmp(BigNum a,BigNum b)
{
int i;
if(a.len>b.len)return 1;//a的長度大
else if(b.len>a.len)return -1;//b長度大
//長度一樣的情況
for(i=a.len;i>0;i--)
{
if(a.dig[i]!=b.dig[i])return a.dig[i]-b.dig[i];//找到第一個不一樣的,返回
}
return a.dig[i]-b.dig[i];
}
bool cmp(STU a,STU b)//定義比較規則
{
return NumCmp(a.scr,b.scr)>0;
}
int main()
{
int n,i;
char tmp[MAX];
while(scanf("%d",&n)!=EOF)
{
for(i=0;i<n;i++)
{
scanf("%s%s",stu[i].name,tmp);
stu[i].scr=deal(tmp);//把數字倒轉一下.這樣比較起來方便
}

sort(stu,stu+n,cmp);
for(i=0;i<n;i++)puts(stu[i].name);
}
return 0;
}

Ⅸ C語言高空墜球問題

#include <stdio.h>
int main(void)
{
int i, n;
int repeat, ri;
double distance, height;

scanf("%d", &repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%lf%d", &height, &n);
distance = height;
while(n > 0){
height = height / 2;
distance = distance + height * 2;
n--;
}
distance = distance - height * 2;
printf("distance = %.1f, height = %.1f\n", distance, height);
}
}

我剛運行過,絕對沒問題!

Ⅹ c語言,一個球從某高度h落下,每次落地後反彈回原來高度的一半,再落下。編程計算球在10次落地

根據你的題目和輸出樣式截圖分析:

1、每次輸出當前墜落的高度,及本次墜落後經過的距離總和

2、輸出包含小數,因此高度及距離變數採用浮點數

3、遞歸/循環只執行10次

3、看你圖上,輸出浮點數小數不顯示多餘的0,因此列印格式要用%g而不是%f(最多保留6位)。

#include <stdio.h>

void drop(float height);

int main()

{

float height;

printf("初始高度:");

scanf("%f",&height);

drop(height);

return 0;

}

void drop(float height)

{

static int cnt=1;

static float distance=0;//每次墜落後球移動的距離總和

if(height>0){

distance+=height;

printf("第%d次高度%g ",cnt,height);

printf("第%d次距離%g ",cnt,distance);

if(cnt<10)

cnt++,distance+=height/2,drop(height/2);

else

cnt=1,distance=0;

}

}