
1.int abs(int i); 求整数的绝对值。
2.long labs(long n); 求长整型数的绝对值。
3.double fabs(double x); 求实数的绝对值。
4.double floor(double x); 求不大于x的最大整数,它相当于数学函数[x]。
5.double ceil(double x); 求不小于x的最小整数。
6.double sqrt(double x); 求x的平方根。
7.double log10(double x); 求x的常用对数。
8.double log(double x); 求x的自然对数。
9.double exp(double x); 求欧拉常数e的x次方。
10.double pow10(int p); 求10的p次方。
11.double pow(double x, double y); 求x的y次方。
12.double sin(double x); 正弦函数。
13.double cos(double x); 余弦函数。
14.double tan(double x); 正切函数。15.double asin(double x); 反正弦函数。
16.double acos(double x); 反余弦函数。
17.double atan(double x); 反正切函数。18.double atan2(double x); 反正切函数2。
#include "stdioh"
//求是否波浪数
int isWave(num)
{
int tmp;
tmp = num;
if(num < 100)
{
return num/10%10 != num%10;//相邻位置不能相等
}
return (num/100%10) == num%10 && isWave(num/10);//每隔一位相等
}
int main(int argc, char const argv[])
{
int num;
printf("Please input a number:\n");
scanf("%d",&num);
if(isWave(num))
{
printf("Yes\n");
}else
{
printf("No\n");
}
return 0;
}
你这个错误也有点儿不可原谅了哦,居然把关键字都写错了,它不出错才怪,关键字在编译器中颜色都不一样难道没看出来吗
而且格式不能太乱了,要不都不好改,不利于自己,也不利于别人读程,
#include <stdioh>
int f (int,int);
void main()
{
int i=2,p;
p=f(i,i+1);
printf("%d\n",p);
}
int f (int a ,int b)
{
int c;
c = a;
if(a>b)c=1;
else if(a==b)
c=0;
else
c=-1;
return(c);
}
这个程序通俗上就是通过一个函数传递两个整型值a,b,如果a>b,函数返回1,如果a<b,函数返回-1,如果两数相等,则返回0
这是你原来的方法,我改了两行,
一个是put[j]=str[i],这一行要改成put[j]=str[i]-'0',这是从char 到 int的转换,如果不变就成了把put[j]赋值成字符型str[i]的值了,
另一个在后面那个函数,return have使用之后,后面的代码就不执行了,就好象短路一样,
要放在后面,或是有条件的返回
可是改了这两处之后还是不对,排出来结果差的太多,好象是你的冒泡内部的问题,要重新换种方法试试我对排序很外行,查不出来根本所在
#include <stdioh>
struct nn
{ int no;
int num;
};
typedef struct nn DATA;
int number( char , DATA []);
int main( )
{
DATA b[100];
char sa[500]; //
int i, n;
gets( sa );
n = number( sa, b );
for ( i=0; i<n; i++ )
printf("%d %d\n", b[i]num, b[i]no );
return 0;
}
//
void bubbleSort(int arr[],int n)
{
int i,j,t;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-i-1;j++)
{
if(arr[j+1]<arr[j])
{
t=arr[j+1];
arr[j+1]=arr[j];
arr[j]=t;
}
}
}
}
int number( char str, DATA b[] )
{
int put[251],anshunxu[251],bianhao[251];
int i,j=0,have;
// 得数的个数
for(i=0;str[i]!='\0';i++)
{
if(str[i]!=' ')
{
put[j]=str[i]-'0';
j++;
}
}
put[j]='\0';
have=j;
j=0;
//return have;
// 把put复制到anshunxu
for(i=0;i<have;i++)
{
anshunxu[i]=put[i];
}
// 冒泡排序
bubbleSort(anshunxu,have);
// 得到编号的数组
for(i=0;i<have;i++)
{
for(j=0;j<have;j++)
{
if(put[i]==anshunxu[j])
{
bianhao[i]=j+1;
}
}
}
bianhao[i]='\0';
for(i=0;i<have;i++)
{
b[i]num=put[i];
b[i]no=bianhao[i];
}
return have;
}
以上回答你满意么?
#include <stdioh>
int Max(int a, int b); // 定义函数Max
void main() //无返回值主函数
{
int x, y, z; //定义整型变量x,y,z
printf("Please input two integers : "); //让用户输入两个整数,务必要用英文输入法输入“,”
scanf("%d,%d",&x, &y); //将用户输入的整型数分别存放到x,y中
if(x==y) //判断x是否等于y,是则输出“这两个整数相等”
{
printf("The two integers are equal!");
}
else //否则,将x,y的值放入实参中并执行Max函数中的内容
{
z = Max(x, y); //实参
printf("The biger number is %d\n", z); //向屏幕输出较大的数
}
}
int Max(int a, int b) //形参
{
int c = 0; //定义整型变量c
c = a>ba:b; //用三目运算符将a,b值中大的赋值给c
return c; //返回c的值
}
//望采纳^_^
方法1:
#include<stdioh>
#include<mathh>
float x;
if(fabs(x-(int)x)<1e-8)printf(“x是一个整数\n”);
else printf(“x不是一个整数\n”);
方法2:
int c=(int)b,d=(int)(b+0999999)
if(c==d)
printf(“是整数\n”);
else
printf(“不是整数\n”);
方法3:
float b;
if(b-(int)b==0)
printf(“是整数\n”);
else
printf(“不是整数\n”);
方法4:
float b;
if(b!=(int)b)
printf(“不是整数\n”);
else
printf(“是整数\n”);
unsigned int addr(unsigned int num1, unsigned int num2)
{
unsigned int sum=0;
unsigned int num3=0;
unsigned int num4=0;
while((num1&num2)>0)
{
num3=num1^num2;
num4=num1&num2;
num1=num3;
num2=num4<<1;
}
sum=num1^num2;
return sum;
}
有些参数可能要优化一下, 这个输出结果是对的
str是字符串第一个字母的位置,-'0'是得到ASCII码的偏移量,
比如说字符'9',用'9'-'0'即为9,相当于把字符转换为整数
str++是将str向后移,处理字符串中下一个字符
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)