所在位置:主页 > 程序语言 > 关于C 语言的死循环的小选择

关于C 语言的死循环的小选择

发布时间:2023-12-27 14:09来源:www.sf1369.com作者:宇宇

一、关于C 语言的死循环的小选择

while(s);--s;

循环结束的地方是--s前面那个分号,当然是死循环

答案C是因为加到正数的上限之后k就变成负数了。。果然够隐蔽

二、c语言火车站问题和排列问题

火车问题:

#include<iostream>

using namespace std;

int main(){

  int i,j,s;

  s=0;

  for(i=1;i<15;i++){

    for(j=i+1;j<=15;j++){

    s++;

    }

  }

  cout<<车票种数:<<s;

  system(pause);

}

排列问题:

#include<iostream>

using namespace std;

int main(){

  int a[20],i,j,t;

  cout<<Please input 20 numbers.<<endl;

  for(i=1;i<=20;i++){

    cout<<input number <<i<<:;

    cin>>a[i-1];

  }

  for(i=0;i<19;i++){

    for(j=i+1;j<20;j++){

    if(a[j]>a[i]){

    t=a[j];

    a[j]=a[i];

    a[i]=t;

    }

    }

  }

  cout<<The biggest one is <<a[0]<<endl;

  cout<<The numbers are listed from the biggest to the smallest as following:<<endl;

  for(i=0;i<20;i++){

    cout<<a[i]<< ;

  }

  system(pause);

}

三、用C语言编程 验证“歌德巴赫猜想”4-1000

#include stdio.h

#include conio.h

#include math.h

int isp(int);

void even(int);

int main()

{

int a;

while(1)

{

printf(Enter a even number: \n);

scanf(%d, &a);

if(a % 2 == 0)

even(a);

else

printf(The %d isn't even number\n, a);

}

getchar();

}

void even(int x)

{

int i;

for(i = 2; i <= x / 2; i++)

{

if( isp(i) && isp(x-i) )

{

printf(%d = %d + %d\n, x, i, x - i);

return;

}

}

}

int isp(int x)

{

int i;

for(i = 2; i <= (int)sqrt(x) + 1; i++)

if(x % i == 0)

return false;

//if(i == (int)sqrt(x) + 1)

//return 1;

//else

return 1;

}

四、C语言验证哥德巴赫猜想

if(c>sqrt(b)) C>根号b是为什么?

这个回答第一个网友解释的很好。我觉得两次判断是否是素数有点麻烦,你可以写一个判断素数的函数。

#include <stdio.h>

#include <math.h>

int isprime(int m)

{

int n,i,s;

n=sqrt(m);

for(i=2;i<=n;i++)

if(m%i==0)

break;

if(i>=n+1)

s=1;

else

s=0;

return s;

}

void main()

{

int a,b,d;

scanf(%d,&a);

for(b=3;b<=a;b+=2)

{

if(isprime(b)==1)

{

d=a-b;

if(isprime(d)==1)

{

printf(%d=%d+%d\n,a,b,d);

break;

}

}

}

}

额,发现for(b=3;b<=a/2;b+=2) 这里错了,应该是b<=a.

你可以试试。