大三的一只小菜鸡 2021-03-24 19:54 采纳率: 100%
浏览 32
已采纳

请问为什么输入五个数字之后还要再输入一个才会运行呢?我该怎样解决呢?谢谢解惑^w^

#include<stdio.h>
#include<stdlib.h>
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2
typedef int Status;  
typedef int ElemType;
typedef ElemType *Triplet;

Status InitTriple(Triplet &T,ElemType v1,ElemType v2,ElemType v3) {
	
	T=(ElemType *)malloc(3*sizeof(ElemType));
	if(!T) {
		exit(OVERFLOW);
	}
	T[0]=v1;
	T[1]=v2;
	T[2]=v3;
	return OK;
}

Status Get(Triplet T,int i,ElemType &e) {
	if(i<1 || i>3) {
		return ERROR;
	}
	e=T[i-1];
	return OK;
}

Status Put(Triplet &T,int i,ElemType e) {
	if(i<1 || i>3) {
		return ERROR;
	}
	T[i-1]=e;
	return OK;
}

Status IsAscending(Triplet T) {
	return (T[0]<=T[1]) && (T[1]<=T[2]);
}

Status IsDescending(Triplet T) {
	return (T[0]>=T[1]) && (T[1]>=T[2]);
}

Status Max(Triplet T,ElemType &e) {
	ElemType temp;
	temp=T[0];
	if(T[1]>temp) {
		temp=T[1];
	}
	if(T[2]>temp) {
		temp=T[2];
	}
	e=temp;
	return OK;
}

Status Min(Triplet T,ElemType &e) {
	ElemType temp;
	temp=T[0];
	if(T[1]<temp) {
		temp=T[1];
	}
	if(T[2]<temp) {
		temp=T[2];
	}
	e=temp;
	return OK;
}

Status DestroyTriplet(Triplet &T){
	free(T);
	T=NULL;
	return OK;
}

int main() {
	Triplet T;
	ElemType e1,v1,v2,v3,e2;
	int i;
	scanf("%d%d%d%d%d\n",&v1,&v2,&v3,&i,&e2);
	InitTriple(T,v1,v2,v3);
	printf("三元组3个元素:%d %d %d。\n",T[0],T[1],T[2]); 
	Get(T,i,e1);
	
	if(Put(T,i,e2)) {
		printf("将第%d个元素%d修改为%d后,",i,e1,e2);
		printf("三元组3个元素:%d %d %d。\n",T[0],T[1],T[2]);
	} else {
		printf("无第%d个元素,获取或修改元素失败!\n",i);
	}

	if(IsAscending(T)) {
		printf("三元组元素升序排列!\n");
	} else if(IsDescending(T)) {
		printf("三元组元素降序排列!\n");
	} else {
		printf("三元组元素无序排列!\n");
	}
	
	Max(T,e1);
	printf("三元组中最大元素:%d,",e1);
	Min(T,e2);
	printf("最小元素:%d。\n",e2);
	
	DestroyTriplet(T);
	printf("三元组被销毁,结束程序!"); 
	
	return 0;
}
  • 写回答

1条回答 默认 最新

  • lemon-l 2021-03-24 22:15
    关注

    把scanf里的\n去掉

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 如何实现H5在QQ平台上的二次分享卡片效果?
  • ¥15 python爬取bilibili校园招聘网站
  • ¥30 求解达问题(有红包)
  • ¥15 请解包一个pak文件
  • ¥15 不同系统编译兼容问题
  • ¥100 三相直流充电模块对数字电源芯片在物理上它必须具备哪些功能和性能?
  • ¥30 数字电源对DSP芯片的具体要求
  • ¥20 antv g6 折线边如何变为钝角
  • ¥30 如何在Matlab或Python中 设置饼图的高度
  • ¥15 nginx中的CORS策略应该如何配置