实验教程,c语言编写的答案
本人发布的所有程序均已经过调试,完全符合课本要求,但仅供参考,切勿照抄!
纸上得来终觉浅,觉知此事要躬行
3.1
#include
#include
int main (void)
{
double a,b,c,d;
printf("Enter a b c:");
scanf("%lf%lf%lf",&a,&b,&c);
d=b*b-4*a*c;
if(a==0){
if(b==0){
if(c==0)
printf("参数都为0,方程为无意义!\n");
else
printf("a和b为0,c不为0,方程不成立\n");
}
else
printf("x=%0.2f\n",-c/b);
}
else
if(d>=0){
printf("x1=%0.2f\n",(-b+sqrt(d))/(2*a));
printf("x2=%0.2f\n",(-b-sqrt(d))/(2*a));
}
return 0;
}
3.2
#include
int main(void)
{
int x;
printf("Enter x:");
scanf("%d",&x);
if(x<0){
printf("sing(%d)=-1\n\a",x);
}
else
if(x==0){
printf("sing(%d)=0\n\a",x);
}
else{
printf("sing(%d)=1\n\a",x);
}
return 0;
}
3.3
#include
int main (void)
{
int digit,i,letter,other,blank;
char ch;
digit=other=letter=blank=0;
printf("Enter 10 characters:");
for(i=1;i<=10;i++){
ch=getchar();
if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='z'))
letter++;
else if(ch>='0'&&ch<='9')
digit++;
else if(ch==' ')
blank++;
else
other++;
}
printf("letter=%d,digit=%d,blank=%d,other=%d,\n\a",letter,digit,blank,other);
return 0;
}
3.4
#include
int main (void)
{
char ch;
int i;
for(i=1;i<=5;i++){
printf("Input Grade(A-E):");
ch=getchar();
switch(ch){
case'A':
printf("90-100\n\a");
break;
case'B':
printf("80-89\n\a");
break;
case'C':
printf("70-79\n\a");
break;
case'D':
printf("60-69\n\a");
break;
case'E':
printf("0-59\n\a");
break;
}
}
return 0;
}
3.5
#include
int main(void)
{
int choice,i;
double price;
for(i=1;i<=5;i++){
printf("[1]apple\n");
printf("[2]pear\n");
printf("[3]orange\n");
printf("[4]grape\n");
printf("[0]exit\n");
printf("Enter choice:");
scanf("%d",&choice);
if(choice==0)
break;
switch(choice){
case 1:price=3.00;break;
case 2:price=2.50;break;
case 3:price=4.10;break;
case 4:price=10.20;break;
default:price=0.0;break;
}
printf("price=%.2lf\n\a",price);
}
printf("Thanks\n\a");
return 0;
}
3.6
#include
int main(void)
{
int n,i;
for(i=1;i<=100;i++){
printf("Enter grade:");
scanf("%d",&n);
if(n>=60){
printf("Pass\n\a");
}
else{
printf("Fail\n\a\a\a");
}
}
return 0;
}
3.7
#include
#include
int main (void)
{
int a,b,c,i;
double L,s;
float area;
for(i=1;i<=100;i++){
printf("Enter 3 sides of the triangle:");
scanf("%d%d%d",&a,&b,&c);
if(a+b>c&&a+c>b&&b+c>a){
L=a+b+c;
s=L/2;
are
a=sqrt(s*(s-a)*(s-b)*(s-c));
printf("area=%.2lf,perimeter=%.0lf\n",area,L);
}
else{
printf("There sides do not correspond to