题目
1.从终端输入一个三位的整数。求个位十位百位的和。
2.输入三角形的边长,求面积。假设在平面内,有一个三角形,边长分别为a、b、c,三角形的面积S可由以下公式求得:S=vp(p-a)(p-b)(p-c),而公式里的p为半周长(周长的一半): p=(a+b+c)/2开根号的函数:sqrt(2);对2开根号。头文件:#include<math.h>gcc编译时候需要多加一个-lm,例如gcc 1.c -Im
3.从终端输入年份,要求判断是否是闰年。(能被4整除,但是不能被100整除,或者能被400整除)4.输入年月日,判断是这—年的第几天?
5. int a=10, b=5, c=16;要求编写代码后a中存储5 b中存储10 c中存储16
6.将三个数从小到大依次存储到abc中,最后结果是a<b<c。数据可以从终端获取
解析:
1.从终端输入一个三位的整数。求个位十位百位的和。#include<stdio.h> int main(int argc,const char *argv[]) { int num; int gw,sw,bw;//gw为个位,sw为十位,bw为百位 printf("请输入一个三位整数:\n"); scanf("%d",&num); bw=num/100; sw=(num/10)%10; gw=num%10; sum=gw+sw+bw; printf("个位十位百位之和为:%d\n",sum); return 0; }
结果为:
2.输入三角形的边长,求面积。假设在平面内,有一个三角形,边长分别为a、b、c,三角形的面积S可由以下公式求得:S=vp(p-a)(p-b)(p-c),而公式里的p为半周长(周长的一半): p=(a+b+c)/2开根号的函数:sqrt(2);对2开根号。头文件:#include<math.h>gcc编译时候需要多加一个-lm,例如gcc 1.c -Im
程序代码如下:
#include<stdio.h> #include<math.h> int main(int argc,const char *argv[]) { float a,b,c; float s; float p; pringf("请输入三角形的三条边a,b,c:\n"); scanf(%f %f %f",&a,&b,&c); getchar(); if(a+b>c && a+c>b && b+c>a) { p = (a+b+c)/2; s = sqrt(p*(p-a)*(p-b)*(p-c)); printf("三角形的面积为:%f\n",s); } else { printf("a=%g b=%g c=%g 不能组成三角形\n",a,b,c); } return 0; }
结果为:
3.从终端输入年份,要求判断是否是闰年。(能被4整除,但是不能被100整除,或者能被400整除)
程序代码:
#include<stdio.h> int main(int argc,const char *argv[]) { int year; printf("请输入年份:\n"); scanf("%d",&year); //判断是否是闰年 if((year%4 == 0 && year%100 != 0) || (year%400 == 0)); { printf("是闰年\n"); } else { printf("不是闰年\n"); } return 0; }
结果:
4.输入年月日,判断是这—年的第几天?
代码程序:
#include <stdio.h> int main(int argc, const char *argv[]) { int day, month, year, sum; printf("请输入年 月 日:\n"); scanf("%d%d%d", &year,&month,&day); switch (month) // 先计算某月以前月份的总天数 { case 1: sum=0; break; case 2: sum=31; break; case 3: sum=59; break; case 4: sum=90; break; case 5: sum=120; break; case 6: sum=151; break; case 7: sum=181; break; case 8: sum=212; break; case 9: sum=243; break; case 10: sum=273; break; case 11: sum=304; break; case 12: sum=334; break; default: printf("日期错误"); break; } if (year%400==0||(year%4==0 && year%100!=0&&month>2)) // 判断是不是闰年并且月份大于2 { sum = sum+day+1; } else { sum = sum+day; } printf("这是这一年的第 %d 天\n", sum); return 0; }
结果为:
5. int a=10, b=5, c=16;要求编写代码后a中存储5 b中存储10 c中存储16
程序代码为:
#include<stdio.h> int main(int argc,const char *argv[]) { int a=10,b=5,c=16; int x; if(a>b) {//三杯水交换 x = a; a = b; b = x; } if(a>c) {//有溢出风险,题目没有规定的情况下,可继续使用三杯水交换 a = a+c; c = a-c; a = a-c; } if(b>c) { x = b; b = c; c = x; } printf("a=%d b=%d c=%d\n",a,b,c); return 0; }
结果为:
6.将三个数从小到大依次存储到abc中,最后结果是a<b<c。数据可以从终端获取
程序代码:
#include <stdio.h> int main(int argc, const char *argv[]) { int a,b,c; printf("请输入三个整数:\n"); scanf("%d %d %d",&a,&b,&c); if(a>b) { int h=a; a=b; b=h; } if(b>c) { int h = b; b = c; c = h; } if(a>b) { int h = a; a=b; b = h; } printf("a=%d,b=%d,c=%d\n",a,b,c); return 0; }
结果: