3.18编程题
1. 输入三角形的3条边长,求其面积。注意:三角形的任意两边之和必须大于第3边,对于不合理的边长输入,要求给出错误提示。
if(a+b>c b+c>a a+c>b)
s=周长一般
area=sprt
输出面积
2.计算分段函数。要求输入整数x的值,输出y的值。
y=x-1(-5
y=x+1(0
3. 从键盘输入一个字符,如果是小写字母,则转换成大写字母输出;如果是大写字母,则转换成小写字母输出;如果是其他字符,则原样输出。
3.18代码
1.
#include<stdio.h>
#include<math.h>
int main()
{double a,b,c,d,e;
printf("请输入三角形的三个边长,我会计算出此三角形的面积,若三角形不符合规范我会给出错误提示;\n");
scanf("%lf,%lf,%lf",&a,&b,&c);
if(a+b>c&&b+c>a&&a+c>b)
{d=(a+b+c)/2;
e=sqrt(d(d-a)(d-b)*(d-c));
printf("三角形的面积为:\n%lf",e);
}
else
printf("输入的数据类型不符合规定");
return 0;
}
2.
#include<stdio.h>
int main()
{
int x,y;
printf ("输入一个整数x,我将会计算分段函数的值,分段函数为:\ny=x-1(-5<x<0)\n y=x(x=0)\n y=x+1(0<x<8)\ny=10(otherwise)\n");
scanf ("%d",&x);
if ((x>-5)&&(x<0))
y=x-1;
else if (x==0)
y=x;
else if ((x>0)&&(x<8))
y=x+1;
else
y=10;
printf("输出结果为y=%d",y);
return 0;
}
3.
#include <stdio.h>
int main()
{
char ch;
printf ("请输入一个字符:\n");
scanf ("%c",&ch);
if('A'<=ch&&'Z'>=ch)
{
ch=ch+32;
printf("输出结果为:\n%c",ch);
}
else if('a'<=ch&&'z'>=ch)
{
ch=ch-32;
printf("输出结果为:\n%c",ch);
}
else
printf("输出结果为:\n%c",ch);
return 0;
}
3.25编程题
1.编程输出1-200之间所有能被3整除、且个位数为6的整数。
#include<stdio.h>
int main()
{
int i=1;
while(i<=200&&i++)
if(i%3==0&&i%10==6)
printf("1-200之间所有能被3整除、且个位数为6的整数为:%d\n",i);
return 0;
}
2.Input the value of n from the keyboard, and calculate 2468……*n
#include<stdio.h>
int main()
{
int n,a=2,b=1;
printf("请输入一个偶数n=");
scanf("%d",&n);
while(a<=n)
{
b=b*a;
a=a+2;
}
printf("计算结果为:\n%d",b);
return 0;
}
3.Input the value of n from the keyboard, and calculate 1!+2!+3!+…+n!
#include<stdio.h>
int main()
{
int n,a=1,b=1,c=0;
printf("输入一个整数n,我会计算阶乘和n=");
scanf("%d",&n);
while(a<=n)
{
b=b*a;
c=c+b;
a++;
}
printf("输出结果为:\n%d",c);
return 0;
}
循环体语句的顺序是不能改变的!!!这题应该最后再加以a++写在最后!
4.1
1.
#include <stdio.h>
int main()
{
int i,m,n;
printf ("请输入两个整数m,n我会算出他们的最小公倍数:\n");
scanf("%d,%d",&m,&n);
for(i=m;;i++)
if(i%m==0&&i%n==0)
break;
printf("最小公倍数为:\n%d",i);
return 0;
}
2.
#include <stdio.h>
int main()
{
int i,n;
double a=2,b=1,sum=0,c;
printf("输入整数n,我会计算数列前n项和:\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
sum=sum+a/b;
c=a;
a=a+b;
b=c;
}
printf("结果为:\n%lf",sum);
return 0;
}
3.
#include <stdio.h>
int main()
{
int a,n,sum=0,i,b=0;
printf("输入a和n:\n");
scanf("%d,%d",&a,&n);
for(i=1;i<=n;i++)
{
b=b*10+a;
sum=sum+b;
}
printf("结果为:\n%d",sum);
return 0;
}
4.8
1.
#include <stdio.h>
#include <math.h>
void main()
{
double sum=1,a=1,b;
printf("求和运算:\n");
for(b=1;1/b>=1e-5;a++)
{
b=a*b;
sum=sum+1/b;
}
printf("\n%lf",sum);
}
2.
#include <stdio.h>
void main()
{
double i=8848.86,n=0,a=0.0001;
while (a<=8848.86)
{
n++;
a=a*2;
}
printf("次数为:\n%lf",n);
}
3.
4.15
1.
#include <stdio.h>
int main()
{
int max,min,i,a[10];
printf("请输入10个人的成绩:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
max=min=a[0];
for(i=1;i<10;i++)
{
if(a[i]>max)
max=a[i];
if(a[i]<min)
min=a[i];
}
printf("最高分为:%d,最低分为:%d\n",max,min);
return 0;
}
注意代码的第九行,在比较大小时依然是需要循环的,千万不要不循环,这个循环很重要!第一遍我没有写上循环,以后注意!
2.
#include <stdio.h>
int main()
{
int max,min,sum,i,a[7],ave;
printf("请输入七天的销售额:\n");
for(i=0;i<7;i++)
scanf("%d",&a[i]);
sum=max=min=a[0];
for(i=1;i<7;i++)
{ sum=sum+a[i];
if(max<a[i])
max=a[i];
if(min>a[i])
min=a[i];
}
ave=sum/7;
printf("最高销售额为:\n%d\n最低销售额为:\n%d\n平均值为:\n%d\n",max,min,ave);
return 0;
}
3.
#include <stdio.h>
int main()
{
int i,j,n;
for(i=1;i<=9;i++)
{
for(j=1;j<=i;j++)
printf("%d*%d=%-3d",j,i,i*j);
printf("\n");
}
return 0;
}
4.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a=rand()%100,i,n=0;
while(1)
{
printf("输入数字猜数:");
scanf("%d",&i);
n++
if(i>a)
printf("太大了!\n");
else if(i<a)
printf("太小了!\n");
else
{
printf("预测%d次,猜中了!\n",n);
break;
}
return 0;
}
4.22
1.
#include <stdio.h>
int main()
{
int a[8],i,j,t;
printf ("输入8个整数:\n");
for (i=0;i<8;i++)
scanf("%d",&a[i]); //数组的构造。
for (i=0;i<8-1;i++) //趟数
for (j=0;j<8-i-1;j++) //次数
if(a[j]<a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
printf("结果为:\n");
for (i=0;i<8;i++)
printf("%d\n",a[i]);
return 0;
}
2.
#include <stdio.h>
#include <string.h>
int main()
{
char s1[80],s2[80];
int i;
printf("s2:\n");
scanf ("%s",&s2);
for (i=0;i<=strlen(s2);i++)
s1[i]=s2[i];
printf("s1:\n%s\n",s1);
return 0;
}
3.
#include <stdio.h>
int i,sumn,b,m;
int sum (int m)
{
for (i=1;i<=m;i++)
{
sumn=sumn+i;
}
return sumn;
}
void main()
{
printf("请输入m:\n");
scanf("%d",&b);
sum(b);
printf("sum=%d\n",sumn);
}
#include <stdio.h>
double a,x,y;
double fd(double x)
{
if (x<0)
y=x*x-2*x+1;
else (x>=0);
y=x*x*x+x+3;
return y;
}
void main()
{
printf("请输入X的值:\n");
scanf("%lf",&a);
fd(a);
printf("计算结果为:\n%.1lf",y);
}
#include <stdio.h>
int max(int a[])
{
int i,m=a[0];
for(i=0;i<5;i++)
if (a[i]>m)
m=a[i];
return m;
}
void main ()
{
int b[5],j,n;
printf("求最大值:\n");
for(j=0;j<5;j++)
scanf("%d",&b[j]);
n=max(b);
printf("最大值为:\n%d\n",n);
}