十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
1-/*6、输入学生8门考试成绩保存在数组里,
站在用户的角度思考问题,与客户深入沟通,找到凤庆网站设计与凤庆网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站设计、成都网站建设、企业官网、英文网站、手机端网站、网站推广、空间域名、虚拟主机、企业邮箱。业务覆盖凤庆地区。
输出这个学生的总分和平均分,以及最高分和最低分;*/
#include stdio.h
void main()
{
int a[8];//定义长度为八的一维数组存学生的八门考试成绩
int sum=0,avg=0;//sum为成绩之和,avg为平均分
int max=0,min=101;//max为最高分,min为最低分(假设最高分为100分)
int i;
printf("请输入该学生的八门考试成绩:\n");
for(i=0;i8;i++)
{
scanf("%d",a[i]);//输入八门成绩
sum=sum+a[i];//求成绩总分
if(maxa[i])
{
max=a[i];//求最高分
}
if(mina[i])
{
min=a[i];//求最低分
}
}
avg=sum/8;//求平均分
printf("总分为%d\n平均分为%d\n最高分为%d\n最低分为%d\n",sum,avg,max,min);
}
2-/*定义一个包含有10个变量的整型数组,利用循环输入
10个数字.然后将这个数组的元素按下标的首尾交换.
例如: 下标为0的和下标为9的交换,依次类推*/
#include stdio.h
void main()
{
int a[10];//定义长度为十的整形数组
int i,t;//i为循环变量。t为中间变量
printf("请输入十个数组元素:\n");
for(i=0;i10;i++)
{
scanf("%d",a[i]);//输入每个元素
}
printf("十个组元素为:\n");
for(i=0;i10;i++)
{
printf("%d\n",a[i]);//输出每个元素
}
for(i=0;i5;i++)//下标交换,0与9换,依此类推
{
t=a[i];
a[i]=a[9-i];
a[9-i]=t;
}
for(i=0;i10;i++)
{
printf("%d\n",a[i]);//输出下表交换完成的各元素
}
}
参考代码:
#include stdio.h
double fact(int num)//定义一个求阶乘函数
{
double result = 1.0;
for (int i = 2; i = num; i++)
{
result *= i;
}
return result;//返回阶乘结果
}
int main()
{
int m, n;
double result;
scanf("%d %d", m, n);
result = fact(n) / (fact(m) * fact(n-m));
printf("result = %.0f\n", result);
return 0;
}
/*
2个循环,一个实现行的输出****,一个实现列的输出空格
*/
#include stdio.h
void main()
{
int i=0,j=0;
for(;i4;++i)
{
j=i;
while(j)
{
printf(" ");
--j;
}
printf("****\n");
}
}
1、编写函数func1,实现求两个数的最大公约数。
1:
int
fuc1(int
a,int
b)
{
if(a%b==0)
return
b;
return
fuc(b,a%b);
}
int
t=fuc1(a,b);//t为a,b最大公约数。
2、编写函数func2,实现求两个自然数之间的奇数的和。
2
int
fuc2(int
a,int
b)
{
int
sum=0;
int
i;
for(i=a;i=b;i++)
if(i%2==1)
sum+=i;
return
sum;
}
int
t=fuc2(a,b);//t为a,b间所有奇数之和。
3、编写函数func1,实现求一个自然数的阶乘(要求用递归的方法)。
int
fuc1(int
k)
{
if(k==1)
return
1;
return
k*fuc(k-1);
}
int
t=fuc1(a);//t为a的阶乘.
4、编写函数func2,实现求两个自然数之间的偶数的和。
int
fuc2(int
a,int
b)
{
int
sum=0;
int
i;
for(i=a;i=b;i++)
if(i%2==0)
sum+=i;
return
sum;
}
int
t=fuc2(a,b);//t为a,b间所有偶数之和。
1、C语言有现场的常用数学函数,所在函数库为math.h、stdlib.h。
函数名及解释:
int abs(int i) 返回整型参数i的绝对值
double cabs(struct complex znum) 返回复数znum的绝对值
double fabs(double x) 返回双精度参数x的绝对值
long labs(long n) 返回长整型参数n的绝对值
double exp(double x) 返回指数函数ex的值
double frexp(double value,int *eptr) 返回value=x*2n中x的值,n存贮在eptr中
double ldexp(double value,int exp); 返回value*2exp的值
double log(double x) 返回logex的值
double log10(double x) 返回log10x的值
double pow(double x,double y) 返回xy的值
double pow10(int p) 返回10p的值
double sqrt(double x) 返回+√x的值
double acos(double x) 返回x的反余弦cos-1(x)值,x为弧度
double asin(double x) 返回x的反正弦sin-1(x)值,x为弧度
double atan(double x) 返回x的反正切tan-1(x)值,x为弧度
double atan2(double y,double x) 返回y/x的反正切tan-1(x)值,y的x为弧度
double cos(double x) 返回x的余弦cos(x)值,x为弧度
double sin(double x) 返回x的正弦sin(x)值,x为弧度
double tan(double x) 返回x的正切tan(x)值,x为弧度
double cosh(double x) 返回x的双曲余弦cosh(x)值,x为弧度
double sinh(double x) 返回x的双曲正弦sinh(x)值,x为弧度
double tanh(double x) 返回x的双曲正切tanh(x)值,x为弧度
double hypot(double x,double y) 返回直角三角形斜边的长度(z),x和y为直角边的长度,z2=x2+y2
2、复杂的数学函数可以用自定义函数的形式实现。
例如:
double ConerVelocity(int A, double x1, double y1, double x2, double y2, double t1, double t2)
{
double T,V;
T=acos(abs(x1 * x2 + y1 * y2)/ sqrt(x1 * x1 +y1 * y1)/sqrt(x2 * x2 +y2 * y2));
V= (A * (t2-t1))/(2*sin(T/2));
return V;
}
#include "stdio.h"
#include "algorithm.h"
#define M 10
#define N 10
int com(int *a, int *b, int *c)
{
int i, j;
int count = 0;
for (i = 0; i M; i++)
c[i] = a[i];
for (j = 0; j N; j++)
c[i++] = b[j];
sort(c, c + (M + N));
for (i = 0; i M + N - 1; i++)
{
if (c[i] == c[i + 1])
{
count++;
for (j = i; j M + N - 1; j++)
c[j] = c[j + 2];
}
}
return count;
}
int main(void)
{
int a[M] = { 3, 6, 7, 18, 23, 33, 35, 43, 48, 78 };
int b[N] = { 2, 7, 13, 21, 33, 37, 48, 50, 58, 67 };
int c[M + N] = { 0 };
int count = 0, i;
count = com(a, b, c);
for (i = 0; i M + N - 2 * count; i++)
printf("%d ", c[i]);
printf("\ncount=%d ", count);
return 0;
}