学c语言可以写什么程序练手,感谢C语言吧吧友奉上的C语言小程序练习---初学者练手...

1)输入1个整数,输出它的绝对值。

#include

void main()

{

int a;

scanf("%d",&a);

if(a>=0)

printf("%d\n",a);

else

printf("%d\n",-a);

}

2)输入2个整数,求两数的平方和并输出。

#include

void main()

{

int a, b;

scanf("%d%d", &a, &b);

printf("%d", a * a + b * b);

}

3)输入1个整数,判断该数是奇数还是偶数。

#include

main(void)

{

int a;

printf("please input your number:");

scanf("%d",&a);

if(a%2==0)

printf("%d is ou\n",a);

else

printf("%d is ji\n",a);

return 0;

}

4)输入正整数n,输出1+1/3+1/5+1/7+…前n项的和.(输入的n<=10)

#include

void main()

{

int n;

float sum=0;

for(n=1;n<=10;n++)

{ sum=sum+1.0/(2*n-1); }

printf("%f",sum);

}

5)输入一个正整数n, 计算 1 - 1/3 + 1/5 - 1/7 + … 的前 n(n>10) 项之和。

#include

void main()

{

int n,i=1,m;

float a=0;

printf("输入一个正整数N:");

scanf("%d",&n);

for(m=1;m!=(n+1);m++)

{ a+=i*1.0/(2*m-1);

i=-i; }

printf("结果为:%f",a);

}

6)输入一个整数,判断该数是奇数还是偶数。要求必须使用if-else结构实现。

#include

void main()

{

int a;

printf("please enter a number:");

scanf("%d",&a);

if(a%2==0)

printf("该数为偶数");

else

printf("该数为奇数");

}

7)输入一批学生的成绩,找出最高分。

#include

#define N 5 //通过改变宏定义,改变数组元素的个数

void main()

{

int a[N];

int i;

int max;

max=a[0];

printf("请输入一组学生成绩(假设有5位学生成绩,且学生成绩都是整数型)\n");

for(i=0;i

{

scanf("%d",&a[i]);

// printf("%f\n",a[i]);

}

for(i=0;i

{

if(max

max=a[i];

}

printf("学生成绩最高分为:%d\n",max);

}

8)输入三个整数,分别存在变量x,y,z中。编程输出最大数。

#include

void main()

{

int x,y,z;

scanf("%d%d%d",&x,&y,&z);

if(x>y)

{if(x>z)

printf("最大数是%d\n",x);

else printf("最大数是%d\n",z);

}

else if(y>z)

printf("最大数是%d\n",y);

else printf("最大数是%d\n",z);

}

9)输入一个字母,判断是大写字母还是小写字母,并输出信息。

#include

void main()

{

char c;

scanf("%c",&c);

if(c>=97&&c<=122)

printf("这是一个小写字母\n");

else if(c>=65&&c<=90)

printf("这是一个大写字母\n");

}

10)输入你和你朋友的年龄,编程判断谁的年龄较大,并打印较大者的年龄。

#include

void main()

{

int age1,age2;

printf("输入你的年龄:");

scanf("%d",&age1);

printf("输入你朋友的年龄:");

scanf("%d",&age2);

if (age1>age2)

printf("你年龄比较大\n%d",age1);

else printf("你的朋友年龄较大\n%d\n",age2);

}

11)输入一个数,求出该数绝对值所对应的开方 。

#include

#include

int main (void)

{

int a,b;double c;

scanf("%d",&a);

if(a>=0)

{

b=a;

c=sqrt(b);

printf("%d的绝对值的开方是%lf",a,c);

}

else

{

b=-a;

c=sqrt(b);

printf("%d的绝对值的开方是%lf",a,c);

}

return 0;

}

12)输入一个字母,如果接收的是‘n’或者‘N’,

则输出“no”。否则输出“wrong”。从键盘读入一个整数,

统计该数的位数。例如,输入12534,输出5;输入-99,输出2;输入0,输出1。

13)输入一个字符,如果是字母,输出其对应的ASCII码

,如果是数字,按原样输入,否则给出提示信息“输入错误!”。

14)输入一个年份year,判断改年是否是闰年。

判断闰年的条件是:能被4整除但不能被100整除,或能被400整除。

#include

void main()

{

int year;

scanf("%d",&year);

if(year%4==0&&year%100!=0||year%400==0)

{

printf("润年");

}

else

{

printf("非润年");

}

}

15)输入一个正整数,将其逆序输出。例如,输入12345,输出54321。

#include

void main()

{

long n,m;

printf("输入一个正整数");

scanf("%d",&n);

while(n!=0)

{

m=n%10;

n=n/10;

printf("%d",m);

}

}

16)输入20个字符,统计其中英文字母、数字字符和其他字符的个数。

17)输入三角形三边,输出其面积和周长

#include

#include

int main(void)

{

double a,b,c;

double area,perimeter,s;

printf("Enter 3 sides of the triangle:");

scanf("%lf%lf%lf",&a,&b,&c);

if(a+b>c||b+c>a||a+c>b){

s=(a+b+c)/2;

area=sqrt(s*(s-a)*(s-b)*(s-c));

perimeter=a+b+c;

printf("area=%.2f;perimeter=%.2f/n",area,perimeter);

}

else

printf("These sides do not correspond to a valid triangle\n");

return 0;

}

18)输入大写字母,输出其小写字母

#include

void main()

{

char c;

printf("输入大写字母:\n");

c=getchar();

putchar(c+32);

}

19)输入两实数(浮点数),由大到小输出(先强转,比较大小,后输出)

20)输入一系列字符,统计其中英文字母,数字,空格的个数

21)输入若干个非零整数,以0为终止符,输出这批数中的最大值。

22)统计在[2980-21980]之间有多少个数能同时被29和43整除,而不能被53整除。

23)计算n的阶层:n!

#include

void main()

{

long n,i,s=1; //s为所求和

printf("Enter n:");

scanf("%d",&n); //输入N的值

if(n>=0)

{for(i=1;i<=n;i++)

s=s*i;

printf("%d\n",s);}

else

printf("error\n");

}

24)计算 s=1-2!+3!-4!+…-n!的值并输出,其中n不大于10。要求必须使用for语句实现。

#include

void main()

{

int n,sigh=1,k=1;

float m=1,sum=0;

for(n=1;n<=3;n++)

{

m=m*n; //用来计算N的阶乘

sum=sum+k*m;

k=-k;

}

printf("%f\n",sum);

}

25)计算 公式 a-|b|,其中a,b为两个整数。

#include

void main()

{

int a,b,sum;

printf("输入正数a:");

scanf("%d",&a);

printf("输入b:");

scanf("%d",&b);

if(b>=0)

{

sum=a-b;

printf("%d-|%d|=%d\n",a,b,sum);

}

else

{

b=-b;

sum=a-b;

printf("%d-|-%d|=%d\n",a,b,sum);

}

}

26)计算 s=a+aa+aaa+aaaa+aa...a的值,

其中a是一个数字。例如2+22+222+2222+22222(此时 共有5个数相加),

几个数相加有键盘控制。

#include

void main()

{

int j,k,i,sum=0,n=1,m,a=0;

printf("输入累加到几位数:");

scanf("%d",&j);

printf("输入累加数字:");

scanf("%d",&k);

for(i=1;i<=j;i++)

{

sum=sum+k*n;

n=n*10;

for(m=1;m<=1;m++)

{

a=a+sum;

}

}

printf("该数为%d\n",a);

}

27)编写程序,求S=1/(1*2)+1/(2*3)+1/(3*4)+……前50项之和。要求必须使用for语句实现。

#include

void main()

{

int n,sigh=1;

float m,sum=0,term;

for(n=1;n<=50;n++)

{

m=n*(n+1); //用来计算N的阶乘

term=sigh/m; //用来计算1/N的值

sum=sum+term;

}

printf("%.10f\n",sum);

}

28)编程求1+(1+2)+…+(1+2+…+n),n的值由键盘输入。要求使用for语句实现

#include

void main()

{

int j,k,i,sum=0,n=1,m,a=0;

printf("输入累加到几:");

scanf("%d",&j);

for(i=1;i<=j;i++)

{

sum=sum+n;

n++;

for(m=1;m<=1;m++)

{

a=a+sum;

}

}

printf("该数为%d\n",a);

}29)题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,

其各位数字立方和等于该数 本身。例如:153是一个“水仙花数”,

因为153=1的三次方+5的三次方+3的三次方。

#include //100到999内的水仙花数

void main()

{

int i,b,s,g;

for(i=100;i<=999;i++)

{

b=i/100; //百位

s=(i/10)%10; //十位

g=i%10; //个位

if(b*b*b+s*s*s+g*g*g==i)

printf("%d\n",i);

}

}

30)猜数游戏。由计算机"想"一个数请人猜,如果人猜对了,

则结束游戏,否则计算机给出提示,告诉人所猜的数是太大还是太小,

直到人猜对为止。计算机记录人猜的次数,以此可以反映出猜数者"猜"的水平。

#include

#include

void main()

{

int a,b,i,k;

a=rand()%89+10; //取10到100的随机数

for(i=0;i!=k;)

{ printf("输入被猜的数字");

scanf("%d",&b);

if(b==a)

{

i++;

printf("恭喜你猜对了,成功通关\n");

k=i;

}

if(b>a)

{

printf("对不起,你猜大了\n");

i++;

}

if(b

你可能感兴趣的:(学c语言可以写什么程序练手)