我们专注攀枝花网站设计 攀枝花网站制作 攀枝花网站建设
成都网站建设公司服务热线:400-028-6601

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

c语言sign函数例题 c语言sign函数怎么写

C语言 多分段函数

有两种结构可以选择

成都创新互联公司-专业网站定制、快速模板网站建设、高性价比肃宁网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式肃宁网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖肃宁地区。费用合理售后完善,十载实体公司更值得信赖。

1.if

{}

else if

{}

else if

2.switch

case:

case:

case:

输入x ,计算并输出下列分段函数sign(x)的值。要求定义和调用函数该分段函数。

代码为:

#includestdio.h

int main(void)

{    int x,y;

printf("输入x:");

scanf("%d",x);    if(x0){

y=-1;

}    else if(x=0){

y=0;

}    else{

y=1;

}

printf("y=%d",y);

return 0;

}

扩展资料:

计算机函数分类

函数分为全局函数、全局静态函数;在类中还可以定义构造函数、析构函数、拷贝构造函数、成员函数、友元函数、运算符重载函数、内联函数等。

c语言常见函数:

1、main(中文:主函数)。

2、max(中文:求“最大数”的函数)。

3、scanf(中文全称:“格式输入”函数)。

4、printf(中文全称:“格式输出”函数)。

5、gets(中文全称:“标准输入流”函数)。

6、log (以10为底的对数)。

7、sqrt (开平方)。

8、avg (求平均数)。

参考资料来源:百度百科-函数

我想尽快知道这道C语言题的解法

#includestdio.h /*引用库函数*/

#includestdlib.h

#includectype.h

#includestring.h

typedef struct /*定义结构体数组*/

{

char num[10]; /*学号*/

char name[20]; /*姓名*/

int score; /*成绩*/

}Student;

Student stu[80]; /*结构体数组变量*/

int menu_select() /*菜单函数*/

{

char c;

do{

system("cls"); /*运行前清屏*/

printf("\t\t****Students' Grade Management System****\n"); /*菜单选择*/

printf("\t\t | 1. Input Records |\n");

printf("\t\t | 2. Display All Records |\n");

printf("\t\t | 3. Sort |\n");

printf("\t\t | 4. Insert a Record |\n");

printf("\t\t | 5. Delete a Record |\n");

printf("\t\t | 6. Query |\n");

printf("\t\t | 7. Statistic |\n");

printf("\t\t | 8. Add Records from a Text File|\n");

printf("\t\t | 9. Write to a Text file |\n");

printf("\t\t | 0. Quit |\n");

printf("\t\t*****************************************\n");

printf("\t\t\tGive your Choice(0-9):");

c=getchar(); /*读入选择*/

}while(c'0'||c'9');

return(c-'0'); /*返回选择*/

}

int Input(Student stud[],int n) /*输入若干条记录*/

{int i=0;

char sign,x[10]; /*x[10]为清除多余的数据所用*/

while(sign!='n'sign!='N') /*判断*/

{ printf("\t\t\tstudent's num:"); /*交互输入*/

scanf("\t\t\t%s",stud[n+i].num);

printf("\t\t\tstudent's name:");

scanf("\t\t\t%s",stud[n+i].name);

printf("\t\t\tstudent's score:");

scanf("\t\t\t%d",stud[n+i].score);

gets(x); /*清除多余的输入*/

printf("\t\t\tany more records?(Y/N)");

scanf("\t\t\t%c",sign); /*输入判断*/

i++;

}

return(n+i);

}

void Display(Student stud[],int n) /*显示所有记录*/

{

int i;

printf("\t\t\t-----------------------------------\n"); /*格式头*/

printf("\t\t\tnumber name score\n");

printf("\t\t\t-----------------------------------\n");

for(i=1;in+1;i++) /*循环输入*/

{

printf("\t\t\t%-16s%-15s%d\n",stud[i-1].num,stud[i-1].name,stud[i-1].score);

if(i1i%10==0) /*每十个暂停*/

{printf("\t\t\t-----------------------------------\n"); /*格式*/

printf("\t\t\t");

system("pause");

printf("\t\t\t-----------------------------------\n");

}

}

printf("\t\t\t");

system("pause");

}

void Sort_by_num(Student stud[],int n) /*按学号排序*/

{ int i,j,*p,*q,s;

char t[10];

for(i=0;in-1;i++) /*冒泡法排序*/

for(j=0;jn-1-i;j++)

if(strcmp(stud[j].num,stud[j+1].num)0)

{strcpy(t,stud[j+1].num);

strcpy(stud[j+1].num,stud[j].num);

strcpy(stud[j].num,t);

strcpy(t,stud[j+1].name);

strcpy(stud[j+1].name,stud[j].name);

strcpy(stud[j].name,t);

p=stud[j+1].score;

q=stud[j].score;

s=*p;

*p=*q;

*q=s;

}

}

int Insert_a_record(Student stud[],int n) /*插入一条记录*/

{char x[10]; /*清除多余输入所用*/

printf("\t\t\tstudent's num:"); /*交互式输入*/

scanf("\t\t\t%s",stud[n].num);

printf("\t\t\tstudent's name:");

scanf("\t\t\t%s",stud[n].name);

printf("\t\t\tstudent's score:");

scanf("\t\t\t%d",stud[n].score);

gets(x);

n++;

Sort_by_num(stud,n); /*调用排序函数*/

printf("\t\t\tInsert Successed!\n"); /*返回成功信息*/

return(n);

}

int Delete_a_record(Student stud[],int n) /*按姓名查找,删除一条记录*/

{ char s[20];

int i=0,j;

printf("\t\t\ttell me his(her) name:"); /*交互式问寻*/

scanf("%s",s);

while(strcmp(stud[i].name,s)!=0in) i++; /*查找判断*/

if(i==n)

{ printf("\t\t\tnot find!\n"); /*返回失败信息*/

return(n);

}

for(j=i;jn-1;j++) /*删除操作*/

{

strcpy(stud[j].num,stud[j+1].num);

strcpy(stud[j].name,stud[j+1].name);

stud[j].score=stud[j+1].score;

}

printf("\t\t\tDelete Successed!\n"); /*返回成功信息*/

return(n-1);

}

void Query_a_record(Student stud[],int n) /*查找并显示一个记录*/

{ char s[20];

int i=0;

printf("\t\t\tinput his(her) name:"); /*交互式输入*/

scanf("\t\t\t%s",s);

while(strcmp(stud[i].name,s)!=0in) i++; /*查找判断*/

if(i==n)

{ printf("\t\t\tnot find!\n"); /*输入失败信息*/

return;

}

printf("\t\t\this(her) number:%s\n",stud[i].num); /*输出该学生信息*/

printf("\t\t\this(her) score:%d\n",stud[i].score);

}

void Statistic(Student stud[],int n) /*新增功能,输出统计信息*/

{ int i,j=0,k=0,sum=0;

float aver; /*成绩平均值*/

for(i=0;in;i++) /*循环输入判断*/

{

sum+=stud[i].score;

if(stud[j].scorestud[i].score) j=i;

if(stud[k].scorestud[i].score) k=i;

}

aver=1.0*sum/n;

printf("\t\t\tthere are %d records.\n",n); /*总共记录数*/

printf("\t\t\tthe hignest score:\n"); /*最高分*/

printf("\t\t\tnumber:%s name:%s score:%d\n",stud[j].num,stud[j].name,stud[j].score);

printf("\t\t\tthe lowest score:\n"); /*最低分*/

printf("\t\t\tnumber:%s name:%s score:%d\n",stud[k].num,stud[k].name,stud[k].score);

printf("\t\t\tthe average score is %5.2f\n",aver); /*平均分*/

}

int AddfromText(Student stud[],int n) /*从文件中读入数据*/

{ int i=0,num;

FILE *fp; /*定义文件指针*/

char filename[20]; /*定义文件名*/

printf("\t\t\tInput the filename:");

scanf("\t\t\t%s",filename); /*输入文件名*/

if((fp=fopen(filename,"rb"))==NULL) /*打开文件*/

{ printf("\t\t\tcann't open the file\n"); /*打开失败信息*/

printf("\t\t\t");

system("pause");

return(n);

}

fscanf(fp,"%d",num); /*读入总记录量*/

while(inum) /*循环读入数据*/

{

fscanf(fp,"%s%s%d",stud[n+i].num,stud[n+i].name,stud[n+i].score);

i++;

}

n+=num;

fclose(fp); /*关闭文件*/

printf("\t\t\tSuccessed!\n");

printf("\t\t\t");

system("pause");

return(n);

}

void WritetoText(Student stud[],int n) /*将所有记录写入文件*/

{

int i=0;

FILE *fp; /*定义文件指针*/

char filename[20]; /*定义文件名*/

printf("\t\t\tWrite Records to a Text File\n"); /*输入文件名*/

printf("\t\t\tInput the filename:");

scanf("\t\t\t%s",filename);

if((fp=fopen(filename,"w"))==NULL) /*打开文件*/

{

printf("\t\t\tcann't open the file\n");

system("pause");

return;

}

fprintf(fp,"%d\n",n); /*循环写入数据*/

while(in)

{

fprintf(fp,"%-16s%-15s%d\n",stud[i].num,stud[i].name,stud[i].score);

i++;

}

fclose(fp); /*关闭文件*/

printf("Successed!\n"); /*返回成功信息*/

}

void main() /*主函数*/

{

int n=0;

for(;;)

{

switch(menu_select()) /*选择判断*/

{

case 1:

printf("\t\t\tInput Records\n"); /*输入若干条记录*/

n=Input(stu,n);

break;

case 2:

printf("\t\t\tDisplay All Records\n"); /*显示所有记录*/

Display(stu,n);

break;

case 3:

printf("\t\t\tSort\n");

Sort_by_num(stu,n); /*按学号排序*/

printf("\t\t\tSort Suceessed!\n");

printf("\t\t\t");

system("pause");

break;

case 4:

printf("\t\t\tInsert a Record\n");

n=Insert_a_record(stu,n); /*插入一条记录*/

printf("\t\t\t");

system("pause");

break;

case 5:

printf("\t\t\tDelete a Record\n");

n=Delete_a_record(stu,n); /*按姓名查找,删除一条记录*/

printf("\t\t\t");

system("pause");

break;

case 6:

printf("\t\t\tQuery\n");

Query_a_record(stu,n); /*查找并显示一个记录*/

printf("\t\t\t");

system("pause");

break;

case 7:

printf("\t\t\tStatistic\n");

Statistic(stu,n); /*新增功能,输出统计信息*/

printf("\t\t\t");

system("pause");

break;

case 8:

printf("\t\t\tAdd Records from a Text File\n");

n=AddfromText(stu,n); /*新增功能,输出统计信息*/

break;

case 9:

printf("\t\t\tWrite to a Text file\n");

WritetoText(stu,n); /*循环写入数据*/

printf("\t\t\t");

system("pause");

break;

case 0:

printf("\t\t\tHave a Good Luck,Bye-bye!\n"); /*结束程序*/

printf("\t\t\t");

system("pause");

exit(0);

}

}

}

C语言编程,帮帮忙吧

1、输入1000个整数,用选择法将它们从大到小排序输出。

#includestdio.h

#define N 1000

void main()

{

int a[N],i,j,temp;

for(i=0;iN;i++) scanf("%d",a[i]);

for(i=0;iN;i++) {

for(j=i+1;jN;j++)

if(a[j]a[i]) { temp=a[i]; a[i]=a[j]; a[j]=temp; }

printf("%6d",a[i]);

}

getchar();

}

2、输入正整数n、正实数x后,计算x的n平方的值并输出。要求将计算x的n平方的运算写成函数mypow(x,n),函数返回值的类型为double。

#includestdio.h

double mypow(float x,int n){

int i=0;

double k=1;

while(in) { k*=x; i++;}

return k;

}

void main()

{

int i;

float j;

scanf("%d%f",i,j);

printf("%f",mypow(i,j));

getchar();

}

3、输入浮点数x,计算并输出下列分段函数sign(x)的值,y=sign(x)={

-1 x0

0 x=0

1 x0

#includestdio.h

void main()

{

int i=0;

float j;

scanf("%f",j);

if(j0) i=-1;

else if(j0) i=1;

printf("%d\n",i);

getchar();

}

4、输入100个正整数,求所有偶数之和。

#includestdio.h

#define N 100

void main()

{

int i,j=0,k=0;

for(i=0;iN;i++){

scanf("%d",j);

if(j%2==0) k+=j;

}

printf("%d\n",k);

}

编写一个C程序:符号函数

#include iostream.h

int sign(int x);

int main()

{

int a=1;

while(a!=0)

{

cout"Input a number:"endl;

cina;

cout"Its sign is :"sign(a)endl;

}

return 0;

}

int sign(int x)

{

if(x0) return 1;

if(x0) return -1;

else return 0;

}

用c语言求解 sign(x)的值

int sign(int x) //或float x 或 double x都可以

{if(x==0)return 0;

if(x0)return 1;

return -1;

}


标题名称:c语言sign函数例题 c语言sign函数怎么写
分享网址:http://mswzjz.cn/article/hjjijo.html

其他资讯