c语言-vs 编译器不让过 怎么办

问题描述

vs 编译器不让过 怎么办

void paixu(int a[],int N)
{
int temp;
int i,j;
for(i=0;i
for(j=i+1;j
{
if(a[i]>a[j])
{temp=a[i];a[i]=a[j];a[j]=temp;}
}
}

int rr(int input[][2])
{
int n = input[0][0];
int k = input[1][0];
int *nums = &input[0][1];

int kind[k][2];
for (int i = 1; i <= k; i++) {
    kind[i-1][0] = i;
    kind[i-1][1] = 0;
}

for (int i = 0; i < n * 2; i+=2) {
    int x = nums[i];
    for (int j = 0; j < k; j++) {
        if (x == kind[j][0]) {
            kind[j][1]++;
        }
    }
}

int unsoft[k];
int unsoft2[k];

for (int i = 1; i <= k; i++) {
    unsoft[i - 1] = kind[i-1][1] ;
    unsoft2[i - 1] = kind[i-1][1] ;
}

paixu(unsoft, k);

int s = 0;

for (int i = 0; i < k; i++) {
    if (unsoft2[i] == unsoft[k - 1])
        s = i + 1;
}

int re = n;

re = n - unsoft[k - 1];

if (re == 0) {
    return re;
}

int a = 0;
for (int i = 0; i < n * 2; i+=2) {
    int x = nums[i];
    if (x != (s + 1))
    a++;
}

return re;

}

int main(int argc, const char * argv[])
{

int n = 0;
int k = 0;

scanf("%d %d",&n, &k);

int input[n];
for (int i = 0; i < n; i++)
    scanf("%d", &input[i]);

int nums[n][2];

for (int i = 0; i < n; i++) {
    int kc = input[i];

    if (i == 0) {
        nums[i][0] = n;
    }
    if (i == 1) {
        nums[i][0] = k;
    }

    nums[i][1] = kc;
}

int a = rr(nums);
printf("%dn", a);

return 0;

}

解决方案

申明数组如 int int_array[size];
size 需为常量,如

int int_array[100];

如果size是变量,可定义指针,显式分配内存;

int size = 100;
int * int_array;
int_array = new int[size];

//使用完之后释放
delete[] int_array;

也可以使用容器

#include <vector>

int size = 100;
typedef vector<int> IntVector;
IntVector int_array;
int_array.resize(size);
时间: 2024-10-27 15:46:27

c语言-vs 编译器不让过 怎么办的相关文章

C语言之编译器引出的问题

基本解释 本节主要探讨C编译器下面两方面的特点所引发的一系列常见的编程问题. 对C文件进行分别编译: C程序通常由几个小程序(.c文件)组成,编译器将这几个小程序分别编译,然后通过链接程序将它们组合在一起形成一个目标代码.由于编译器每次只能编译一个文件,因此它不能立即检查需要几个源文件配合才能发现的错误. 对函数的参数和返回值建立临时变量 C编译器会对函数的参数建立临时参数,也可能会对函数的返回值隐含传递一个指针.因为这些临时变量的隐含性存在,使得在某些情况下,特别是有指针存在的时候,会引发一系

我自己关于C语言,编译器,标准库,GUN glibc,CRT ,API之类的理解。

先声明,只是我自己看了一些东东的想法. 因为以前这一套东东太缠绕人了. C语言,是一种语言标准,和它对照的是C++,JAVA,BASIC,FORTRAN,PASCAL等等概念.它定义的是自己一套适用于计算机的标准规范.如关键字,数据类型,表达式,语句结构等等,它不包含强制具体的实现,没有强制INT数据类型的长度一定是4等.这种具体而微的定义,一般是各编译器厂商实现的.所以,那本经典的二人合著本的C教材第二版,其实很薄.真正C语言标准的内容,不多. 编译器和标准库,其实是不同的厂商依据C语言标准的

c语言 程序 编译器 栈-C语言程序中,如何理解栈是由编译器管理的?

问题描述 C语言程序中,如何理解栈是由编译器管理的? 最近看书,有一句话"C语言程序中,栈是由编译器自动分配释放的".请问如何理解栈是由编译器管理的? 编译器不是在程序编译链接的时候用的么?而栈是在程序运行的时候产生的.那么如何理解栈是由编译器管理的? 解决方案 C语言对内存的管理的情况是:栈:'自动申请,自动释放',都这么说,栈的申请与释放都是编译器自己进行管理,当程序运行到是在栈上进行的动作的时候,就会自己进行对应的内存的分配与释放,例如,一个变量int a ,编译器会自己申请4字

自己动手: 创建.NET Framework语言编译器

本文讨论: 语言定义 编译器各阶段 CLR 抽象堆栈 正确获得 IL 的工具 本文使用了以下技术: .NET Framework 编译器黑客在计算机科学领域算得上名声远扬.我曾在"专业开发人员大会"上看到 Anders Hejlsberg 发表一篇演讲之后走下演讲台时,立即有一群人请求他在书上签名并摆出各种姿势要求合影留念的场面.对于那些致力于学习和了解 Lambda 表达式详情.类型系统和汇编语言的人来说,黑客们的智力都颇具神秘色彩.现在,您也可以通过编写自己的 Microsoft

c++-C语言编译器的小白问题

问题描述 C语言编译器的小白问题 我是一名C++初学者,学习C++时用visual Studio2010编写代码.最近在听网课的时候有提交作业需要在网页上选择C语言编辑器的,有gcc,g++什么的,请问大神C语言编译器是什么?为什么会有C语言编译器?一般该怎么选择?使用C/C++编程. 解决方案 c语言编译器就是将源代码编译成可执行文件的一种工具 gcc 是编译c语言文件代码 g++是编译C++语言代码文件 vs是将编辑编译等工具集成在一起,叫做集成开发环境IDE 选择的话,全看个人喜爱了,只要

《嵌入式 Linux C 语言应用程序设计(修订版)》——2.3 嵌入式Linux编译器GCC的使用

2.3 嵌入式Linux编译器GCC的使用 2.3.1 GCC概述 作为自由软件的旗舰项目,Richard Stallman在十多年前刚开始写作GCC的时候,还只是仅仅把它当作一个C程序语言的编译器,GCC的意思也只是GNU C Compiler而已. 经过了这么多年的发展,GCC已经不仅仅能支持C语言,它现在还支持Ada语言.C++语言.Java语言.Objective C语言.PASCAL语言.COBOL语言,并支持函数式编程和逻辑编程的Mercury语言等.而GCC也不再单只GNU C语言

编程c语言-关于C语言编译器的问题

问题描述 关于C语言编译器的问题 为什么在电脑上下载不了VC6,谁知道,请求详细告知,还有这个编译器好不好 解决方案 下载我亲自上传的这套,保证好用http://download.csdn.net/album/detail/639 还有win7安装的说明. 采纳本回答(点我回答右边的采纳按钮),再送你一千多个源代码. 解决方案二: 另外再给一个地址 msdn.itellyou.cn 选择开发工具-visual studio 6.0,下载cd1就可以了. 推荐用迅雷下载 解决方案三: VC6太lo

编程c语言-有关C语言编译器的问题

问题描述 有关C语言编译器的问题 在电脑上下载什么编译器好(有关C语言的编译器,中文版的最好,不过要流行,大多数人用的那种.) 解决方案 推荐几个 visual c++ 6.0,这个是考试.大学生用的最多的. dev c++,这个基于gcc,比较小,兼容也比较好. visual studio 2013/2015,如果你学c++ 11/14,推荐这个. codepad.org,如果你不想装任何软件,或者你用的是手机.平板,可以用这个在线网站写程序 解决方案二: dev c++ ,或者gcc都比较好

C++编译器无法捕捉到的8种错误实例分析_C 语言

本文实例分析了C++编译器无法捕捉到的8种错误,分享给大家供大家参考之用.有助于深入理解C++运行原理,具体分析如下: 众所周知,C++是一种复杂的编程语言,其中充满了各种微妙的陷阱.在C++中几乎有数不清的方式能把事情搞砸.幸运的是,如今的编译器已经足够智能化了,能够检测出相当多的这类编程陷阱并通过编译错误或编译警告来通知程序员.最终,如果处理得当的话,任何编译器能检查到的错误都不会是什么大问题,因为它们在编译时会被捕捉到,并在程序真正运行前得到解决.最坏的情况下,一个编译器能够捕获到的错误只