加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

c语言初学者需要掌握的55个程序 (源代码)【一】

(2011-06-02 23:09:56)
标签:

c语言

源代码

期末

it

分类: C语言

**本文所有程序均为在vc6.0编译系统下运行


有一个函数c语言初学者需要掌握的55个程序 <wbr>(源代码)【一】,写一段程序,输入c语言初学者需要掌握的55个程序 <wbr>(源代码)【一】的值,输出c语言初学者需要掌握的55个程序 <wbr>(源代码)【一】的值。

include<stdio.h>

int main ()

{

double x,y;

printf("x ");

scanf("%lf",&x);

if(0 == x)

0;

else

if (x>0 && <= 100)

1;

else -1;

printf("y %f",y);

return 0;

}

2. 输入3个数a,b,c,按大由到小的顺序输出。

include <stdio.h>

int main()

{

void change(int *p1,int *p2);

int a,b,c;

printf("请输入a,b,c的值\n");

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

change(&a,&b);

change(&a,&c);

change(&b,&c);

printf("a %d\nb  %d\nc %d\n",a,b,c);

return 0;

}

void change(int *p1,int *p2)

{

int t;

if(*p1 *p2)

{

*p1;

*p1 *p2;

}

*p2 t;

 

}

3. 输入4个数,输出4个数中的最大值、最小值。

include <stdio.h>

int main()

{

void change(int *p1,int *p2);

int a,b,c,d;

printf("请输入a,b,c,d的值\n");

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

change(&a,&b);

change(&a,&c);

change(&a,&d);

change(&b,&c);

change(&b,&d);

change(&c,&d);

printf("最大值是%d最小值是%d\n",a,d);

return 0;

}

void change(int *p1,int *p2)

{

int t;

if(*p1 *p2)

{

*p1;

*p1 *p2;

*p2 t;

}

}

http://blog.sina.com.cn/xhffly

4. 输入成绩,要求输出成绩等级ABCDEerror90分以上为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,0~60分为‘E’。若输入成绩低于0分和高于100分则输出error

#include <stdio.h> 

int main()

{

int a,b;

printf("请输入成绩\n");

scanf("%d",&a);

10;

switch(b)

{

case 9:printf ("A");break;

case 8:printf ("B");break;

case 7:printf ("C");break;

case 6:printf ("D");break;

case 5:

case 4:

case 3:

case 2:

case 1:

case 0:printf ("E");break;

 

default:printf("ERROR");

}

printf("\n");

return 0;

}

5. 有一个函数:

c语言初学者需要掌握的55个程序 <wbr>(源代码)【一】

include<stdio.h>

int main ()

{

double x,y;

printf("x ");

scanf("%lf",&x);

if(x<1)

x;

else

if (x 10)

11;

else 1;

printf("y %f",y);

return 0;

}

6. 输出300~400之间的全部素数,并按每行5个数输出。

include<stdio.h>

int main ()

{

int i,j,f,m 0;

for(i 300;i<=400;i++)

{

1;

for(j 2;j<i;j++)

if(0 == j)

{

0;

break;

}

if(1==f)

{

printf("M",i);

m++;

if(0 == m%5)

printf("\n");

}

 

}

return 0;

}

7. Fibonacci数列的前20个数,并将其分5行输出。

include<stdio.h>

int main ()

{

int i,a[20] ={1,1};

for(i 0;i<18;i++)

{

a[i+2] a[i]+a[i+1];

}

 

for(i 0;i<20;i++)

{

if(0 == i%5)

printf ("\n");

printf ("M",a[i]);

}

return 0;

}

8. c语言初学者需要掌握的55个程序 <wbr>(源代码)【一】

include<stdio.h>

int main ()

{

int ,i,j,sum 0;

for(i 1;i<11;i++)

{

1;

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

n*j;

sum sum+3+n;

}

printf ("结果是%d\n",sum);

return 0;

}

9. 有一分数序列c语言初学者需要掌握的55个程序 <wbr>(源代码)【一】,求其前20项的和。

include <stdio.h>

int main ()

{

double a[21] {1,1},b[20];

int i;double sum 0;

for(i 2;i 21;i++)

{

a[i] a[i-1] a[i-2];

}

for(i 0;i 20;i++)

{

b[i] a[i] a[i+1];

}

for(i 0;i 20;i++)

sum b[i] sum;

 

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

return 0;

}

http://blog.sina.com.cn/xhffly

10. 输出小于500的所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为c语言初学者需要掌握的55个程序 <wbr>(源代码)【一】

include <stdio.h>

include<math.h>

int main ()

{

int a,b,c,i;

for(i 100;i<500;i++)

{

10;

10 10;

100;

if(i == pow(a,3)+pow(b,3) pow(c,3))

printf("M",i);

 

}

printf ("\n");

return 0;

}

 

11. 给一个不多于6位的正整数,要求:①求出它是几位数;②分别输出每一位数字;③按逆序输出各位数字,例如原数为158,应输出851

include <stdio.h>

include<math.h>

int main ()

{

int n,i,m 0,k;

printf ("请输入一个数\n");

scanf("%d",&n);

printf("倒着输出是:");

while(n*10/10 != 0)

{

n;

printf ("M",k);

n/10;

m++;

}

printf ("\n是一个%d位数\n",m);

return 0;

}

 

12. 5+55+555+5555+55555的值。

include <stdio.h>

 

int main ()

{

int i,sum 0,b[5]= {5};

for (i 0;i <4;i++)

{

b[i+1] b[i]*10+5;

}

for (i 0;i <5;i++)

{

sum b[i]+sum;

}

 

printf ("\n结果是%d\n",sum);

return 0;

}

 

13ax2+bx+c=0方程的解。

include <stdio.h>

include <math.h>

int main ()

{

double m,x1,x2,a,b,c;

printf ("分别输入a,b,c:");

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

b*b 4*a*c;

if(m 0)

printf("无解\n");

else

x1 (-b sqrt(m))/(2*a);

x2 (-b sqrt(m))/(2*a);

printf ("\n结果是x1 %f x2 %f \n",x1,x2);

return 0;

}

 

14输入一行字符,分别统计出其中的英文字符、数字和其他字符的个数。

include <stdio.h>

int main ()

{

char c;

int letters1 0,letters2 0,space 0,digit 0,other 0;

 

printf ("请输入一行字符\n");

while (c getchar()) != '\n')

{

 

if (c >= 'a'&& <= 'z')

letters1++;

if (c>= 'A'&& <= 'Z')

letters2++;

if ==' ')

space++;

if (c >= '0'&&c<='9')

digit++;

else 

other++;

}

printf ("大写字母数%d\n 小写字母数%d\n空格数%d\n 数字数%d\n其他字符数%d\n",letters1,letters2,space,digit,other);

 

return 0;

}

15. 输入10个整型整数,用起泡法对这10个数排序,并该由小到大顺序在屏幕上输出。

include <stdio.h>

int main ()

{

int i,j,t,a[10];

for(i 0;i<10;i++)

{

printf ("请输入第%d个数\n",i+1);

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

}

for (i 0;i 10;i++)

for (j i;j<10;j++)

{

if (a[i]>a[j])

{

a[i];

a[i] a[j];

a[j] t;

}

 

}

for (i 0;i 10;i++)

printf ("M",a[i]);

return 0;

}

 

16. 将一个二维数组a的行和列的元素互换(即行列互换),存到另一个二维数组b中。

include <stdio.h>

int main ()

{

int a[2][3] {

{2,5,8},

{6,3,4}};

int i,j,b[3][2];

for (i 0;i<2;i++)

for (j 0;j<3;j++)

b[j][i] a[i][j];

for (i 0;i<3;i++)

{for (j 0;j<2;j++)

printf ("M",b[i][j]);

printf("\n");

}

return 0;

 

}

  http://blog.sina.com.cn/xhffly

17. 在一个3*4的二维数组a中,要求编程求出其中值最大的那个元素的值,并输出其所在的行号和列号。

include <stdio.h>

int main ()

{

int a[3][4] {

{2,5,8,7},

{6,3,4},

{45,65,7}};

int i,j,max a[0][0],maxi 0,maxj 0;

for (i 0;i<3;i++)

for (j 0;j<4;j++)

if (max a[i][j])

{max a[i][j];

maxi i;

maxj j;

}

 

printf ("最大值是第%d行第%d列的%d",maxi+1,maxj+1,max);

printf("\n");

 

return 0;

 

}

18. 输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。

include <stdio.h>

int main ()

{

int i= 1,n= 0;

char ch[80];

gets(ch);

while(ch[i]!= '\0')

{

if(ch[i-1] == '&&ch[i]!=' ')

n++;

i++;

}

printf ("%d个单词\n",n+1);

return 0;

}

 

19. 3个字符串,要求找出其中最大者。

include <stdio.h>

include <string.h>

int main ()

{

void change (char *p1,char *p2);

int i,j;

char a[3][40],(*p)[40];

for(i 0;i 3;i++)

{

printf (" Please enter \n");

gets(a[i]);

}

a;

char temp[40];char *p1 temp;

for(i 0;i 3; i++)

for(j i+1;j 3; j++)

{

if(strcmp(p[i],p[j])>0)

{ strcpy(p1,p[i]);

strcpy(p[i],p[j]);

strcpy(p[j],p1);

}

}

 

printf("%s\n",p[2]);

return 0;

}

 

20. 输入两个整数,要求用一个函数求出其中的大者,并在主函数中输出此值。

include <stdio.h>

int max(int a,int b)

{

return (a>b)?a:b;

}

int main ()

{

int a,b;

printf("please enter two mumbers;\n");

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

printf ("较大值是%d",max(a,b));

return 0;

}

21. 输入两个整数,要求用一个函数求出其最大公约数和最小公倍数,并在主函数中调用该子函数。

include <stdio.h>

int a,b,c,d;

 

void move()

{int t;

if(a>b)

{t a;

b;

t;

}

}

 

int divisor()

{

for (int 2;i <=a;i++)

{

if (0 == a%i && == b%i)

{ return i;

break;

}

}

}

int main ()

{

printf ("请输入两个数\n");

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

move();

divisor();

printf ("%d  %d\n",c,a*b/c);

return 0;

}

http://blog.sina.com.cn/xhffly

22. 输入4个整数,找出其中最大的数。用函数的嵌套调用来处理。

include <stdio.h>

int max(int a,int b)

{

return a>b?a:b;

}

int main ()

{

int a,b,c,d,e;

printf ("请输入4个数\n");

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

max(d,max(c,max(a,b)));;

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

return 0;

}

23. 用递归方法求5!。

include <stdio.h>

int mul(int n)

{

if(0==n||1==n)

return 1;

else 

return n*mul(n-1);

}

int main ()

{

int a= 4,b;

mul(a);

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

return 0;

}

24. 编写一个函数,用来分别求数组score_1(有5个元素)和数组score_2(有10个元素)各元素的平均值。

include <stdio.h>

int aver(int *p,int n)

{

int i,sum =0;

for(i 0;i<n;i++)

sum= *(p+i) +sum;

return sum/n;

}

int main ()

{

int i,score_1[5]={3,4,5,7,9},score_2[10]= {43,65,5,3,6,65,23,12,78,3};

int a,b;

aver(score_1,5);

aver(score_2,10);

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

return 0;

}

25 将一个数组中的值按逆序重新存放。例如,原来顺序为8,6,5,4,1改后成为1,4,5,6,8http://blog.sina.com.cn/xhffly

include <stdio.h>

 

int main ()

{

int i,a[5]={3,4,5,7,9};

int t;

for(i 0;i <5;i++)

{

printf ("M",a[i]);

}

printf ("\n");

for(i 0;i<5/2;i++)

{

a[i];

a[i] a[4-i];

a[4-i] t;

}

for(i 0;i <5;i++)

{

printf ("M",a[i]);

}

printf ("\n");

return 0;

}

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有