题目1:
一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
分析:
我们在10万以内对每一个数进行判断,定义长整形变量a,加一百以后的开方为整形变量b,加268以后开方值位整形变量c,判断bb是否与a+100相等,且cc是否与a+268相等,若成立则输出变量a。
代码:
#include <stdio.h>
#include <math.h>
int main()
{
long i=0,b,c;//定义三个长整形变量
while (i<=100000)
{
b=sqrt(i+100);//i+100的平方根整数部分
c=sqrt(i+268);//i+168的平方根整数部分
if(b*b==i+100&&c*c==i+268)
printf("%ld\n",i);//打印结果
i=i+1;
}
return 0;
}
题目2:1到10000奇数和、偶数和、整数和
#include <stdio.h>
int main()
{
int i=1,s=0;
while(i<=10000)
{
s=s+i;
i=i+2-1;
}
printf("1+2+3+....+10000=%d",s) ;
return 0;
}
题目3:数字1到8组成的不相同且三位数字各不相同的三位数
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i=1,j,k;
while(i<9)
{
j=1;
while(j<9)
{
k=1;
while(k<9)
{
if(i!=j && i!=k && j!=k)
printf("%d%d%d,",i,j,k);
k=k+1;
}
j=j+1;
}
i=i+1;
}
return 0;
}
求1+1/2+1/3···`+1/10
#include<stdio.h>
int main()
{
double i,s;
i=1;
s=0;
while(i<=10)
{
s=s+1/i;
i=i+1;
}
printf("%f",s);
return 0;
}
求1+1/2+1/3···`+1/n
#include<stdio.h>
int main()
{
double i,s,n;
s=0;
i=1;
scanf("%lf",&n);
while(i<=n)
{
s=s+1/i;
i=i+1;
}
printf("%f",s);
return 0;
}
求nn+(n-1)(n-1)···2*2+1
#include<stdio.h>
int main()
{
int i ,n,s;
s=0;
scanf("%d",&n);
i=n;
while(i>=1)
{
s=s+i*i;
i=i-1;
}
printf("%d",s);
return 0;
}
一个整数加上100后是一个完全平方数,再加上168又是一个完全平方数。求这个数
#include<stdio.h>
#include<math.h>
int main()
{
int i,a,b;
i=0;
while(i<=10000)
{
a=sqrt(i+100);
b=sqrt(i+268);
if((i+100)==a*a && (i+268)==b*b)
printf("%d ",i);
i++;
}
return 0;
}
do-while循环
do
{
——;
}
while();
不完全等同于while循环
例:
#include<stdio.h>
int main()
{
int i,s=0;
i=1;
do
{
s=s+i;
i++;
}
while(i<=10);
printf("%d",s);
}
do while 与while的区别
do while 无论是否满足条件,都先执行一次循环
while如果不满足条件就不执行
用do-while做1+1/2+···+1/10
#include<stdio.h>
int main()
{
double i,s=0;
i=1;
do
{
s=s+1/i;
i++;
}
while(i<=10);
printf("%f",s);
}
用do~while循环解决完全平方数问题
n+100是完全平方数且n+268是完全平方数,求 n
#include<stdio.h>
#include<math.h>
int main()
{
int n,a,b;
n=0;
do
{
a=sqrt(n+100);
b=sqrt(n+268);
if(n+100 == a*a && n+268 == b*b)
{
printf("%d ",n);
}
n++;
}
while(n<=10000);
return 0;
}
多个数相加求和、求平均值
#include<stdio.h>
int main()
{
double sum = 0; //和
double count = 0; //整数个数
int retry; //判断是否继续
do{
int t;
printf("请输入一个整数:");
scanf("%d",&t);
sum = sum + t;
count = count + 1;
printf("是否继续?<Yes...0/No...任意数:");
scanf("%d",&retry);
} while(retry == 0);
printf("和为%d,平均值为%.2f。\n",sum,sum / count);
return 0;
}