mice.rar
1.求N的阶乘。
multineN.c
#include <stdio.h>
main()
{ unsigned long N, i, mul;
printf("请输入N:");
scanf("%ld", &N);
for(i=1, mul=1; i<=N; i++)
mul*=i;
printf("%ld 的阶乘为 %lu\n", N, mul);
}
2.输入10个整数,统计出正数之和,负数之和,奇数之和,偶数之和
CountInteger.c
#include <stdio.h>
main()
{ long i, j[10], pos, neg, odd, even;
pos = 0;
neg = 0;
odd = 0;
even = 0;
printf("请输入十个整数:\n");
for( i=0; i<10; i++)
{ scanf("%ld", j+i);
if(j[i]>0)
pos+=j[i];
else
neg+=j[i];
if(j[i]%2)
odd+=j[i];
else
even+=j[i];
}
for( i=0; i<10; i++)
printf("%ld ", j[i]);
printf("\n\n");
printf( "正数和:%ld\n"
"负数和:%ld\n"
"奇数和:%ld\n"
"偶数和:%ld\n\n", pos, neg, odd, even);
}
3.利用循环语句求1-1/3+1/5-1/7....+1/(2n-1)(100项的和)
FractionSum.c
#include <stdio.h>
main()
{ double f=0;
int n=1;
while( n <= 100 )
{ if ( n % 2 )
f=f+((double)1/(n*2-1));
else
f=f-((double)1/(n*2-1));
n=n+1;
}
printf("1-1/3+1/5...-1/197+1/199 = %10.10f\n", f );
}
4.输入三角形三边的长,判断其是否能够组成三角形,并指出是什么三角形
Triangle.c
#include <stdio.h>
main()
{ unsigned long A, B, C;
printf("请输入三角形的三个边长:\n");
scanf("%ld %ld %ld", &A, &B, &C );
if( A>=(B+C) || B>=(A+C) || C>=(A+B) )
printf("%ld %ld %ld 不能组成三角形\n", A, B, C);
else if( A==B && B==C )
printf("%ld %ld %ld 可以组成等边三角形\n", A, B, C);
else if( A==B || B==C || A==C )
{ if( A*A==(B*B+C*C) || B*B==(A*A+C*C) || C*C==(A*A+B*B) )
printf("%ld %ld %ld 可以组成等腰直角三角形\n", A, B, C);
else
printf("%ld %ld %ld 可以组成等腰三角形\n", A, B, C);
}
else if( A*A==(B*B+C*C) || B*B==(A*A+C*C) || C*C==(A*A+B*B) )
printf("%ld %ld %ld 可以组成直角三角形\n", A, B, C);
else
printf("%ld %ld %ld 可以组成三角形\n", A, B, C);
}
5.任意输入一个整数,算出它的位数,列如12345, 5位
IntegerLength.c
#include <stdio.h>
main()
{ long i, j=0, k;
printf("请输入一个整数:\n");
scanf( "%ld", &i );
k = i;
while(i)
{ j++;
i/=10;
}
if(!j)
j++;
printf("%ld 为%ld位整数\n", k, j);
}
6.输入三个整数a,b,c,然后交换它们的值,使得a存放b的值,b存放c的值,c存放a的值
IntegerMove.c
#include <stdio.h>
main()
{ int a, b, c, t;
printf("请输入三个整数:");
scanf("%d %d %d", &a, &b, &c);
printf("交换前 a=%d, b=%d, c=%d\n", a, b, c);
t=a;
a=b, b=c, c=t;
printf("交换后 a=%d, b=%d, c=%d\n", a, b, c);
}
7.输入 年,月,输出这个月有多少天?
DaysOfMonth.c
#include <stdio.h>
main()
{ int y, m, d;
printf("请输入年月:");
scanf("%d %d", &y, &m);
switch(m)
{ case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
d = 31;
break;
case 4:
case 6:
case 9:
case 11:
d = 30;
break;
case 2:
d = 28+(!(y%4) && y%100 || !(y%400));
break;
default:
printf("请输入正确的月份!\n");
exit();
}
printf("%04d年%d月有%d天\n", y, m, d);
}
8.编写一个程序,算出从1970年1月1号至今一共有多少天。
days.c
#include <time.h>
#include <stdio.h>
main()
{
time_t t;
time(&t);
printf("1970年1月1日到现在一共有 %ld 天\n", t/60/60/24);
}
9.输入3个整数,按从大到小的顺序输出
IntegerSortOut.c
#include <stdio.h>
main()
{ int i[3];
int j, k, l;
printf("请输入3个整数: ");
scanf("%d %d %d", i, i+1, i+2);
for(j=0; j<2; j++)
{ for(k=j+1; k<3; k++)
l=i[j]>=i[k] ? j : k;
if(l==j)
continue;
k=i[j];
i[j]=i[l];
i[l]=k;
}
printf("从大到小的顺序为: %d %d %d\n", i[0], i[1], i[2]);
}
10.输入任意一个正整数,将其反转并输出,例如345,输出543
IntegerReverse.c
#include <stdio.h>
main()
{ unsigned long i, j, ri;
printf("请输入一个整数:");
scanf("%ld", &i);
j=i;
ri=0;
while(j/10)
{ ri=ri*10+j%10;
j/=10;
}
ri=ri*10+j;
printf("%ld 倒过来是 %d\n", i, ri);
}