//严重性 代码 说明 项目 文件 行
//错误 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;
}*/
整理0312.c
最新推荐文章于 2022-04-12 15:36:43 发布