1.规定一个工人工作时间为160小时/月,每小时工资为5元,如果加班,每小时增加4元,编程计算并打印此工人一个月的工资,要求工作时间由键盘输入
#include <stdio.h>
int main()
{
int a,b;
printf("请输入工作时间:");
scanf("%d",&a);
if(a==160)
printf("本月工资为:%d\n",a*5);
else if(a>=160)
{
b=160*5+(a-160)*9;
printf("本月工资为:%d\n",b);
} //多条语句应用花括号扩起来 缩进用tab
else
printf("本月工作时间不够!");
return 0;
}
2.企业发放的奖金根据利润提成。利润(1)低于或等于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%提成,从键盘输入当月利润(1),求应发放奖金总数
#include <stdio.h>
int main()
{
double a;
printf("请输入本月利润(万):");
scanf("%lf",&a);
if(a<=10)
printf("%lf",a*0.1);
else if(a<=20)
printf("%lf",10*0.1+(a-10)*0.075);
else if(a<=40)
printf("%lf",10*0.1+10*0.075+(a-20)*0.05);
else if(a<=60)
printf("%lf",10*0.1+10*0.075+20*0.05+(a-40)*0.03);
else if(a<=100)
printf("%lf",10*0.1+10*0.075+20*0.05+20*0.03+(a-60)*0.015);
else
printf("%lf",10*0.1+10*0.075+20*0.05+20*0.03+(a-100)*0.01);
return 0;
}
3.输入100~999能被3整除,不能被7整除的数
#include <stdio.h>
int main()
{
int i;
for(i=100;i<1000;i=i+1)
{
if(i%3==0&&i%7!=0)
printf("%d\t",i); //格式化直接\t (很有用)
} //for
return 0;
}
4.从键盘输入20个实数,分别计算并输出:所有正数之和,所有负数之和,所有数的绝对值之和,正数的个数和负数的个数
#include <stdio.h>
int main()
{
int i,b=0,c=0; //定义b,c并赋初值 用于记录正数和负数的个数
double a,zs=0,fs=0,jdz=0; //定义a输入20个实数的变量
for(i=1;i<=20;i=i+1)
{
scanf("%lf",&a);
if(a>0)
{
b++;
zs=zs+a;
}//if
if(a<0)
{
c++;
fs=fs+a;
}//if
}//for
jdz=zs-fs;
printf("所有正数之和:%lf,所有负数之和:%lf,所有数的绝对值之和:%lf,正数的个数:%d,负数的个数:%d",zs,fs,jdz,b,c);
return 0;
}
耶耶耶~
5.编写程序实现:棋盘有32个格子,第一个格子放1粒芝麻,第二个格子放2粒,第三个格子放4粒,第四个格子放8粒…每粒芝麻的质量为0.00001kg,如果要放满整个棋盘,需要多少千克的芝麻
#include <stdio.h>
int main()
{
int i; //i计数
double kg=0,a=1.0,sum=1.0; //sum为芝麻数的总和
for(i=2;i<=32;i++)
{
a=a*2; //a为每一个格子的芝麻数
sum=sum+a;
}//for
kg=sum*0.00001;
printf("需要%lf千克的芝麻",kg);
return 0;
}
a和sum是double型的,放int会报错 (捂脸)
6.编写求3~100所有素数的程序
#include <stdio.h>
int main()
{
int i,n;
for(i=3;i<=100;i=i+1)
{
for(n=2;n<=i-1;n=n+1)
if(i%n==0)break;//for
if(i==n)
printf("%d\n",i);//if
}//for
return 0;
}
总感觉素数有点难 肯定不是我的问题~
***7.编程计算:1!+3!+…+(2n-1)!的值。其中,n值由键盘输入
#include <stdio.h>
int main()
{
int sum = 1, last = 1;
int i, n;
scanf("%d", &n);
printf("%d!", 1);
for (i=2; i<=n; i++)
{
last *= (2 * i - 1) * (2 * i - 2);
sum += last;
printf(" + %d!", (2 * i - 1));
}//for
printf(" = %d\n", sum);
return 0;
}
怎么这么难呀 想买脑花帽惹
8.爱因斯坦曾出过这样一道数学题:有一条长街梯,每步跨2阶,最后剩下一阶,每步跨3阶,最后剩下2阶,每步跨5阶,最后剩下4阶,每步跨6阶,最后剩下5阶,只有每步跨7阶,最后才正好1阶不剩,问共有多少阶?
#include <stdio.h>
int main()
{
int i;
for(i=1;i>=1;i++) //无限循环
{
if(i%2==1&&i%3==2&&i%5==4&&i%6==5&&i%7==0)
{
printf("阶梯数为:%d",i);
break;
}//if
}//for
return 0;
}
9.编程计算12+34+…+(n-1)*n的值,其中,n的值由键盘输入
#include <stdio.h>
int main()
{
int i,n,s=0; //s求和
printf("请输入大于等于2的偶数:\n");
scanf("%d",&n);
if(n>=2&&n%2==0)//满足上述大于等于2的偶数
{
for(i=2;i<=n;i+=2)
s+=(i-1)*i;//for
printf("%d\n",s);
}//if
return 0;
}
***10.求2000以内的全部亲密数,亲密数是指:如果整数a的全部因子(包括1但不包括a本身)之和等于b;且整数b的全部因子(包括1但不包括b本身)之和等于a,则将a和b称为亲密数
#include <stdio.h>
#include <math.h>
int main()
{
int a,i,b,n;
printf("There are following friendly--numbers pair smaller than 2000:\n");
for(a=1;a<2000;a++)
{
for(b=0,i=1;i<=a/2;i++)
if(!(a%i)) b+=i;
for(n=0,i=1;i<=b/2;i++)
if(!(b%i)) n+=i;
if(n==a&&a<b)
printf("%4d..%4d\n",a,b);
}
return 0;
}
心得
现在睡午觉不知道还来不来得及😴