linux c控制语句合集,【一点一滴学嵌入式Linux】C语言基础之流程控制语句及编程小试...

1.求N的阶乘。

multineN.c

#include

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

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

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

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

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

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

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

#include

main()

{

time_t t;

time(&t);

printf("1970年1月1日到现在一共有 %ld 天\n", t/60/60/24);

}

9.输入3个整数,按从大到小的顺序输出

IntegerSortOut.c

#include

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

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);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值