姓名:陈冰冰 学号:0224039
// 编写一个函数int Count(double a[],int n),统计出具有n个元素的一维数组中大于等于所有元素平均值的元素个数并返回这个值。注意:请使用for循环实现该函数。//
#include<stdio.h>
int Count(double a[], int n)
{
int j = 0, i;
double c, b = 0;
for (i = 0; i < n; i++)
{
b += a[i];
}
c = b / n;
for (i = 0; i < n; i++)
{
if (a[i] >= c)
{
j = j + 1;
}
}
return j;
}
int main()
{
double a[100];
int i, x;
printf("请输入x的值,x=");
scanf_s("%d", &x);
printf("\n请输入%d个数:", x);
for (i = 0; i < x; i++)
{
scanf_s("%lf", &a[i]);
}
printf("\n这组数中大于等于所有元素平均值的元素个数为%d\n", Count(a, x));
return 0;
}
// 请编写一个函数 comm(int n,int k),用递归算法计算从n个人中选择k个人组成一个委员会的不同组合数,由n个人里选k个人的组合数=由(n-1)个人里选k个人的组合数+由(n-1)个人里选(k-1)个人的组合数 //
#include<stdio.h>
int comm(int n, int k)
{
if (k > n)
return 0;
else if (k == n || k == 0)
return 1;
else
return comm(n - 1, k) + comm(n - 1, k - 1);
}
int main()
{
int n, k;
printf("总共的人数:");
scanf_s("%d", &n);
printf("选择的人数:");
scanf_s("%d", &k);
printf("组合数有:%d", comm(n, k));
return 0;
}
// 将数组a[n]的每一个元素依次循环向后移动一位 //
#include <stdio.h>
int main()
{
int n = 0;
int m = 0;
int arr[100] = { 0 };
int i = 0;
int j = 0;
int temp = 0;
scanf_s("%d%d", &n, &m);
for (i = 0; i < n; i++)
{
scanf_s("%d", &arr[i]);
}
for (j = 0; j < m; j++)
{
temp = arr[n - 1];
for (i = n - 2; i >= 0; i--)
{
arr[i + 1] = arr[i];
}
arr[0] = temp;
}
for (i = 0; i < n; i++)
{
printf("%d", arr[i]);
if (i < n - 1)
{
printf(" ");
}
}
return 0;
}
// 编写函数,给出年,月,日后,求该日是该年的第几天
#include<stdio.h>
int Day(int year, int month, int day)
{
int N = 0;
if ((year % 4 == 0 && year % 100 == 0) || (year % 400 == 0))
{
switch (month)
{
case 1:N = day;
break;
case 2:N = 31 + day;
break;
case 3:N = 60 + day;
break;
case 4:N = 90 + day;
break;
case 5:N = 121 + day;
break;
case 6:N = 151 + day;
break;
case 7:N = 181 + day;
break;
case 8:N = 212 + day;
break;
case 9:N = 243 + day;
break;
case 10:N = 273 + day;
break;
case 11:N = 304 + day;
break;
case 12:N = 334 + day;
break;
}
}
else
{
switch (month)
{
case 1:N = day;
break;
case 2:N = 31 + day;
break;
case 3:N = 59 + day;
break;
case 4:N = 89 + day;
break;
case 5:N = 120 + day;
break;
case 6:N = 150 + day;
break;
case 7:N = 180 + day;
break;
case 8:N = 211 + day;
break;
case 9:N = 242 + day;
break;
case 10:N = 272 + day;
break;
case 11:N = 303 + day;
break;
case 12:N = 333 + day;
break;
}
}
return N;
}
int main()
{
int y, m, d;
printf("请输入年份:");
scanf_s("%d", &y);
printf("\n请输入月份:");
scanf_s("%d", &m);
printf("\n请输入日:");
scanf_s("%d", &d);
if (y <= 0 || m < 0 || m>12 || d < 0 || d>31)
{
printf("输入错误!");
return 0;
}
else
{
printf("\n该日是该年的第%d天", Day(y, m, d));
}
return 0;