资源描述
求int的上限与下限
#include <stdio.h>
//运行时间长,请等待.
int main()
{
int min ,max;
FILE *fin,*fout;
fin=fopen("min of int.out","wb");
fout=fopen("max of int.out","wb");
for(min=-1;min<0;)
{
min-- ;
}
fprintf(fin,"%d\n",min+1);
for(max=1;max>0;)
{
max++ ;
}
fprintf(fout,"%d\n",max-1);
fclose(fin);
fclose(fout);
return 0;
}
1-1
#include <stdio.h>
int main()
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
double average;
average=(a+b+c)/3.0; //一定要将int型转为浮点型
printf("Average=%.3lf",average );
system("pause");
return 0;
}
1-2
#include <stdio.h>
int main()
{
double f,c;
printf("请输入华氏温度f\n");
scanf("%lf",&f);
c=(f-32)*5/9 ;
printf("摄氏温度c=%.3lf\n",c);
system("pause");
return 0;
}
1-3
#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);
printf("%d\n",(1+n)*n/2) ;
system("pause");
return 0;
}
1-4
#include <stdio.h>
#include <math.h>
int main()
{
const double pi =4.0*atan(1.0);
int n;
scanf("%d",&n);
while(n>=360)
{
printf("请输入小于360°的角\n");
scanf("%d",&n);
}
printf("正弦:%lf\n余弦:%lf",sin(n*pi/180),cos(n*pi/180));
system("pause");
return 0;
}
1-5
#include <stdio.h>
#include <math.h>
int main()
{
double x1,y1,x2,y2;
printf("请输入点A的坐标\n");
scanf("%lf%lf",&x1,&y1);
printf("请输入点B的坐标\n");
scanf("%lf%lf",&x2,&y2);
double d;
d=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
printf("%.3lf\n",d);
system("pause");
return 0;
}
1-6
#include <stdio.h>
int main()
{
int a;
scanf("%d",&a);
if(a%2==0)printf("该数是偶数");
else printf("该数非偶数");
system("pause");
return 0;
}
1-7
#include <stdio.h>
int main()
{
const int a=95;
int n;
printf("你要买多少件衣服\n");
scanf("%d",&n);
if(a*n>=300)printf("需要%.2lf元\n",a*n*0.85);
else printf("需要%.2lf元\n",(double)a*n); //由于输出是小数%.2lf,故一定要将int型转化为浮点型
system("pause");
return 0;
}
1-8
#include <stdio.h>
#include <stdio.h>
int main()
{
double a;
scanf("%lf",&a);
if(a>0)printf("%.2lf",a);
else printf("%.2lf",-a);
system("pause");
return 0;
}
1-9(方法一)
#include <stdio.h>
int main()
{
int a,b,c,max,min,middle;
scanf("%d%d%d",&a,&b,&c);
while(a<0||b<0||c<0)
{
printf("三边必须都是大于零的正整数");
scanf("%d%d%d",&a,&b,&c);
}
min=a;if(a>b)min=b;if(a>c)min=c;
max=a;if(a<b)max=b;if(a<c)max=c;
middle=a+b+c-min-max;
if(min+middle>max)printf("yes");
else printf("no");
system("pause");
return 0;
}
1-9(方法二)
#include <stdio.h>
int main()
{
int a,b,c,t=0;
scanf("%d%d%d",&a,&b,&c);
while(a<0||b<0||c<0)
{
printf("三边必须都是大于零的正整数");
scanf("%d%d%d",&a,&b,&c);
}
if(a>b){t=a;a=b;b=t;}
if(a>c){t=a;a=c;c=t;}
if(b>c){t=b;b=c;c=t;}
if(a+b>c)printf("yes");
else printf("no");
system("pause");
return 0;
}
1-10
#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);
if(n%4==0)
{
if(n%100==0)
{
if(n%400==0)
{
printf("yes");
}
else printf("no");
}
else printf("yes");
}
else printf("no");
system("pause");
return 0;
}
3n+1解决篇1
#include <stdio.h>
int main()
{
int count=0;double i,m;
scanf("%lf",&i);
for(;i>1;)
{
m=i/2;
if(floor(m+0.5)!=m){i=3*i+1;i/=2;count+=2;}//floor(x)取x的整数部分.
else {i/=2;count++;}
}
printf("%d\n",count);
system("pause");
return 0;
}
3n+1解决篇2
#include<stdio.h>
int main(){
long long n, count = 0;//long long 的取值范围:-2^63~2^63-1
scanf("%I64d", &n);
while(n > 1) {
if(n % 2 == 1) n = n*3+1;
else n /= 2;
count++;
}
printf("%I64d\n", count);
return 0;
}
数据统计解决篇
#include <stdio.h>
int main()
{
int x,n=0,s=0,min,max;
while(scanf("%d",&x)==1)
{
if(n==0){min=max=x;}//读取第一个数的时候将第一个数赋值给min和max
s+=x;
if(x<min)min=x;
if(x>max)max=x;
n++;
}
printf("%d %d %.3lf\n",min,max,(double)s/n);
system("pause");
return 0;
}
2-1(fin)
#include <stdio.h>
int main()
{
FILE *fin,*fout;
fin=fopen("digit.in","rb");
fout=fopen("digit.out","wb");
/*fin=stdin;
fout=stdout;*/
int a,i=0;
fscanf(fin,"%d",&a);
while(1)
{
a/=10;
i++;
if(a<1)break;
}
fprintf(fout,"%d\r\n",i);
fclose(fin);
fclose(fout);
//system("pause");
return 0;
}
2-1(freopen)
#include <stdio.h>
//#define LOCAL//在编译选项中定义LOCAL
int main()
{
#ifdef LOCAL
freopen("digit.in","r",stdin);
freopen("digit.out","w",stdout);
#endif
int a,i=0;
scanf("%d",&a);
while(1)
{
a/=10;
i++;
if(a<1)break;
}
printf("%d\n",i);
return 0;
}
2-2(freopen)
#include <stdio.h>
//#define LOCAL//编译选项中定义
int main()
{
#ifdef LOCAL
freopen("daffodil.out","w",stdout);
#endif
int a,b,c,m;
for(a=1;a<=9;a++)
{
for(b=0;b<=9;b++)
{
for (c=0;c<=9;c++)
{
m=a*100+b*10+c;
if(m==a*a*a+b*b*b+c*c*c)printf("%d\n",m);
}
}
}
//system("pause");
return 0;
}
2-2(fin)
#include <stdio.h>
int main()
{
FILE *fout;
fout=fopen("daffodil.out","wb");
int a,b,c,m;
for(a=1;a<=9;a++)
{
for(b=0;b<=9;b++)
{
for(c=0;c<=9;c++)
{
m=a*a*a+b*b*b+c*c*c;
if(m==a*100+b*10+c)
fprintf(fout,"%d\r\n",m);
}
}
}
fclose(fout);
return 0;
}
2-3(fin)
#include<stdio.h>
int main()
{
FILE *fin,*fout;
fin=fopen("hanxin.in","rb");
fout=fopen("hanxin.out","wb");
//fin=stdin;
//fout=stdout;
int a,b,c,x,temp=0;//temp用来判断是否在10到100内存在这样的数
fscanf(fin,"%d%d%d",&a,&b,&c);
for(x=10;x<=100;x++)
{
if(x%3==a&&x%5==b&&x%7==c)
{
fprintf(fout,"%d\r\n",x);
temp=1;
break;
}
}
if(!temp)fprintf(fout,"No answer\r\n");
fclose(fin);
fclose(fout);
return 0;
}
2-3(freopen)
#include<stdio.h>
int main()
{
//会在编译选项中定义LOCAL
#ifdef LOCAL
freopen("hanxin.in","r",stdin);
freopen("hanxin.out","w",stdout);
#endif
int a,b,c,x,temp=0;
scanf("%d%d%d",&a,&b,&c);
for(x=10;x<=100;x++)
{
if(x%3==a&&x%5==b&&x%7==c)
{
printf("%d\n",x);
temp=1;
break;
}
}
if(!temp)printf("No answer\n");
return 0;
}
2-4(fin)
#include<stdio.h>
int main()
{
FILE *fin,*fout;
fin=fopen("triangle.in","rb");
fout=fopen("triangle.out","wb");
//fin=stdin;
//fout=stdout;
int n,i,j,k;
fscanf(fin,"%d\r\n",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<i;j++)fprintf(fout," ");
for(k=-2*i+2*n+1;k>=1;k--)fprintf(fout,"*");
fprintf(fout,"\r\n");
}
fclose(fin);
fclose(fout);
return 0;
}
2-4(freopen)
#include<stdio.h>
int main()
{
//在编译选项内定义LOCAL
#ifdef LOCAL
freopen("triangle.in","r",stdin);
freopen("triangle.out","w",stdout);
#endif
int n,i,j,k;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<i;j++)printf(" ");
for(k=2*n+1-2*i;k>=1;k--)printf("*");
printf("\n");
}
return 0;
}
2-5(fin)
#include<stdio.h>
int main()
{
FILE *fin,*fout;
fin=fopen("stat.in","rb");
int n,a,i,m,count=0;
fscanf(fin,"%d",&n);
for(i=1;i<=n+1;i++)
{
fscanf(fin,"%d",&a);
if(i==n+1)m=a;
}
fclose(fin);
fin=fopen("stat.in","rb");
for(i=0;i<=n;i++)
{
fscanf(fin,"%d",&a);
if(i!=0)
{
if(a<m)
count++;
}
}
fclose(fin);
fout=fopen("stat.out","wb");
fprintf(fout,"%d\r\n",count);
fclose(fout);
return 0;
}
2-5(freopen)
#include<stdio.h>
int main()
{
freopen("stat.in","r",stdin);
freopen("stat.out","w",stdout);
int n,a,i,m,count=0;
scanf("%d",&n);
for(i=1;i<=n+1;i++)
{
scanf("%d",&a);
if(i==n+1)m=a;
}
freopen("stat.in","r",stdin);
for(i=0;i<=n;i++)
{
scanf("%d",&a);
if(i!=0)
{
if(a<m)
count++;
}
}
printf("%d\n",count);
return 0;
}
2-6(fin)
#include<stdio.h>
int main()
{
FILE *fin,*fout;
fin=fopen("harmony.in","rb");
int n,i;
double H=0;
fscanf(fin,"%d",&n);
for(i=1;i<=n;i++)
{
H+=(double)1/i;
}
fclose(fin);
fout=fopen("harmony.out","wb");
fprintf(fout,"%.3lf\r\n",H);
fclose(fout);
return 0;
}
2-6(freopen)
#include<stdio.h>
int main()
{
#ifdef LOCAL
freopen("harmony.in","r",stdin);
freopen("harmony.out","w",stdout);
#endif
int n,i;
double H=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
H=H+double/i;
}
printf("%.3lf",H);
return 0;
}
2-7(fin)
#include<stdio.h>
int main()
{
FILE *fout;
int i;
double H=0;
for(i=1;2*i-1<1000000;i++)
{
if(i%2==1)H+=(double)1/(2*i-1);
else H-=(double)1/(2*i-1);
}
fout=fopen("approximation.out","wb");
fprintf(fout,"%lf\r\n",H);
return 0;
}
2-7(freopen)
#include<stdio.h>
int main()
{
#ifdef LOCAL
freopen("approximation.in","r",stdin);
freopen("approximation.out","w",stdout);
#endif
int i;
double H=0;
for(i=1;2*i-1<1000000;i++)
{
if(i%2==1)H+=(double)1/(2*i-1);
else H-=(double)1/(2*i-1);
}
printf("%lf",H);
return 0;
}
2-8(fin,double)
#include<stdio.h>
#include<time.h>
int main()
{
FILE *fin,*fout;
fin=fopen("subsequence.in","rb");
fout=fopen("subsequence.out","wb");
int n,m,i;
double H=0;
double ii;
fscanf(fin,"%d%d",&n,&m);
for(i=n;i<=m;i++)
{
ii=(double)i*i;
H+=1/ii;
}
fprintf(fout,"%.5lf\r\n",H);
fprintf(fout,"%.2lf\r\n",(double)clock()/CLOCKS_PER_SEC);//比较double和long long运行效率
fclose(fin);
fclose(fout);
return 0;
}
2-8(fin,long long)
#include<stdio.h>
#include<time.h>
int main()
{
FILE *fin,*fout;
fin=fopen("subsequence.in","rb");
fout=fopen("subsequence.out","wb");
int n,m,i;
double H=0;
fscanf(fin,"%d%d",&n,&m);
for(i=n;i<=m;i++)
{
long long ii=1;//定义
ii=ii*i*i; //不用ii=i*i也不是ii*=i*i,这样做是为了防止i*i溢出; 可以认为这一步将int型转化为long long 型
H+=1/(double)ii;//不是(double)1/ii
}
fprintf(fout,"%.5lf\r\n",H);
fprintf(fout,"%.2lf\r\n",(double)clock()/CLOCKS_PER_SEC); ////比较double和long long运行效率
fclose(fin);
fclose(fout);
return 0;
}
2-8(freopen)
#include<stdio.h>
#define LOCAL
int main()
{
#ifdef LOCAL
freopen("subsequence.in","r",stdin);
freopen("subsequence.out","w",stdout);
#endif
int n,m,i;
double H=0,ii;
scanf("%d%d",&n,&m);
for(i=n;i<=m;i++)
{
H+=1/((double)i*i);
}
printf("%.5lf\n",H);
return 0;
}
2-9(fin)
#include<stdio.h>
int main()
{
FILE *fin,*fout;
fin=fopen("decimal.in","rb");
fout=fopen("decimal.out","wb");
int a,b,c;
fscanf(fin,"%d%d%d",&a,&b,&c);
fprintf(fout,"%.*lf\r\n",c,(double)a/b);
fclose(fin);
fclose(fout);
return 0;
}
2-9(freopen)
#include<stdio.h>
int main()
{
#ifdef LOCAL
freopen("decimal.in","r",stdin);
freopen("decimal.out","w",stdout);
#endif
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
printf("%.*lf",c,(double)a/b);
return 0;
}
2-10(全书看完再看这段代码)
#include<cstdio>
#include<algorithm>
using namespace std;
int main()
{
freopen("permutation.ans","w",stdout);
int d[]={1,2,3,4,5,6,7,8,9};
do
{
int a=d[0]*100+d[1]*10+d[2];
int b=d[3]*100+d[4]*10+d[5];
int c=d[6]*100+d[7]*10+d[8];
if(c==3*a&&b==2*a)printf("%d %d %d\n",a,b,c);
}while(next_permutation(d,d+9));
return 0;
}
展开阅读全文