void main()
{
char a[81] ///你的程序有几点错误,首先a定义为80个字符,如果输入超过80会越界
gets(a) //出现错误 gets的用法错了,改正为gets(a);
puts(a) //puts用来输出字符串的,如果你要输出a变量可以,但是不要加分号了
}//如果你想输出字符a,那就要用puts("a")
希望对你有帮助
*s->s而是s->s你好~
。和-》都是一种 *** 作符~ 是针对结构体 内部数据~
C语言规定 如果是变量引用 那么就用.
如果是指针引用 那么就用 ->
所以->改成.当然会报错啦~
希望对你有用~ 不懂可以追问我~
C语言程序如下:
#include <stdio.h>#include <math.h>
/* 三维向量结构 */
typedef struct Point
{
double i /* X 轴分量 */
double j /* Y 轴分量 */
double k /* Z 轴分量 */
} Point
/* 计算两点之间的空间距离 */
double distance(Point p1, Point p2)
/* 计算向量与数的乘积 */
Point product1(Point p, double n)
/* 计算两个向量的数量积 */
double product2(Point p1, Point p2)
Point ZERO
void main()
{
Point p1, p2
Point p
double s
double n
ZERO.i = 0
ZERO.j = 0
ZERO.k = 0
printf("请输入向量1的值(i, j, k):")
scanf("%lf,%lf,%lf", &p1.i, &p1.j, &p1.k)
printf("请输入向量2的值(i, j, k):")
scanf("%lf,%lf,%lf", &p2.i, &p2.j, &p2.k)
printf("向量系数(n):")
scanf("%lf", &n)
p = product1(p1, n)
printf("向量(%lf, %lf, %lf) × %lf = (%lf, %lf, %lf)\n", p1.i, p1.j, p1.k, n, p.i, p.j, p.k)
s = product2(p1, p2)
printf("向量(%lf, %lf, %lf) × 向量(%lf, %lf, %lf) = %lf\n", p1.i, p1.j, p1.k, p2.i, p2.j, p2.k, s)
}
/* 计算两点之间的空间距离 */
double distance(Point p1, Point p2)
{
return sqrt(pow(p1.i - p2.i, 2) + pow(p1.j - p2.j, 2) + pow(p1.k - p2.k, 2))
}
/* 计算向量与数的乘积 */
Point product1(Point p, double n)
{
Point temp
temp.i = p.i * n
temp.j = p.j * n
temp.k = p.k * n
return temp
}
/* 计算两个向量的数量积 */
double product2(Point p1, Point p2)
{
double a, b, cos, p
a = distance(ZERO, p1)
b = distance(ZERO, p2)
cos = (p1.i * p2.i + p1.j * p2.j + p1.k * p2.k) / sqrt(p1.i * p1.i + p1.j * p1.j + p1.k * p1.k) / sqrt(p2.i * p2.i + p2.j * p2.j + p2.k * p2.k)
p = a * b * cos
return p
}
运行测试:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)