笔记:
1、do..while(继续语句); do..while(终止条件);
2、数据递增
while( i <= no)
printf("%d", i++);
3、限定此数循环操作
while(no-- > 0)
putchat('*');
putchat('\n');
套路1:
do while语句,持续运行
do{
}while(持续条件)或while(!终止条件)
练习题:
4-1
#include
void main()
{
int a,b,c,d,max1;
c = 0;
do
{
/* code */
puts("请输入一个整数");scanf("%d",&a);
if(a%2)
puts("不能被2整除");
else
puts("能被2整除");
c++;
printf("这是输入的第%d次\n还想继续输入吗?是..1,否..0\n",c); scanf("%d",&b);
} while (b==1);
printf("结束,您一共运行了%d次\n",c);
}
4-2
#include
void main()
{
int a,b,c,d,max1;
puts("请输入整数a:");scanf("%d",&a);
puts("请输入整数b:");scanf("%d",&b);
c = 0;
if(a>b)
{d=a;a=b;b=d;}
do{
c += a++;
}while(a<=b);
printf("整数%d到整数%d之间的和为%d\n",a,b,c);
}
4-3
#include
void main()
{
int a,b,c,d,max1;
puts("请输入整数a:");scanf("%d",&a);
//puts("请输入整数b:");scanf("%d",&b);
while(a>=0)
{
printf("%d ",a);
a--;
}
if(a>=-1)
printf("\n");
}
4-4
#include
void main()
{
int a,b,c,d,max1;
puts("请输入整数a:");scanf("%d",&a);
while(a>=1)
printf("%d ",a--);
if(a>=0)
printf("\n");
}
4-5
#include
void main()
{
int a,b,c,d,max1;
puts("请输入整数b:");scanf("%d",&b);
a=0;
while(a <= b)
printf("%d ",a++);
if(b >= 0)
printf("\n");
}
4-6
#include
void main()
{
int a,b,c,d,max1;
puts("请输入整数b:");scanf("%d",&b);
a=1;
while(a <= b)
{
if(a%2)
printf(" ");
else
printf("%d",a);
a++;
}
printf("\n");
}
4-7
#include
void main()
{
int a,b,c,d,max1;
puts("请输入整数b:");scanf("%d",&b);
a=2;
while(a <= b)
{
printf("%d ",a);
a *= 2;
}
printf("\n");
}
4-8
#include
void main()
{
int a,b,c,d,max1;
puts("请输入整数a:");scanf("%d",&a);
while(a-->0)
putchar('*');
if(a>=-1)
putchar('\n');
}
4-9
#include
void main()
{
int a,b,c,d,max1;
puts("请输入整数a:");scanf("%d",&a);
while(a>0)
{
if(a%2)
putchar('+');
else
putchar('-');
a--;
}
}
4-10
#include
void main()
{
int a,b,c,d,max1;
puts("请输入整数a:");scanf("%d",&a);
while(a>0)
{
puts("*");
a--;
}
}
4-11
#include
void main()
{
int a,b,c,d,max1;
puts("请输入整数a:");scanf("%d",&a);
while(a>0)
{
printf("%d",a%10);
a /= 10;
}
putchar('\n');
}
4-12(在上题基础上改)
void main()
{
int a,b=0,c,d,max1;
puts("请输入整数a:");scanf("%d",&a);
while(a>0)
{
printf("%d",a%10);
a /= 10;
b++;
}
putchar('\n');
printf("是%d位数\n",b);
}
4-13
#include
void main()
{
int a,b=0,c=0,max1=0;
puts("请输入你想加到几?");scanf("%d",&b);
for(a=1;a<=b;a++)
{
max1 += a;
}
printf("他们的和是%d\n",max1);
}
4-14
#include
void main()
{
int a,b=1,c=0,max1=0;
puts("请输入你想加到几?");scanf("%d",&b);
for(a=1;a<=b;a++)
{
c++;
if(c>9)
c = 0;
printf("%d\n",c);
}
}
4-15
#include
void main()
{
int a,start,stop,interval;
printf("开始数值:");scanf("%d",&start);
printf("终止数值:");scanf("%d",&stop);
printf("间隔数值:");scanf("%d",&interval);
for(a = start;a <= stop;a += interval)
{
printf("%dcm %.2fkg\n",a,(a-100)*0.9);
}
}
4-16
#include
void main()
{
int a,b;
printf("请输入一个整数:");scanf("%d",&a);
for(b=0;b<=a;b++)
{
if(b%2)
printf("%d",b);
else
putchar(' ');
}
putchar('\n');
}
4-17
#include
void main()
{
int a,b;
printf("请输入一个整数:");scanf("%d",&b);
for(a=1;a<=b;a++)
printf("%d的二次方是%d\n",a,a*a);
}
4-18
#include
void main()
{
int a,b,c=0;
printf("请输入一个整数:");scanf("%d",&b);
for(a=0;a
4-19
#include
void main()
{
int a,b,c=0;
printf("请输入一个整数:");scanf("%d",&b);
for(a=1;a<=b;a++)
{
if(b%a==0)
{
c++;
printf("%d ",a);
}
}
putchar('\n');
printf("约数的个数为%d\n",c);
}
4-20
//待做
4-21
#include
void main()
{
int a;
puts("请输入正方形有几层:");scanf("%d",&a);
for(int i=1;i<=a;i++)
{
for(int j=1;j<=a;j++)
putchar('*');
putchar('\n');
}
}
4-22
#include
void main()
{
int a,b;
printf("长方形的长是:");scanf("%d",&a);
printf("长方形的宽是:");scanf("%d",&b);
for(int i=1;i<=b;i++)
{
for(int j=1;j<=a;j++)
putchar('*');
putchar('\n');
}
4-23
4-24
#include
void main()
{
int a,b;
printf("金字塔有多少层:");scanf("%d",&a);
for(int i=1;i<=a;i++)
{
for(int j=1;j<=a-i;j++)
{
putchar(' ');
}
for(int j=1;j<=(i-1)*2+1;j++)
{
putchar('*');
}
putchar('\n');
}
}
4-25
#include
void main()
{
int a,b;
printf("金字塔有多少层:");scanf("%d",&a);
for(int i=1;i<=a;i++)
{
for(int j=1;j<=i;j++)
{
putchar(' ');
}
for(int j=1;j<=(a-i)*2+1;j++)
{
printf("%d",i%10);
}
putchar('\n');
}
}