1. 98的98次方用c语言怎么打
可以用pow(98,98);
在C语言中,并没有乘法运算符,所以要计算乘方,需要调用系统函数pow。
声明:
double pow(double a, double b);
功能说明:
计算a的b次幂,并返回。
头文件:
math.h
2. C语言实现最短路问题的算法
#i nclude<stdio.h>
#i nclude <stdlib.h>
//Dijkstra算法实现函数
void Dijkstra(int n,int v,int dist[],int prev[],int **cost)
{
int i;
int j;
int maxint = 65535;//定义一个最大的数值,作为不相连的两个节点的代价权值
int *s ;//定义具有最短路径的节点子集s
s = (int *)malloc(sizeof(int) * n);
//初始化最小路径代价和前一跳节点值
for (i = 1; i <= n; i++)
{
dist[i] = cost[v][i];
s[i] = 0;
if (dist[i] == maxint)
{
prev[i] = 0;
}
else
{
prev[i] = v;
}
}
dist[v] = 0;
s[v] = 1;//源节点作为最初的s子集
for (i = 1; i < n; i++)
{
int temp = maxint;
int u = v;
//加入具有最小代价的邻居节点到s子集
for (j = 1; j <= n; j++)
{
if ((!s[j]) && (dist[j] < temp))
{
u = j;
temp = dist[j];
}
}
s[u] = 1;
//计算加入新的节点后,更新路径使得其产生代价最短
for (j = 1; j <= n; j++)
{
if ((!s[j]) && (cost[u][j] < maxint))
{
int newdist = dist[u] + cost[u][j];
if (newdist < dist[j])
{
dist[j] = newdist;
prev[j] = u;
}
}
}
}
}
//展示最佳路径函数
void ShowPath(int n,int v,int u,int *dist,int *prev)
{
int j = 0;
int w = u;
int count = 0;
int *way ;
way=(int *)malloc(sizeof(int)*(n+1));
//回溯路径
while (w != v)
{
count++;
way[count] = prev[w];
w = prev[w];
}
//输出路径
printf("the best path is:\n");
for (j = count; j >= 1; j--)
{
printf("%d -> ",way[j]);
}
printf("%d\n",u);
}
//主函数,主要做输入输出工作
void main()
{
int i,j,t;
int n,v,u;
int **cost;//代价矩阵
int *dist;//最短路径代价
int *prev;//前一跳节点空间
printf("please input the node number: ");
scanf("%d",&n);
printf("please input the cost status:\n");
cost=(int **)malloc(sizeof(int)*(n+1));
for (i = 1; i <= n; i++)
{
cost[i]=(int *)malloc(sizeof(int)*(n+1));
}
//输入代价矩阵
for (j = 1; j <= n; j++)
{
for (t = 1; t <= n; t++)
{
scanf("%d",&cost[j][t]);
}
}
dist = (int *)malloc(sizeof(int)*n);
prev = (int *)malloc(sizeof(int)*n);
printf("please input the source node: ");
scanf("%d",&v);
//调用dijkstra算法
Dijkstra(n, v, dist, prev, cost);
printf("*****************************\n");
printf("have confirm the best path\n");
printf("*****************************\n");
for(i = 1; i <= n ; i++)
{
if(i!=v)
{
printf("the distance cost from node %d to node %d is %d\n",v,i,dist[i]);
printf("the pre-node of node %d is node %d \n",i,prev[i]);
ShowPath(n,v,i, dist, prev);
}
}
}
3. c语言 int最大值是多少
c语言中,int最大值是2147483647。
c语言中,int、long int 、unsigend long int都是4个字节,其可以用sizeof()函数得出。占用4个字节的整数其最大能表示数的个数是2^32(4个字节共32位)。
int、long int都是带符号整数类型,因此它们能表示的整数范围为-2147483648~2147483647,也就是-2^31~2^31-1。unsigend long int是无符号整数类型,能表示的整数范围是0~4294967295,即0~2^32-1。
同理,short int是2个字节的带符号整数类型,能表示的整数范围是0~65535,即0~2^16-1。
(3)c语言maxint扩展阅读:
C语言中,float数据类型的表示范围:
float为单精度浮点数,占4字节,其数值范围为3.4E-38 ~3.4E+38或者-(3.4E-38 ~3.4E+38)。float的指数位有8位,尾数位有23位,符号位1位。于是,float的指数范围为-127~+128,按补码的形式来划分。
4. c语言if语句的用法
c语言提供了三种形式的if语句:
1、if(表达式)语句。
例如:if(x>y)printf("%d",x);
此时,如果表达式为真,则执行printf语句。
2、if(表达式)语句1 else 语句2
例如:
if(x>y)printf("%d",x);
elseprintf("%d",y);
此时,如果x>y成立为真,则执行语句printf("%d",x),然后直接跳过else,同时也跳过语句printf("%d",y),去执行之后的语句。
如果x>y不成立为假,则不执行语句printf("%d",x),执行语句printf("%d",x)。
3、if(表达式1)语句1
else if(表达式2)语句2
else if(表达式3)语句3
else if(表达式m)语句m
else 语句 n
此时,哪个表达式为真,则运行哪个if后面的语句。如表达式3成立为真,执行语句3。
在每个语句中,可以有多个语句,但需要加上大括号
例:if(x>y){printf("%d",x);break;}
(4)c语言maxint扩展阅读:
if语句使用的注意事项:
1.if(条件表达式)其后没有分号。
一般来说,有"{}"有没有";",有";"就没有"{}"
2.if语句所控制的语句如果是一条语句,我们可以不写大括号;
如果控制的是两条以上的语句,必须加大括号。
if语句的控制体没有加大括号是其后跟的一条语句。
建议:永远加上大括号。避免不必要的错误。
参考资料:网络-if语句
5. 这个方差用C语言怎么表达
int a[9] = {1,2,3,4,5,6,7,8,9};ar = 5 ///这个侍坦是漏谈祥平均返搏数 自己算to = 0.0f;for(i=0; i<9; i++){to = (a[i]-ar)*(a[i]-ar);}to = to/9;
6. c语言分解质因数程序代码怎么写
#include<stdio.h>
inta[1000];
intmain(void)
{
inti,n,j=0;
scanf("%d",州兆毁&n);
printf("%d=",n);
for(i=2;n>1;++i)
for(;!(n%i);n/=i)
{
++j;
册备a[j]=i;
}
猜猜for(i=1;i<=j-1;++i)
printf("%d*",a[i]);
printf("%d",a[j]);
return0;
}
7. 数据结构与数据类型有什么区别
数据类型,即数据元,与数据结构的主要区别如下:
一、性质不同
1、数据结构:是计算机存储、组织数据的方式袜歼;指相互之间存在一种或多种特定关系的数据元素的集合。
2、数据元:是用一组属性描述其定义、标识、表示和允许值的数据单元。
二、作用不同
1、数据结构:通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。
2、数据元:若干具有相关性的数据元按一定的次序组成一蔽塌个整体结构。
三、特点不同
1、数据结构:数据结构往往同高效的检索算法和索引技术有关。
2、数据元:数据元宏好圆基本模型中,对象类对应于数据模型中的实体、特性和表示对应于数据模型中的属性。
(7)c语言maxint扩展阅读:
数据的逻辑结构:
1、集合:数据结构中的元素之间除了“同属一个集合” 的相互关系外,别无其他关系;
2、线性结构:数据结构中的元素存在一对一的相互关系;
3、树形结构:数据结构中的元素存在一对多的相互关系;
4、图形结构:数据结构中的元素存在多对多的相互关系。
8. 求c语言最短路径算法
#include <iostream>
using namespace std;
const int maxnum = 100;
const int maxint = 999999;
// 各数组都从下标1开始
int dist[maxnum]; // 表示当前点到源点的最短路径长度
int prev[maxnum]; // 记录当前点的前一个结点
int c[maxnum][maxnum]; // 记录图的两点间路径长度
int n, line; // 图的结点数和路径数
// n -- n nodes
// v -- the source node
// dist[] -- the distance from the ith node to the source node
// prev[] -- the previous node of the ith node
// c[][] -- every two nodes' distance
void Dijkstra(int n, int v, int *dist, int *prev, int c[maxnum][maxnum])
{
bool s[maxnum]; // 判断是否已存入该点到S集合中
for(int i=1; i<=n; ++i)
{
dist[i] = c[v][i];
s[i] = 0; // 初始都未用过该点
if(dist[i] == maxint)
prev[i] = 0;
else
prev[i] = v;
}
dist[v] = 0;
s[v] = 1;
// 依次将未放入S集合的结点中,取dist[]最小值的结点,放入结合S中
// 一旦S包含了所有V中顶点,dist就记录了从源点到所有其他顶点之间的最短路径长度
// 注意是从第二个节点开始,第一个为源点
for(int i=2; i<=n; ++i)
{
int tmp = maxint;
int u = v;
// 找出当前未使用的点j的dist[j]最小值
for(int j=1; j<=n; ++j)
if((!s[j]) && dist[j]<tmp)
{
u = j; // u保存当前邻接点中距离最小的点的号码
tmp = dist[j];
}
s[u] = 1; // 表示u点已存入S集合中
// 更新dist
for(int j=1; j<=n; ++j)
if((!s[j]) && c[u][j]<maxint)
{
int newdist = dist[u] + c[u][j];
if(newdist < dist[j])
{
dist[j] = newdist;
prev[j] = u;
}
}
}
}
// 查找从源点v到终点u的路径,并输出
void searchPath(int *prev,int v, int u)
{
int que[maxnum];
int tot = 1;
que[tot] = u;
tot++;
int tmp = prev[u];
while(tmp != v)
{
que[tot] = tmp;
tot++;
tmp = prev[tmp];
}
que[tot] = v;
for(int i=tot; i>=1; --i)
if(i != 1)
cout << que[i] << " -> ";
else
cout << que[i] << endl;
}
int main()
{
freopen("input.txt", "r", stdin);
// 各数组都从下标1开始
// 输入结点数
cin >> n;
// 输入路径数
cin >> line;
int p, q, len; // 输入p, q两点及其路径长度
// 初始化c[][]为maxint
for(int i=1; i<=n; ++i)
for(int j=1; j<=n; ++j)
c[i][j] = maxint;
for(int i=1; i<=line; ++i)
{
cin >> p >> q >> len;
if(len < c[p][q]) // 有重边
{
c[p][q] = len; // p指向q
c[q][p] = len; // q指向p,这样表示无向图
}
}
for(int i=1; i<=n; ++i)
dist[i] = maxint;
for(int i=1; i<=n; ++i)
{
for(int j=1; j<=n; ++j)
printf("%8d", c[i][j]);
printf(" ");
}
Dijkstra(n, 1, dist, prev, c);
// 最短路径长度
cout << "源点到最后一个顶点的最短路径长度: " << dist[n] << endl;
// 路径
cout << "源点到最后一个顶点的路径为: ";
searchPath(prev, 1, n);
}
9. c语言 在用广度优先算法求最短路径时候,怎么样能记录它的路径
路径
template<class Type>
void Dijkstra(int n, int v, Type dist[], int prev[], Type **c) {
//单源最短路径问题的 Dijkstra 算法
bool s[maxint];
for (int i = 1; i <= n; i++) {
dist[i] = c[v][i];
s[i] = false;
if (dist[i] == maxint) prev[i] = 0;
else prev[i] = v;
}
dist[v] = 0; s[v] = true;
for (int i = 1; i < n; i++) {
int temp = maxint;
int u = v;
for (int j = 1; j <= n; j++)
if (!s[j] && dist[j] < temp) {
u = j;
temp = dist[j];
}
s[u] = true;
for (int j = 1; j <= n; j++)
if (!s[j] && c[i][j] < maxint) {
Type newdist = dist[u] + c[u][j];
if (newdist <返粗 dist[j]) {
dist[j] = newint;
prev[j] = u;
}
}
}
}
另外,站长团上有产品团购猛橡,便枝世旁宜有保证
10. integer在c语言中是什么意思
integer
相对应概念
小数 / 浮点数
范畴
编程语言
含义
Integer 数据类型
Integer 一个整型数据用来存储整数,整数包括正整数,负整数和零。
整型常量采用十进制整数表示。如 1991,0,-123等等都是整型常量。而52.0或131.4都不是整型常量。
Integer 变量存储为最接近编译环境的长度,例如在32位的编译环境下,Integer为32位,其范围为 -2^15 到 2^15-1 之间。
VB中Integer 的类型声明字符是百分比符号 (%)。Pascal中就是integer。在C语言中被缩写成为int。
语言环境
Pascal环境
Pascal中有一个标准标识符maxint,它代表Pascal系统中整型类数据的最大值。1字节(byte)由8个二进制位(bit)组成。一个整型数用2个字节存储,最大的整型数是2^15-1,即是32767,最小值为-2^15,即-32768。大多数整数是有序类型。
Pascal支持八种整型,详见下表:
类型
数值范围
占字节数
格式
shortint
-128(-2^7) ~ 127(2^7-1)
1
带符号8位
byte
0 ~ 255(2^8-1)
1
无符号8位
smallint
-32768(-2^15) ~ 32767(2^15-1)
2
带符号16位
word
0 ~ 65535(2^16-1)
2
无符号16位
展开全部
注意int64和qword不是真正的有序类型,一些Pascal结构不支持这两种类型(如位运算)。
在默认的Pascal模式里integer类型映射到smallint类型,在Delphi或ObjFPC模式integer类型映射到longint类型。Cardinal类型和dword类型总是映射到longword类型。
目前32位的CPU提供的标准整型是32位,所以用longint的速度比integer的速度快。
VB环境
VB中也可以用 Integer 变量来表示枚举值。枚举值可包含一个有限集合,该集合包含的元素都是唯一的整数,每一个整数都在它使用时的上下文当中有其特殊意义。枚举值为在已知数量的选项中做出选择提供了一种方便的方法,例如,black = 0,white = 1 等等。较好的编程作法是使用 Const 语句将每个枚举值定义成常数。
在 Microsoft Visual Basic 6 中,可用 CInt 函数将其他数字数据类型转换成整数型,如 i = CInt("10")
integer用于保存整数。如果知道变量总是存放整数,则应该将其申明为Interger类型或Long 类型。整数的运算速度快,而且占用的内存少。
C语言环境
32位操作系统中,C语言中的int类型变量占用4字节内存(即32位二进制数),可以表示-2^31~2^31-1(-2147483648~2147483647)之间的整数。与int有关的数据类型还有short和long,三者都是表示整形数字的数据类型。在32位机器上,short占用2字节,可以表示-2^15~2^15-1(-32768~32767)之间的整数;long类型与int类型相同,同样占用4字节,表示数字的范围也相同。
另外,c语言中还有一种数据类型unsigned int,是无符号整型,可以表示0~2^32-1之间的整数。
Java语言环境中
Integer 类在对象中包装了一个基本类型 int 的值。Integer 类型的对象包含一个 int 类型的字段。
此外,该类提供了多个方法,能在int类型和 String类型之间互相转换,还提供了处理 int 类型时非常有用的其他一些常量和方法。
实现注意事项:“bit twiddling”方法(如 highestOneBit 和 numberOfTrailingZeros)的实现基于 Henry S. Warren, Jr.撰写的《Hacker's Delight》(Addison Wesley, 2002)中的一些有关材料。