#include<stdio.h> #define MIN( x , y ) ( x ) < ( y ) ? ( x ) : ( y ) int main( ){ int i = 10 , j = 15 , k ; k = 10 * MIN( i , j ) ; printf( "%d\n" , k ) ; return 0 ; }
时间: 2023-06-17 17:09:04 浏览: 74
这是一个简单的 C 语言程序,它定义了一个宏 MIN,用于比较两个数的大小并返回较小的那个数。在 main 函数中,定义了三个整型变量 i,j 和 k,其中 i 和 j 分别初始化为 10 和 15。然后将 MIN(i, j) 的结果乘以 10 赋值给 k,最后输出 k 的值。由于 i 和 j 中较小的值为 10,所以 k 的值为 100。因此,程序的输出结果为 100。
相关问题
求一批数中最大值和最小值的积 #include <stulib.h> #include <stdio.h> #define N 30
这是一个求一批数中最大值和最小值的积的代码模板,其中 #define N 30 定义了数组的长度为 30。下面是完整的代码:
```
#include <stdio.h>
#define N 30
int main() {
int a[N];
int n, i, max, min;
// 读入数据
printf("请输入数据个数:");
scanf("%d", &n);
printf("请输入 %d 个数:", n);
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
// 求最大值和最小值
max = min = a;
for (i = 1; i < n; i++) {
if (a[i] > max) {
max = a[i];
}
if (a[i] < min) {
min = a[i];
}
}
// 输出结果
printf("最大值为 %d,最小值为 %d,它们的积为 %d\n", max, min, max * min);
return 0;
}
```
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <malloc.h> #define MAXV 1000 #define ElemType int #define INF 32767typedef struct { int no; int info; }VertexType; typedef struct{ int edges[MAXV][MAXV]; int n,e; VertexType vexs[MAXV]; }
MGraph;
void CreateMGraph(MGraph *G)
{
int i,j,k,w;
printf("请输入顶点数和边数:\n");
scanf("%d,%d",&(G->n),&(G->e));
for(i=0;i<G->n;i++)
{
printf("请输入第%d个顶点的编号和信息:\n",i+1);
scanf("%d,%d",&(G->vexs[i].no),&(G->vexs[i].info));
}
for(i=0;i<G->n;i++)
for(j=0;j<G->n;j++)
G->edges[i][j]=INF;
for(k=0;k<G->e;k++)
{
printf("请输入一条边的起点、终点和权值:\n");
scanf("%d,%d,%d",&i,&j,&w);
G->edges[i][j]=w;
G->edges[j][i]=w;
}
}
void ShortestPath_Dijkstra(MGraph G,int v0,int *D,int *P)
{
int final[MAXV];
int i,j,k,min;
for(i=0;i<G.n;i++)
{
final[i]=0;
D[i]=G.edges[v0][i];
P[i]=0;
}
D[v0]=0;
final[v0]=1;
for(i=1;i<G.n;i++)
{
min=INF;
for(j=0;j<G.n;j++)
if(!final[j]&&D[j]<min)
{
k=j;
min=D[j];
}
final[k]=1;
for(j=0;j<G.n;j++)
if(!final[j] && (min+G.edges[k][j]<D[j]))
{
D[j]=min+G.edges[k][j];
P[j]=k;
}
}
}
void DisplayResult(MGraph G,int v0,int *D,int *P)
{
int i,j,k;
printf("起点为%d的最短路径如下:\n",v0);
for(i=0;i<G.n;i++)
{
if(i!=v0)
{
printf("从%d到%d的最短路径长度为:%d,路径为:",v0,i,D[i]);
j=i;
while(P[j]!=0)
{
printf("%d<-",G.vexs[j].no);
j=P[j];
}
printf("%d\n",G.vexs[j].no);
}
}
}
int main()
{
MGraph G;
int v0=0;
int D[MAXV],P[MAXV];
CreateMGraph(&G);
ShortestPath_Dijkstra(G,v0,D,P);
DisplayResult(G,v0,D,P);
return 0;
}
阅读全文