第一题是不是从一个五位数中取出最大数字和最小的数字啊?下面的程序是去最大和最小数字的
#include<stdio.h>
#include<string.h>
#include<conio.h>
int main()
{
char str[20],str_max,str_min,str_temp;
memset(str,0,sizeof(str));
printf("Enter a number:");
scanf("%s",&str);
str_min=str[0];
str_max=str[0];
for(int i=1;i<strlen(str);i++)
{
if(str[i]>str_max)
str_max=str[i];
if(str[i]<str_min)
str_min=str[i];
}
printf("The max is:%c\n",str_max);
printf("The min is:%c\n",str_min);
getch();
return 0;
}
[此贴子已经被作者于2007-7-11 15:40:16编辑过]
第二题是一个一元二次方程:
#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<math.h>
float slove(float a,float b,float c,float x1,float x2)
{
if((b*b-4*a*c)<0) printf("该方程无实根!");
else
{
if((b*b-4*a*c)==0)
printf("该方程有两个相同的实根:x1=x2=%f",-b/(2*a));
else
{
float temp=sqrt(b*b-4*a*c);
printf("该方程两个不同的根:x1=%f,x2=%f",(-b+temp)/(2*a),(-b-temp)/(2*a));
}
}
return 0;
}
int main()
{
float a,b,c,x1,x2;
printf("请输入a的值:");
scanf("%f",&a);
printf("请输入b的值:");
scanf("%f",&b);
printf("请输入c的值:");
scanf("%f",&c);
slove(a,b,c,x1,x2);
getch();
return 0;
}
挺简单的,都是体力活,其他不做了,自己慢慢想吧!多看看书就可以了
第五题
#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<stdlib.h>
int main()
{
char str[255];
memset(str,0,sizeof(str));
int sz_count=0,zm_count=0,kg_count=0,qt_count=0,i=0;
printf("请输入:");
str[i]=getchar();
while(str[i]!='\n')
{
if(str[i]==' ')
kg_count++;//统计输入空格数
else if(!(str[i]<'0')&&!(str[i]>'9'))
sz_count++;//统计输入数字数
else if(!(str[i]<'A')&&!(str[i]>'z'))
zm_count++;//统计输入字母数
else
qt_count++;//统计其他字符数
i++;
str[i]=getchar();
}
str[i]='\0';//去掉最后输入回车
printf("输入的空格个数为:%d\n",kg_count);
printf("输入的数字个数为:%d\n",sz_count);
printf("输入的字母个数为:%d\n",zm_count);
printf("输入的其他字符个数为:%d\n",qt_count);
getch();
return 0;
}