while和do-while实验
- 格式:doc
- 大小:82.50 KB
- 文档页数:6
#include <stdio.h>
void main()
{
int i=1,c=0;
while(i<=100)
{
if(i%7==0)
{
printf("%d\n",i);
c++;
}
i++;
}
printf("能被7整除的个数为%d\n",c);
}
2、用do—while完成。,当输入的数小于100时,提示输入数据错误重新输入.,循环控制当输入一个大于100的数时,循环结束
星号个数是2*i-1。
#include <stdio.h>
void main()
{
int i=1,j;
while(i<=4)
{
j=1;
while(j<=4-i)
{
printf(" ");
j++;
}
j=1
while(j<=2*i-1)
{
printf("*");
j++;
}
printf("\n");
i++;
#include <stdio.h>
void main()
{
int an=5,b;
printf("请输入一个1-10的数:");
do
{
scanf("%d",&b);
if(b<an)
printf("太小了!\n");
else if(b>an)
printf("太大了!\n");
}while(b!=an);
j++;
}
printf("\n");
i++;
}
}
7、题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
#include<stdio.h>
void main()
{
int a,n,i=1,s=0,t=0;
#include <stdio.h>
void main()
{
int b;
printf("请输入一个数:");
do
{
scanf("%d",&b);
if(b<=100)
printf("输入出错!\n请重新输入:");
}while(b<=100);
}
3、猜数游戏:
要求:提示:猜一个介于1~10之间的数字,根据用户猜测的数与标准值进行对比,并给出提示(如果用户输入的数比较大,提示“太大了!”),以便下次猜测能接近标准值,直到猜中为止。
{
j=1;
while(j<=i)
{
printf("*");
j++;
}
printf("\n");
i++;
}
}
用do_while写。
void main()
{
int i=1,j;
do
{
j=1;
do
{
printf("*");
j++;
}while(j<=i);
printf("\n");
i++;
}while(i<=10);
}
}
6、当我输入5,打印如下图案,
(1)算法分析:从图案中找出行数,空格数,星号数间的关系如下:
行数空格数星号数
行数
空格数
星号数
1
0
7
2
1
5
3
2
3
4
3
1
i
i-1
9-2*i
可用双重循环控制整个图案的输出。若用循环变量i,j分别控制外层,内层循环,则
i的取值从1到4,表示行数,在每行中要确定前面空格个数和星号个数,空格个数是i-1,
scanf("%d%d",&a,&n);
do
{
t=a+t;
s=s+t;
a=a*10;
i++;
}while(i<=n);
printf("%d",s);
}
星号个数是9-2*i。
#include <stdio.h>
void main()
{
int i=1,j,n;
scanf("%d",&n);
while(i<=n)
{
j=1;
while(j<=i-1)
{
printf(" ");
j++;
}
j=1;
while(j<=2*n+1-2*i)
{
printf("*");
printf("恭喜你,答对了!\n");
}
4、问题描述:
用“*”打印一个直角三角形图案。图案如下所示:
*
**
***
****
*****
******
*******
********
*********
**********
#include <stdio.h>
void main()
{
int i=1,j;
while(i<=10)
}
5、打印如下图案
(1)算法分析:从图案中找出行数,空格数,星号数间的关系如下:
行数空格数星号数
行数
空格数
星号数
1
3
1
2
2
3
3ቤተ መጻሕፍቲ ባይዱ
1
5
4
0
7
i
4-i
2*i-1
1 3 1
2 2 3
3 1 5
4 0 7
i 4-i 2*i-1
可用双重循环控制整个图案的输出。若用循环变量i,j分别控制外层,内层循环,则
i的取值从1到4,表示行数,在每行中要确定前面空格个数和星号个数,空格个数是4-i,