整理0312.c

//严重性	代码	说明	项目	文件	行
//错误	C4996	'scanf': This function or variable may be unsafe.Consider using scanf_s instead.To disable /deprecation, use 
#define _CRT_SECURE_NO_WARNINGS
//.See online help for details.test	g : \vs2015\acode\argc\test\test\main.cpp	312

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAX_COLS 20
#define MAX_INPUT 1000
int read_column_numbers(int columns[], int max);
void rearrange(char *output, char  *input, int n_columns, int const columns[]);
int main(void)
{
	int n_columns;
	int columns[MAX_COLS];
	char input[MAX_INPUT];
	char output[MAX_INPUT];
	n_columns = read_column_numbers(columns, MAX_COLS);
	while(gets_s(input) !=NULL)							//(gets(input) != NULL) 
	{
		printf("Original input :%s\n", input);
		rearrange(output, input, n_columns, columns);
		printf("Rearranged line:%s\n", output);

	}
	return EXIT_SUCCESS;

}
int read_column_numbers(int columns[], int max)
{
	int num = 0;
	int ch;
	while (num < max&&scanf("%d",&columns[num]) == 1 && columns[num] >= 0)
		num += 1;
	if (num % 2 != 0)
	{
		puts("Last column number is not paired.");
		exit(EXIT_FAILURE);
	}
	while ((ch = getchar()) != EOF&&ch != '\n');
	return num;


}
void rearrange(char *output, char  *input, int n_columns, int const columns[])
{
	int col;
	int output_col;
	int len;
	len = strlen(input);
	output_col = 0;
	for (col = 0; col < n_columns; col += 2) {
		int nchars = columns[col + 1] - columns[col] + 1;
		if (columns[col] >= len || output_col == MAX_INPUT - 1)
			break;
		if (output_col + nchars > MAX_INPUT - 1)
			nchars = MAX_INPUT - output_col - 1;
		strncpy(output + output_col, input + columns[col], nchars);
		output_col += nchars;
	}
	output[output_col] = '\0';
}*/
/*冒泡排序*/
/*void  bubble_sort(int  *arr,int len)
{
	int temp;
	for (int j=0; j < len - 1; j++)
		for (int i = 0; i<len -1- j;i++)
			if (arr[i]>arr[i + 1])
			{
				temp = arr[i];
				arr[i] = arr[i + 1];
				arr[i + 1] = temp;
			}
	for (int i = 0; i < len ;i++)
	{
		printf("%d", arr[i]);
	}
}
int main()
{
	int arr[] = { 1,9,2,8,3,7,6,4,5,0 };

	int len = sizeof(arr)/sizeof(int);
	printf("%d\n", len);
	bubble_sort(arr,len);
	return 0;
}*/

/**/
/*int main()
{
	int a = 0x22446688;
	int b = 0x12345678;
	char *pa = (char*)&a;
	char *pb = (char*)&b;
	printf("%x\n%x\n", (int)pa[0], (int)pb[0]);  //ffffff88  78
	return 0;
}*/

/*int compare(const void *e1, const void *e2)
{
	return *(short*)e1 - *(short*)e2;
}
int main()
{
	short arr[] = { 1,9,2,8,3,7,6,4,5,0 };
	int len = sizeof(arr) / sizeof(arr[0]);
	qsort(arr, len, sizeof(arr[0]), compare);

	for (int i = 0; i < len; i++)
	{
		printf("%d ", arr[i]);
	}
	return 0;
}
*/
/*int compare(const void *e1, const void *e2)
{
	return *(short*)e1 - *(short*)e2;
}
void swap(void *e1,void *e2)
{
	void *temp;
	temp = e1;
	e1 = e2;
	e2 = temp;
}

void bubble_sort(void *arr, int len, int width, int(*compare)(void*, void*))
{
	void *p = arr;
	for (int j = 0; j < len - 1; j++)
	{
		p = arr;
		for (int i = 0; i < len - 1 - j; i++)
		{
			if (compare(p, (char*)p + width)> 0)
			{
				swap(p, (char*)p + width);
            }
			p = (char*)p + width;
		}
	}
}
struct STU
{
	int num;
	double score;
	char *name;
};
int compare_score(void const *e1, void const *e2)
{
	if ((*(struct STU *)e1).score > (*(struct STU *)e2).score)
	{	
		return 1;
	}
	else
	{
		return -1;
	}
}
int compare_num(void const *e1,void const *e2)
{
	return (*(struct STU *)e1).num - (*(struct STU *)e2).num;
}
int compare_name(void  *e1, void  *e2)
{
	return strcmp((*(struct STU *)e1).name , (*(struct STU *)e2).name);
}
int main()
{
	struct STU su[] =
	{
		{1, 20.4, "cvds"},
		{3, 16.9, "gddg"},
		{2, 90.4, "rggd"},
	    {8, 34.5, "zcvn"},
		{5, 34.2,  "dfgg"}
	};
	int len = sizeof(su) / sizeof(su[0]);
	//qsort(su,len , sizeof(su[0]), compare_num);
	//qsort(su, len, sizeof(su[0]), compare_score);
	//qsort(su, len, sizeof(su[0]), compare_name);
	bubble_sort(su, sizeof(su) / sizeof(su[0]), sizeof(su[0]), compare_name);
	for (int i = 0; i < len;i++)
	{
		printf("%s ",su[i].name);
	}
	printf("\n");
	
	return 0;	
}
*/
/*void  bubble_sort(int  *arr, int len)   //相邻比较
{
	int temp;
	for (int j = 0; j < len - 1; j++)
		for (int i = 0; i<len - 1 - j; i++)
			if (*(arr+i)>*(arr+i + 1))
			{
				temp = *(arr+i);
				*(arr+i) = *(arr+i+1);
				*(arr+i + 1) = temp;
			}
	for (int i = 0; i < len; i++)
	{
		printf("%d", *(arr+i));
	}
}
int main()
{
	int arr[] = { 1,9,2,8,3,7,6,4,5,0 };

	int len = sizeof(arr) / sizeof(int);
	printf("%d\n ", len);
	bubble_sort(arr, len);
	return 0;
}

*/
/*void bubble(int *arr, int len)
{
	int temp;
	for (int i = 0; i < len - 1; i++)
		for (int j = 0; j < len - 1 - i; j++)
		{
			if (*(arr + j) > *(arr + j + 1))
			{
				temp = *(arr + i);
				*(arr + i) = *(arr + i + 1);
				*(arr + i + 1) = temp;
			}
		}
}*/


/*void exchange_sort(int *arr, int len)
{

	for (int i = 0; i < len - 1; i++)
		for (int j = i + 1; j < len; j++)
		{
			if(*(arr+i)>*(arr+j))
			{
				int temp;
				temp = *(arr + i);
				*(arr + i) = *(arr + j);
				*(arr + j) = temp;
			}
			
		}

}*/


/*void select_sort(int *arr, int len)
{
	for (int i = 0; i < len - 1; i++)
	{
		int min = arr[i];
		int min_index = i;
		for (int j = i+1; j < len;  j++)
		{
			if (min > arr[j])
			{
				min = arr[j];
				min_index = j;
			}
		}
		if (min_index != i)
		{
			int temp;
			temp = arr[i];
			arr[i] = arr[min_index];
			arr[min_index] = temp;
		}
	}
}
int main()
{
	int arr[] = { 1,9,2,8,3,7,6,4,5,0 };

	int len = sizeof(arr) / sizeof(int);
	printf("%d\n", len);
	select_sort(arr, len);
	for (int i = 0; i < len; i++)
	{
		printf("%d ", *(arr + i));
	}
	return 0;
}*/
/*#define ADD '+'
#define SUB '-'
#define MUL '*'
#define DIV '/'
int add(int a, int b)
{
	return a + b;
}
int sub(int a, int b)
{
	return a - b;
}
int mul(int a, int b)
{
	return a * b;
}

int main()
{
	int op1;
	int op2;
	char opear;
	printf("请输入 op1 opear op2 \n");
	scanf("%d %c %d", &op1, &opear, &op2);
	int rs = 0;

	switch (opear)
	{
	case ADD:
		rs = add(op1, op2);
		break;
	case SUB:
		rs = sub(op1, op2);
		break;
	case MUL:
		rs = mul(op1, op2);
		break;
	default:
		printf("error\n");
		break;
	}
	//int(*pfunarr[])(int, int) = { add,sub,mul,NULL };
	//rs = pfunarr[opear](op1, op2);
	printf("%d %c %d = %d\n", op1, opear, op2, rs);


	return 0;
}*/

/*int main(int argc, char *argv[])
{
	if (argc <= 2)
	{
		printf("error\n");
		exit(-1);
	}
	double sum=0.0;
	int i = 2;
	while (*argv[1])
	{
		switch (*argv[1])
		{
		case 'd':
		case 'D':
			sum += atoi(argv[i]);
			i++;
			break;
		case 'f':
		case 'F':
			sum += atof(argv[i]);
			i++;
			break;
		case 'c':
		case 'C':
			sum += *++argv[i];
			i++;
			break;
		default:
			break;

		}
		argv[1]++;
	}
	printf("%f\n", sum / (i - 2));
	return 0;
}*/


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值