sj7
sj7_1
/*分析结果*/
#include <stdio.h>
main()
{
int i=1,sum=0;
loop:if(i<=100)
{
sum+=i++;
goto loop;
}
printf("sum=%d\n",sum);
}
sj7_2
/*分析运行结果*/
#include <stdio.h>
main()
{
short int i=1,sum=0;
while(i<=100)
{
if(i%2!=0)
sum+=i++;
i++;
}
printf("%d\n",sum);
}
sj7_2_1
/*死循环如何克服?*/
#include <stdio.h>
main()
{
short int i=1,sum=0;
while(i<=100)
{
if(i%2==0)
{ sum+=i++;
i++;
}
}
printf("%d\n",sum);
}
sj7_2_2
/*改造下列程序,使其能求出1-100中的偶数和*/
#include <stdio.h>
main()
{
short int i=1,sum=0;
while(i<=100)
{
if(i%2==0)
sum+=i;
i+=2;
}
printf("%d\n",sum);
}
sj7_2_3
/*p129_2*/
#include <stdio.h>
#include <string.h>
void main()
{
char c;
int ch=0,sp=0,dg=0,ot=0;
while((c=getchar())!='\n')
{
if(c>='a'&&c<='z'||c>='A'&&c<='Z') ch++;
else
if(c>='0'&&c<='9') dg++;
else
if(c==' ') sp++;
else ot++;
}
printf("ch=%d,sp=%d,dg=%d,ot=%d\n",ch,sp,dg,ot);
}
sj7_3
/*将下列程序改为:10元换为5角与1元的组合*/
#include <stdio.h>
main()
{
int x,y;
for(y=1;y<=4;y++)
{
x=10-2*y;
printf("x=%d,y=%d\n",x,y);
}
}
sj7_3_1
#include <stdio.h>
main()
{
int x,y;
for(y=1;y<=9;y++)
{
x=20-2*y;
printf("x=%d,y=%d\n",x,y);
}
}
sj7_4
/*p129_8*/
#define N 20
#include <stdio.h>
void main()
{
float s=0.0;
int a=2,b=1,t,n;
for(n=1;n<=N;n++)
{
s=s+_______;
/*分别填入(float)a/b,(float)(a/b),1.0*a/b,a/b*1.0
其结果如何?说明原因。*/
t=a;a=a+b;b=t;
}
printf("%.2f\n",s);
}
sj7_5
/*分析运行结果,并在循环体中修改,使其为有限循环*/
#include <stdio.h>
main()
{
short int i=0,s=0;
for(;;)
{
s+=i++;
printf("%hd\n",s);
}
}
}
sj7_6
/*分析运行结果,并在循环体中修改,使其为有限循环*/
#include <stdio.h>
main()
{
short int i=1,sum=0;
while(1)
{
sum+=i++;
printf("sum=%d,i=%d\n",sum,i);
if(i%100==0) getchar();
}
}
sj7_7_1
#include <stdio.h>
main()
{
short int x;
scanf("%d",&x);
while(x)
{
printf("%hd",x%10);
x=x/10;
}
printf("\n");
}
sj7_7_2
#include <stdio.h>
main()
{
short int x;
scanf("%d",&x);
for(;x;)
{
printf("%hd",x%10);
x=x/10;
}
printf("\n");
}
sj7_7_3
#include <stdio.h>
main()
{
short int x;
scanf("%d",&x);
do
{
printf("%hd",x%10);
x=x/10;
}while(x);
printf("\n");
}