说说遇到的scanf错误(1)
来源:互联网 发布:杭州龙席网络官网 编辑:程序博客网 时间:2024/06/16 14:50
#include <stdio.h>
#include <stdlib.h>
#define arrsize 100
#define VALUE int
#define DIR char
typedef struct A {
VALUE Value;
DIR Dir;
}VectorQuantity;
int elenum;
VectorQuantity *GetData(VectorQuantity *VQ)
{
scanf("%d", &elenum);
for (int i = 0;i <= elenum-1;i++)
scanf("%d%c", &VQ[i].Value, &VQ[i].Dir);
return VQ;
}
void GetInsertData(VectorQuantity *a)
{
scanf("%c%d", &a->Value, &a->Dir); //格式输入错误
}
VectorQuantity *InsertData(VectorQuantity *OriginalData,VectorQuantity *InsertData, int Pos)
{
OriginalData += (elenum + 1);
if (Pos >= 0 && Pos <= elenum + 2)
{
if (Pos == elenum + 2)
{
OriginalData->Value = InsertData->Value;
OriginalData->Dir = InsertData->Dir;
}
else
{
for (int i = (elenum + 2 - Pos);i > 0;i--, OriginalData--)
{
OriginalData->Dir = (OriginalData - 1)->Dir;
OriginalData->Value = (OriginalData - 1)->Value;
}
OriginalData->Value = InsertData->Value;
OriginalData->Dir = InsertData->Dir;
}
}
else
printf("error!");
return OriginalData - Pos+1;
}
void main()
{
VectorQuantity vq[arrsize],VQ;
GetData(vq);
GetInsertData(&VQ);
InsertData(vq, &VQ, 1);
for (int i = 0;i <= elenum;i++)
printf("(%d,%c)\n", vq[i].Value, vq[i].Dir);
system("pause");
#include <stdlib.h>
#define arrsize 100
#define VALUE int
#define DIR char
typedef struct A {
VALUE Value;
DIR Dir;
}VectorQuantity;
int elenum;
VectorQuantity *GetData(VectorQuantity *VQ)
{
scanf("%d", &elenum);
for (int i = 0;i <= elenum-1;i++)
scanf("%d%c", &VQ[i].Value, &VQ[i].Dir);
return VQ;
}
void GetInsertData(VectorQuantity *a)
{
scanf("%c%d", &a->Value, &a->Dir); //格式输入错误
}
VectorQuantity *InsertData(VectorQuantity *OriginalData,VectorQuantity *InsertData, int Pos)
{
OriginalData += (elenum + 1);
if (Pos >= 0 && Pos <= elenum + 2)
{
if (Pos == elenum + 2)
{
OriginalData->Value = InsertData->Value;
OriginalData->Dir = InsertData->Dir;
}
else
{
for (int i = (elenum + 2 - Pos);i > 0;i--, OriginalData--)
{
OriginalData->Dir = (OriginalData - 1)->Dir;
OriginalData->Value = (OriginalData - 1)->Value;
}
OriginalData->Value = InsertData->Value;
OriginalData->Dir = InsertData->Dir;
}
}
else
printf("error!");
return OriginalData - Pos+1;
}
void main()
{
VectorQuantity vq[arrsize],VQ;
GetData(vq);
GetInsertData(&VQ);
InsertData(vq, &VQ, 1);
for (int i = 0;i <= elenum;i++)
printf("(%d,%c)\n", vq[i].Value, vq[i].Dir);
system("pause");
}
结果:
阅读全文
1 0
- 说说遇到的scanf错误(1)
- scanf可能遇到的陷阱
- 说说遇到的一个问题
- http的refer头------说说最近遇到的http 403错误
- 使用scanf函数遇到的问题
- 说说今天遇到的UIKit力学问题
- 说说这阵子遇到的烦人bug
- 说说现在面试遇到的坑
- 说说自己遇到的一个问题
- android遇到的错误1
- ReactNative----遇到的错误1
- php7.1遇到的错误
- 使用scanf时容易出现的错误
- scanf的用法1
- scanf()的使用
- 说说tomcat启动的错误: StandardWrapper.Throwable
- 再谈Qt实现Rasdial拨号问题(说说项目中遇到的问题和解决方案)
- eclipse远程调试Tomcat方法(测试成功并且说说遇到的坑)
- webPack+react 环境搭建
- 加密解密算法java实现(3)—RSA
- Java基础学习二
- HDOJ2037
- displaymanager
- 说说遇到的scanf错误(1)
- Java:关于深复制与浅复制
- GEOServer-OpenLayer-矢量切片1:制作矢量切片
- 2017/09/13
- String.equals报java.lang.NullPointerException
- JS字符串转Byte[]
- dataguard归档不同步的问题解决思路及步骤
- Java中锁概念总结
- python 多线程另外一种写法