杭电笔试

1.输入一组数据,以0结尾,计算出所有数之和以及平均数
#include
int main(){
   int i,j,a[101],sum=0;
   double avg=0.0;
    for(i=0;i<=100;i++){
        if(scanf("%d",&a[i])!=0&&a[i]!=0)
            sum+=a[i];
        else
            break;
   }
   avg=sum/i;
   printf("%d %lf\n",sum,avg);
   return 0;
}

2.输入字符串str,输出【str】+空格+【str逆序】 可以假设str长度不超过100.自己构造算法,不能使用自带逆序函数

#include
int main(){
  int i,j,n;
  char str[101],a[101];
  while(scanf("%d",&j)!=0){//输入字符长度。
      for(i=0;i<=j;i++){
        scanf("%c",&str[i]);
  }
  }
  n=i;
  for(i=0;i<=n;i++){
        a[i]=str[n-i];
        printf("%c",str[i]);
  }
  printf(" ");
  for(i=0;i<=n;i++){
        printf("%c",a[i]);
  }
  return 0;
}


3.一共n个人,n块砖,男生一人可搬4块,女生一人可搬3块,两个小孩搬一块。输入n,求出所有可能的情况。


4.10个小孩分糖块,第一个10块,第二个18块,第三个2块,第四个6块,第五个20块,第六个24块,第七个2块,第八个14块,第九个4块,第十个8块。每个小孩同时将自己手中糖分一半给右边的小孩,若小孩手中的糖块为奇数,则可以向老师索要一块。求第几次之后,所有的小孩拥有同样数量的糖块。

你可能感兴趣的:(杭电笔试)