本文目录一览:
- 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/n/204469.html