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);}elseprintf("输入的数据类型不符合规定");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;elsey=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);}elseprintf("输出结果为:\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);}
