分支结构
第一题
#include "stdio.h" 2 3 int main(int argc, const char *argv[]) 4 { 5 float profit,bonus; 6 printf("请输入当月利润(单位:万元):\n"); 7 scanf("%f",&profit); 8 getchar(); 9 if(profit<=10){ 10 bonus=profit*0.1; 11 } 12 if(profit<=20){ 13 bonus=(profit-10)*0.075+10*0.1; 14 } 15 if(profit<=40){ 16 bonus=(profit-20)*0.05+10*0.075+10*0.1; 17 } 18 if(profit<=60){ 19 bonus=(profit-40)*0.03+20*0.05+10*0.075+10*0.1; 20 } 21 if(profit<=100){ 22 bonus=(profit-60)*0.015+20*0.03+20*0.05+10*0.075+10*0.1; 23 } 24 else{ 25 bonus=(profit-100)*0.01+40*0.015+20*0.03+20*0.05+10*0.075+10*0.1; 26 } 27 printf("应发奖金总数为%g\n",bonus); 28 return 0; 29 }
第二题
#include "stdio.h"
int main(int argc, const char *argv[])
{
int a,b,sum=0;
char c;
printf("请输入你要计算的式子:");
scanf("%d%c%d",&a,&c,&b);
getchar();
switch(c){
case 43:
sum=a+b;
break;
case 45:
sum = a-b;
break;
case 42:
sum = a*b;
break;
case 47:
if(b>0)
sum = a/b;
else
printf("除数不能为零\n");
break;
default:
printf("请输入一个四则运算符\n");
}
printf("%d%c%d=%d\n",a,c,b,sum);
return 0;
}
循环结构
第一题
#include "stdio.h"
int main(int argc, const char *argv[])
{
int i=0,j=0;
while(i<=3){
for(j=0;j<2*i+1;j++){
printf("*");
}
printf("\n");
++i;
}
return 0;
}
第二题
#include "stdio.h"
int main(int argc, const char *argv[])
{
printf("请输入金字塔层数\n");
int sun;
scanf("%d",&sun);
getchar();
for(int i=0;i<=sun;i++){
for(int j=0;j<sun-i;j++){
printf(" ");
}
for(int k=0;k<2*i+1;k++){
printf("*");
}
printf("\n");
}
return 0;
}
第三题
#include "stdio.h"
int main(int argc, const char *argv[])
{
int num,count=0;
for(int i=1;i<=4;i++){
for(int j=1;j<=4;j++){
for(int k=1;k<=4;k++){
if(i!=j&&i!=k&&j!=k){
num=i+j*10+k*100;
printf("%d\n",num);
count++;
}
}
}
}
printf("有%d个互不相同且无重复数字的三位数,\n",count);
return 0;
}
第四题
#include "stdio.h"
int main(int argc, const char *argv[])
{
float sum,a,b,temp;
a=1.0;
b=2.0;
for(int i=0;i<20;i++){
sum+=(b/a);
temp=b;
b+=a;
a=temp;
}
printf("%g\n",sum);
return 0;
}
第五题
#include "stdio.h"
int main(int argc, const char *argv[])
{
int sum=1;
for(int i=10;i>1;i--){
sum = sum*2+1;
}
printf("一共摘了%d个桃.\n",sum);
return 0;
}