欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

2020年3月12日C语言习题

程序员文章站 2022-03-26 12:37:12
...

2020年3月12日C语言习题

2020年3月12日C语言习题

第一题解答

#include<stdio.h>
#include<math.h>
int main()
{int Equfunc(float a,float b,float c,float rv[]);
float a,b,c,rv[2]={0};
int i;
printf("请输入a,b,c的值:");
scanf("%f%f%f",&a,&b,&c);
i=Equfunc(a,b,c,rv);
if(i==0) printf("该方程无解");
else if(i==1) printf("该方程有一个解为:%.2f",rv[0]);
else printf("该方程有两个解分别为:%.2f %.2f",rv[0],rv[1]);
return 0;
}
int Equfunc(float a,float b,float c,float rv[])
{int n=0;
float disc;
disc=b*b-4*a*c;
if(disc<0) n=0;
else if(disc==0){rv[0]=b/2*a;n=1;}
else {rv[0]=(-b+sqrt(disc))/2*a;rv[1]=(-b-sqrt(disc))/2*a;n=2;}
return n;
}

样例输入:1 3 2
样例输出:该方程有两个解分别为:-1.00 -2.00

第二题解答

#include<stdio.h> 
#include<string.h>
#include<stdlib.h>
int main()
{int maxlenStr(char**p,int n);
char* str[5]={0};
int i,q;                    //q用来储存函数返回值 
for(i=0;i<5;i++)
{str[i]=(char*)malloc(100);//给str分配100个字节 
scanf("%s",str[i]);}       //输入5个字符串 
q=maxlenStr(str,5);
printf("最长字符串为%s",str[q]);     //输出最长字符串 
return 0;
}
int maxlenStr(char**p,int n)
{int m,b=0;
int maxlen=strlen(*p);
for(m=1;m<n;m++)
if(strlen(*(p+m))>maxlen) //找出最长字符串 
{maxlen=strlen(*(p+m));b=m;}
return b;
}

样例输入:abcde abc abcdefg abcdefghi abcdef abc
样例输出:abcdefghi

注:本人能力有限,读者发现错误敬请批评指正,如有错误将会在下一习题练习中指出。

相关标签: 指针