练习作业 :
1、 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
#include <stdio.h>
#include <math.h>
#include <string.h>
#define pi 3.14
//1、输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
void count(){
char s[100];
int zm=0,kg=0,sz=0,other=0,i;
printf(" 请输入字符串:");
gets(s);
for(i=0;i<strlen(s);i++){
if( s[i]>='A'&& s[i]<='z'){
zm++;
}else if(s[i]==' '){
kg++;
}else if(s[i]>='0' &&s[i]<='9'){
sz++;
}else{
other++;
}
}
printf("字母有%d个,空格有%d个,数字有%d个,其他字符%d个 ",zm,kg,sz,other);
}
#include <stdio.h>
#include <math.h>
#include <string.h>
void area(){
double p,s,a,b,c;
printf("请输入长宽 高:");
scanf("%lf %lf%lf",&a,&b,&c);
if(a>0 && b>0 &&c>0 ||a+b>c || a+c>b|| b+c>a){
p=(a+b+c)/2.0;
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf("三角形的面积为:%lf\n",s);
}else{
printf("这不是一个三角形");
}
}
3、 输入一个华氏温度,要求输出摄氏温度,公式为:C=5/9*(F-32) 输出要有文字说明,取两位小数
#include<stdio.h>
#include<math.h>
#include<string.h>
void wendu(){
double f,c;
printf("请输入华氏温度:");
scanf("%lf",&f);
c=5/9.0*(f-32);
printf("摄氏温度为:%3.2lf\n",c);
}
4、 输入圆的半径和圆柱的高,求圆周长、圆面积、圆柱体积
#include <stdio.h>
#include <math.h>
#include <string.h>
#define pi 3.14
void yuan(){
double a,b,l,s,t;
printf("请输入半径 高:");
scanf("%lf%lf",&a,&b);
l=2*pi*a;
s=pi*a*a;
t=s*b;
printf("圆的周长、面积和圆柱的体积为:%lf %lf %lf \n",l,s,t);
}
5、 获取54689这个数的各个转换为中文大写输出
#include<stdio.h>
#include<math.h>
void main(){
char hz[10][3]={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
int num=54689;
int i,j;
int m[5];
for(i=0,j=4;i<5;i++,j--){//把数字分解,存入数字
m[i]=num/(pow(10,j));
m[i]=m[i]%10;
}
for(i=0;i<5;i++){
printf("%s",hz[m[i]]);
}
printf("\n");
}
6、模拟实现简单计算器 要求输入两个数 和一个操作符(+-*/%)进行运算后输出结果
#include<stdio.h>
#include<math.h>
#include<string.h>
#define pi 3.14
voidjishuanq(){
double a,b,s;
char c;
printf("请输入两个数和一个操作符(+-*/),计算结果\n");
scanf("%lf %lf%c",&a,&b,&c);
printf("%lf %lf %c \n",a,b,c);
switch(c){
case '+':
s=a+b;
printf("结果为%lf\n",s);
break;
case '-': s=a-b;
printf("结果为%lf\n",s);break;
case '*': s=a*b;
printf("结果为%lf\n",s);break;
default:s=a/b;
printf("结果为%lf\n",s);break;
}
}
7、输入某年某月某日,判断这一天是这一年的第几天?程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。
#include <stdio.h>
#include <math.h>
#include <string.h>
void year(){
int a,b,c,tian;
printf("请输入年 月日:");
scanf("%d %d%d",&a,&b,&c);
printf("您输入的结果为:%d年 %d月 %d日 \n",a,b,c);
if(a%400==0||(a%4==0 && a%100!=0)){
tian=(b-1)*30+c;
if(b>3){
tian=tian+1;
}
printf("这是%d年的第%d\n",a,tian);
}else{
tian=(b-1)*30+c;
printf("这是%d年的第%d天\n",a,tian);
}
}
6、 输入一个字符,判断是否是原音字母(a e i o u)。
#include <stdio.h>
#include <math.h>
#include <string.h>
voidpd(){
int i,flag=0;
char s[100];
printf(" 请输入字符串:");
gets(s);
for(i=0;i<strlen(s);i++){
if(s[i]=='a' ||s[i]=='e' || s[i]=='i' ||s[i]=='o' || s[i]=='u'){
flag=1;
}
}
if(flag==0){
printf("没有原音字母\n");
}else{
printf("有原音字母\n");
}
}
7、 输入一个成绩转换为优良中差不及格(优>90>良> 80>中> 70>差> 60>不及格)
#include <stdio.h>
#include <math.h>
#include <string.h>
voidcji(){
int s;
printf(" 请输入成绩:");
scanf("%d",&s);
if(s>90){
printf("优");
}else if(s>80){
printf("良");
}else if(s>70){
printf("中");
}else if(s>60){
printf("差");
}else{
printf("不及格");
}
}
8、 题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?
#include <stdio.h>
#include <math.h>
#include <string.h>
void jiangj(){
double I,sum=0;
printf(" 请输入利润:");
scanf("%lf",&I);
if(I>1000000){
sum=(I-100000)*0.01+(1000000-600000)+(600000-400000)*0.03+(400000-200000)*0.05+(200000-100000)*0.075+100000*0.1;
}else if(I>600000){
sum=(I-600000)*0.015+(600000-400000)*0.03+(400000-200000)*0.05+(200000-100000)*0.075+100000*0.1;
}else if(I>400000){
sum=(I-400000)*0.03+(400000-200000)*0.05+(200000-100000)*0.075+100000*0.1;
}else if(I>200000){
sum=(I-200000)*0.05+(200000-100000)*0.075+100000*0.1;
}else if(I>100000){
sum=(I-100000)*0.075+100000*0.1;
}else{
sum=I*0.1;
}
printf("奖金总数为%lf",sum);
}