本文目錄一覽:
- 1、C語言,用數組輸入你一周的步數,求最大值、最小值、平均值、每天佔總數的百分比
- 2、C語言題(步數)求代碼
- 3、C語言數據結構編程 隨機走步問題
- 4、C語言 最少步數(馬走日)幫解下。。。
- 5、有n階階梯,每步可走1階或2階,求每一步走法,和有多少種走法,用C語言編程
C語言,用數組輸入你一周的步數,求最大值、最小值、平均值、每天佔總數的百分比
#include stdio.h
void main()
{
int i,max,min,a[7],sum=0;
for(i=0;i7;i++)
{
scanf(“%d”,a[i]);
sum+=a[i];
}
max=a[0];min=a[0];
for(i=0;i7;i++)
{
if(maxa[i]) max=a[i];
if(mina[i]) min=a[i];
}
printf(“最大值為%d\n最小值為%d\n”,max,min);
printf(“平均值為%.2f\n”,(float)sum/7);
printf(“從一周第一天到最後一天,每天佔總數的百分比依次為:\n”);
for(i=0;i7;i++)
printf(“%.2f%% “,(float)a[i]/(float)sum*100);
}
運行示例:
C語言題(步數)求代碼
#include stdio.h
#include math.h
int abs (int x)
{
return x 0 ? x : -x;
}
int main()
{
int n,a,b,t;
scanf(“%d”,t);
while(t–)
{
scanf(“%d%d”,a,b);
n = abs(b – a);
int tmp = (int)(sqrt(n*1.0));
int step = tmp + tmp – 1;
int total = tmp * tmp;
if(n – total = tmp + 1)
step += 2;
else if(n – total 0)
step ++;
printf(“%d\n”,step);
}
return 0;
}
C語言數據結構編程 隨機走步問題
#includestdio.h
#includestdlib.h
#includemath.h
int i,j;
int up;
int down;
int right;
int left;
void go_up(){
i++;
}
void go_down(){
i–;
}
void go_left(){
j–;
}
void go_right(){
j++;
}
int main(){
i=0;
j=0;
up=0;
down=0;
left = 0;
right = 0;
left = 0;
int k=100;
while(k–){
while(1){
switch(rand()%4){
case 0:go_left(); left++; break;
case 1:go_up(); up++; break;
case 2:go_right(); right++; break;
case 3:go_down(); down++; break;
}
if(i==0 j==0) break;
}
}
printf(“四個方向(向左、向上、向右和向下)的步數的平均數依次為:\n%.2f\t%.2f\t%.2f\t%.2f\n”,left/100.0,up/100.0,right/100.0,down/100.0);
system(“pause”);
return 0;
}
C語言 最少步數(馬走日)幫解下。。。
你好哦樓主~
很高興看到你的問題。
但是又很遺憾到現在還沒有人回答你的問題。也可能你現在已經在別的地方找到了答案,那就得恭喜你啦。
對於你的問題我愛莫能助!
可能是你問的問題有些專業了,或者別人沒有遇到或者接觸過你的問題,所以幫不了你。建議你去問題的相關論壇去求助,那裡的人通常比較多,也會比較熱心,能快點幫你解決問題。
快過年了,
最後祝您全家幸福健康快樂每一天!
有n階階梯,每步可走1階或2階,求每一步走法,和有多少種走法,用C語言編程
其實就是數學的排列組合的問題。對排列組合求和。
我就不列出是怎樣的排列了,就列出有幾類排列組合,還有結果。
#include stdio.h
#include stdlib.h
inline long A(int a1,int a2)
{
int r=1;
for(int i=0;ia2;i++)
r*=a1–;
return r;
}
inline long C(int c1,int c2)
{
double r=1;
int nc2=c2;
for(int i=0;ic2;i++)
{
r*=c1–;
if(nc20)r/=nc2–;
}
return (long)r;
}
int main()
{
int n;
long sum=0;//階級數,結果
int max2;//最大2步數
int nums1,nums2;//1的個數,2的個數
int i;
printf(“stairs: 0n40\n”);
scanf(“%d”,n);
if(n%2==0)
max2=n/2;
else
max2=(n-1)/2;
printf(“max step2:%d\n”,max2);
for(i=0;i=max2;i++)
{
int temp;
nums2=i;
nums1=n-nums2*2;
printf(“step1:%d,step2:%d\n”,nums1,nums2);
temp=C(nums1+nums2,nums2);//;sum+=C(nums1+nums2,nums1);
printf(“ways:%d\n”,temp);
sum+=temp;
}
printf(“final ways:%d\n”,sum);
return 0;
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/204469.html