2020年3月12日C语言习题
程序员文章站
2022-03-26 12:37:12
...
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
注:本人能力有限,读者发现错误敬请批评指正,如有错误将会在下一习题练习中指出。
推荐阅读
-
【学习笔记】C语言习题:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
-
《C语言入门经典》习题7.1【原创】
-
C语言程序设计——选择分支结构程序设计——实现分段函数(习题4.5)
-
C语言程序设计——选择分支结构程序设计——将员工以年龄分配职务(习题4.4)
-
C语言程序设计——选择分支结构程序设计——判断从键盘输入的整数的正负性和奇偶性(习题4.3)
-
leetcode中剑指offer的习题 C++语言实现(2)
-
leetcode中剑指offer的习题 C++语言实现(1)
-
C语言习题3
-
C语言习题16
-
【C语言习题】2016_5_2学生成绩排名