#include<stdio.h>
#include <math.h>
void main()
{
long int i;
double x,y;
for (i=1;i<100000;i++)
{
x=sqrt(i+100);
y=sqrt(i+168);
if((x*x==i+100)&&(y*y==i+168))
printf("\n%ld\n",i);
}
}
编译后一直不对!?
解题过程如下:
#include<stdio.h>
#include<math.h>
void main()
{
int i=1;
int n,m;
for (i=1;i<100000;i++)
{
m=sqrt(100+i);
n=sqrt(268+i);
if(m*m==i+100)
if(n*n==i+268)
printf("%ld",i);
}}1581
性质:
C程序中函数的数目实际上是不限的,如果说有什么限制的话,那就是,一个C程序中必须至少有一个函数,而且其中必须有一个并且仅有一个以main为名的函数,这个函数称为主函数,整个程序从这个主函数开始执行。
C语言程序鼓励和提倡人们把一个大问题划分成一个个子问题,对应于解决一个子问题编制一个函数,因此,C语言程序一般是由大量的小函数而不是由少量大函数构成的,即所谓“小函数构成大程序”。这样的好处是让各部分相互充分独立,并且任务单一。因而这些充分独立的小模块也可以作为一种固定规格的小“构件”,用来构成新的大程序。
比较特别的是,比特右移(>>)运算符可以是算术(左端补最高有效位)或是逻辑(左端补0)位移。例如,将11100011右移3比特,算术右移后成为11111100,逻辑右移则为00011100。因算术比特右移较适于处理带负号整数,所以几乎所有的编译器都是算术比特右移。
运算符的优先级从高到低大致是:单目运算符、算术运算符、关系运算符、逻辑运算符、条件运算符、赋值运算符(=)和逗号运算符。