第一题
#include "stdio.h"
void swap(int &a, int &b)
{
int temp = a;
a = b;
b = temp;
}
int main()
{
int x, y, z;
scanf("%d%d%d", &x, &y, &z);
if (x > y)
swap(x, y);
if (y > z)
swap(y, z);
if (x > y)
swap(x, y);
printf("%d, %d, %d\n", x, y ,z);
return 0;
}
第二题
#include "stdio.h"
unsigned int Factorial(int x)
{
unsigned int result = 1;
if (x != 0)
{
unsigned int i;
for (i = 1; i <= x; i++)
{
result *= i;
}
}
return result;
}
int _tmain(int argc, _TCHAR* argv[])
{
unsigned int result = 0;
int i;
for (i = 1; i <= 20; i++)
{
result += Factorial(i);
}
printf("%u", result);
return 0;
}
第三题
#include "stdio.h"
int _tmain(int argc, _TCHAR* argv[])
{
int value;
int i;
for (value = 2 * 5 * 9; value <= 5000; value += 2 * 5 * 9)
{
printf("%d\n", value);
}
return 0;
}
好了,三个题都在这了。编译测试过。
第一题:
#include
void main()
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a>b && b>c)
printf("%d-%d-%d",c,b,a);
if(a>c && c>b)
printf("%d-%d-%d",b,c,a);
if(b>a && a>c)
printf("%d-%d-%d",c,a,b);
if(b>c && c>a)
printf("%d-%d-%d",a,c,b);
if(c>b && b>a)
printf("%d-%d-%d",a,b,c);
if(c>a && a>b)
printf("%d %d %d",b,a,c);
}
第二题:
#include
int main()
{
long Number=1,Sum=0;
short int i;
for(i=1;i<=20;i++)
{
Number=Number*i;
Sum=Sum+Number;
}
printf("%ld\n",Sum);
return 0;
}
第三题:
#include
void main()
{
int i,sum=0;
for(i=9;i<=5000;i++)
if( i%2==0 && i%5==0 && i%9==0 )
{
printf("%d ",i);
sum++;
if(sum%10==0)
printf("\n"); //每10个数换行
}
printf("\n");
printf("sum=%d\n",sum);
}
#include "stdafx.h"
#include
void fun(int &x,int &y)
{
int t;
if(x>y) {t=x; x=y; y=t;}
}
void main()
{
int a,b,c;
printf("请输入三个整数:");
scanf("%d%d%d",&a,&b,&c);
fun(a,b);
fun(a,c);
fun(b,c);
printf("排序后:%d %d %d\n",a,b,c);
}
------------------------------------------------------------------------------
//一般地,int 型只能算到12的阶乘,大于12就得用大数的方法了,回忆了一下,弄出来了
#include "stdafx.h"
#include
const int B=100000; //数组大小为100000,每一节数表示五位
int a[10]={1},b[10]={1}; //数组大小可调,够大就行
int la=1,lb=1;//a[]和b[]的长度
//小数num乘大数a[]
void mult(int a[],int num)
{
int i,carry=0;
for(i=0;i
carry=a[i]*num+carry;
a[i]=carry%B;
carry=carry/B;
}
if(carry!=0) {a[la]=carry;la++;}
}
//两大数相加
void add(int a[],int b[])
{
int i,carry=0;
if(la>lb) lb=la;
for(i=0;i {
carry=a[i]+b[i]+carry;
if(carry else{b[i]=carry-B;carry=1;}
}
if(carry!=0) {b[lb]=1;lb++;}
}
void main()
{
int i,n;
printf("请输入n: ");
scanf("%d",&n);
for(i=2;i<=n;i++)
{
mult(a,i);//每运算一次,得一个阶乘数
add(a,b); //紧接着,累加到b[]上
}
//输出结果
printf("%d",b[lb-1]);
for(i=lb-2;i>=0;i--)
printf("%05d",b[i]);//格式输出,五位,不足则填0
printf("\n");
}
//四楼的方法的确不错,用了64位的数据类型,也就避免了复杂的大数运算
------------------------------------------------------------------
//因为2,5,9得最小公倍数是90,能被他们整除得数必是90得倍数
//故枚举5000以内90的倍数即可
#include "stdafx.h"
#include
void main()
{
int i=1;
for( ;i*90<=5000;i++)
printf("%5d",i*90);
printf("\n共%d个数。",i-1);
}
程序1:
#include
int main()
{
int t,a,b,c;
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;
}
printf("%d %d %d\n",a,b,c);
return 0;
}
程序2:
#include
int main()
{
__int64 s=0,n,i,j;
for(i=1;i<=20;i++)
{
n=1;
for(j=1;j<=i;j++) //求第i个数的阶乘;
n*=j;
s+=n; //把1-20的每个数的阶乘相加;
}
printf("%I64d\n",s);
return 0;
}
程序3:
#include
int main()
{
int count=0,n,d[100],j=0,i;
for(n=1;n<=5000;n++)
{
if(n%90==0) //90是2、5、9的最小公倍数;
{
d[j++]=n; //保存满足要求的数据;
count++; //统计个数;
}
}
printf("%d\n",count);
for(i=0;i
printf("\n");
return 0;
}
一定没好好没C吧 这么简单的问题额 书上都有的 好好看看书 对你会有帮助的
我相信 我写出代码发给你 你也不会认真看的 对吧 呵呵 快毕业的 以后就没有大学的生活了 好好珍惜这最后的时间吧
毕业设计一定要自己做啊 加油