您的位置:首页 > 编程语言 > C语言/C++

c语言基础训练(三)循环

2018-03-16 11:13 211 查看
#include<stdio.h>
int main()
{
//习题2.5 分数化小数  输入正整数abc 输出a/b附件小树形式 精确到小数点后c位
int a , b, c, kase=0;
while(scanf("%d%d%d",&a,&b,&c))
{
if(a==0&&b==0&&c==0)
{
break;
}
else printf("Case%d:%.*lf\n",++kase,c,(double)a/b); 
}
/* //习题2.4 子序列的和 输入两个正整数n<m<10的六次 ,
int n , m , kase=0, temp;
while(scanf("%d%d\n",&n,&m))
{
double sum=0;
if(n>m){
temp=n;
n=m;
m=temp;
}else if(n==0&&m==0){
break;
}
for(int i=n; i<=m; i++)
{
sum+=1.0/i/i;
}
printf("Case%d:%.5lf\n",kase++,sum);
}

/*
//习题2.3 倒三角形
int n; 
scanf("%d",&n);
for(int i=n ; i>=0 ; i--) //i控制行数
{
for(int j=n-i ; j>0 ; j--) //打印空格数 
{
printf(" ");
}
for(int j=2*i-1;j>0;j--) //控制列数打印的#数目 
{
printf("#");
}
printf("\n"); 

/*
//习题2.2 韩信点兵 输入包含多组数据,
//每组数据包含3个非负整数a,b,c,表示每种队形排尾的人数(a<3,b<5,c<7)
//输出总人数的最小值(或报告无解)。已知总人数不小于10,不超过100。 
int i , a , b ,c , sum,kase=0,noanswer=0;
while(scanf("%d%d%d",&a,&b,&c))
{
for(i=10 ; i<=100 ; i++)
{
if(i%3==a&&i%5==b&&i%7==c)
printf("Case %d:%d\n",++kase,i);
noanswer=0;
}
if(noanswer)
printf("no answer\n");
noanswer=1;
}
/*习题2.1 输出100~999中的所有水仙花数
int i,ge,shi,bai;
for(i=100 ; i<=999 ; i++)
{
ge=i%10;
shi=i/10%10;
bai=i/100;
if(ge*ge*ge+shi*shi*shi+bai*bai*bai==i)
printf("%d\n",i);


/*例题2.6输入一些整数,
求出它们的最小值、最大值和平均值(保留3位小数)。
输入包含多组数据,每组数据第一行是整数个数n,
第二行是n个整数。n=0为输入结束标记 
int n, max,min,zu=0,x,s=0;
double average;
while(scanf("%d",&n)==1)
{
for(int i =0 ; i<n ; i++)
{
scanf("%d",&x);
s+=x;
if(x<min) min=x;
if(x>max) max=x;
average=s/n;
}
if(zu) printf("\n");
printf("Case %d: %d %d %.3f\n", ++zu, min, max,average);

}

/*昨天的阶乘题有点不懂 
int n,S=0;
scanf("%d",&n);
for(int i=1 ; i<=n ; i++)
{
int jie=1;          //阶乘的声明必须定义在循环里,
//每执行一次循环就要重新声明一次 
for(int j=1 ; j<=i ; j++)
{
jie*=j;
}
S+=jie;     //1+2+3 ????不懂 
}
printf("%d\n",S%1000000);
*/return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: