为什么第一个代码的执行速度比第二个代码快?

时间:2019-06-25 17:24:32

标签: c++

我有2秒的时间限制,第一个代码有效,而带printf的代码超过了时间限制。我是编程的新手,我想知道这两个代码之间有什么区别。

// The working one 
#include <iostream>
#include <cstdio>
#include <string>

using namespace std;

int main()
{
string stone ;
int count= 0;
int n;
cin >>n >> stone;
for(int i = 1; i < n; i++ ){
if(stone[i]==stone[i-1])
count++;
}
cout << count << endl;
return 0;
}

// Too much time to execute 
#include<stdio.h>
#include<conio.h>
#include<math.h>

int main () 
{    
char x[20]={'\0'};int counter=0;
int n =0;
scanf("%d",&n);
scanf("%c",&x[0]);
scanf("%s",&x);
for (int i=1; i<n;i++) 
{
if (x[i]==x[i-1]){
counter++;
}
}

printf("%d",counter);
//getch();
return 0;   
}

0 个答案:

没有答案