C语言精华代码.docx

上传人:b****6 文档编号:5362789 上传时间:2022-12-15 格式:DOCX 页数:48 大小:28.11KB
下载 相关 举报
C语言精华代码.docx_第1页
第1页 / 共48页
C语言精华代码.docx_第2页
第2页 / 共48页
C语言精华代码.docx_第3页
第3页 / 共48页
C语言精华代码.docx_第4页
第4页 / 共48页
C语言精华代码.docx_第5页
第5页 / 共48页
点击查看更多>>
下载资源
资源描述

C语言精华代码.docx

《C语言精华代码.docx》由会员分享,可在线阅读,更多相关《C语言精华代码.docx(48页珍藏版)》请在冰豆网上搜索。

C语言精华代码.docx

C语言精华代码

C语言精华1(自己以前学了,觉得还可以留下的代码...跟新中)

1.

/*接受一位整数。

编写一个程序,将该数的每一个数字相加并显示结果*/

#include

voidmain()

{

  inta,b,c,sum;

  printf("\n请输入一个数:

");

  scanf("%d",&a);

  c=0;

  sum=0;

  while(a>0)

  {

   b=a%10;

   a=a/10;

   c++;

     sum=b+sum;

  }

  printf("这些数拆开相加的结果");

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

}

-------------------------------------------------------

2.

/*接受用户输入的数值,该值表示某个字符的ASCⅡ码,使用putchar()函数显示该字符*/

#include

voidmain()

{

inta;

charb;

printf("请输入一个字母");

scanf("%d",&a);

b=(char)a;

printf("转换之后结果");

putchar(b);

printf("\n");

}

---------------------------------------------------------

3.

/*编写一个C程序,用于打印九九乘法表*/

#include

voidmain()

{

inti,j,sum;

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

{

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

{

  sum=i*j;

  printf("%d*%d=%d\t",j,i,sum);

}

  

printf("\n");

}

}

---------------------------------------------------------------

4.

/*输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数。

*/

#include

voidmain()

{

inta,b,c,d;

chari;

a=0;

b=0;

c=0;

d=0;

printf("\n请输入字符序列:

");

while((i=getchar())!

='\n')

{

  

if((i>='a'&&i<='z')||(i>='A'&&i<='Z'))

  a++;

    elseif(i>='0'&&i<='9')

   b++;

    elseif(i=='')

   c++;

else

  d++;

}

printf("\n输入中英文字母个数:

%d",a);

       printf("\n输入数字的个数:

%d",b);

printf("\n输入空格的个数:

%d",c);

printf("\n输入其他的个数:

%d\n",d);

}

---------------------------------------------------------------

5.

/*将一个正整数分解因数。

例如:

输入90,打印出90=2*3*3*5*/

#include

voidmain()

{

inta,b;

printf("\n请输入一个数:

\n");

   scanf("%d",&a);

printf("%d=",a);

for(b=2;b<=a;b++)

{

   while(a!

=b)

{

  if(a%b==0)

  {

    printf("%d*",b);

    a=a/b;

  }

  else

      b=b+1;

}

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

}

}

----------------------------------------------------------

6.

/*编写一个程序,根据输入某班级学员的成绩,计算该班级学员的平均成绩。

班级的人数要求用户输入。

根据输入的人数,分别录入学员的成绩。

计算该班级学员的平均成绩,并显示计算结果。

最后询问用户是否继续,

直到用户自己确定要结束程序退出.*/

#include

voidmain()

{

   inta,n,i,sum,score;    //a是班级号,n是学员总数,score是成绩,sum是总成绩,i几号的成绩

   chare;

   do

   {

       printf("请输入班级号:

");

scanf("%d",&a);

printf("请输入该班级的学员号总数:

");

scanf("%d",&n);

i=1;sum=0;

while(i<=n)

{

  printf("请输入学号%d的成绩:

",i);

  scanf("%d",&score);

   sum=sum+score;

      i++;

}

printf("该班级学员的平均成绩为:

%f",(float)sum/n);

       printf("是否输入另一个班级的成绩

\n");

       fflush(stdin);

       e=getchar();

   }while(e=='y'||e=='Y');

}

----------------------------------------------------

7.

/*编写一个程序,最多接受10个数,并求出其中所有正数的和。

用户可以通过输入999终止程序,统计用户输入的正

数的个数,并且显示这些数的和*/

#include

voidmain()

{

inta,b,c;

b=0;

printf("\n请输入10个数,或者输入999中止输入.\n");

for(c=0;c<10;c++)

{

scanf("%d",&a);

if(a==999)

{

  break;

}

elseif(a<=0)

{

  continue;

}

else

     b=b+a;

}

printf("这%d个数的和是:

%d\n",c,b);

}

--------------------------------------------------------

8.

/*编写一个程序,用于生成如图所示的输出结果,

要求根据用户输入的一个整数,输出一个数字组成

的图案。

请输入一个数:

5

55555

4444

333

22

1

1

22

333

4444

55555

Pressanykeytocontinue

*/

#include

voidmain()

{

inta,i,j;

printf("请输入一个数:

");

scanf("%d",&a);

for(i=a;i>=1;i--)

{

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

  printf("%d",i);

printf("\n");

}

printf("\n");

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

{

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

printf("%d",i);

printf("\n");

}

}

----------------------------------------------------------

9.

/*编写一个程序,打印如下图案:

     A

    BBB

   CCCCC

  DDDDDDD

EEEEEEEEE

FFFFFFFFFFF

GGGGGGGGGGGGG

*/

#include

voidmain()

{

inti,j,k;

charch='A';

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

{

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

  printf("");

for(k=1;k<=2*i-1;k++)

  printf("%c",ch);

  ch=ch+1;

  printf("\n");

}

}

------------------------------------------

10.

/*求一个3*3矩形阵对角线元素之和*/

#include

voidmain()

{

floata[3][3],sum=0;

inti,j;

printf("请输入一组数:

\n");

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

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

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

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

  sum=sum+a[i][i];

printf("角线元素之和为:

\n%6.2f",sum);

}

11.

/*编写一个录入函数:

用来从键盘接受n个整型数并存放在一个整型数组中,

在主函数中调用该函数计算出这n个整数之和*/

#include

voidfun(inta[],intn);

voidmain()

{

intn,i,b[100],sum=0;

printf("输入n:

");

scanf("%d",&n);

fun(b,n);

for(i=0;i

sum+=b[i];

printf("sum=%d\n",sum);

}

voidfun(inta[],intn)

{

inti;

printf("输入%d个数:

",n);

for(i=0;i

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

}

-------------------------------------------------------

12.

/*.目前人民币共有以下几种面值(不包括角和):

1元2元5元10元20元50元100元

编写一个函数计算金额"X"需要多少张面值为n元的纸币。

在主函数中输入一个金额值,调用该函数。

计算组成该金额最少需要多少张纸币*/

#include

intdenom(int*s,intc)

{

return(*s)/c;                          //被调用的函数

}

voidmain()

{

intsum,temp,notes;

notes=0;

printf("\n请输入金额:

");

scanf("%d",&sum);

temp=sum;

notes=denom(&sum,100);                                         

   sum=sum%100;                           //大于100的除以100比较多出来多少                  

notes=notes+denom(&sum,50);

   sum=sum%50;                             //大于50的除以50比较多出来多少

notes=notes+denom(&sum,20);

sum=sum%20;                             //大于20的除以20比较多出来多少

notes=notes+denom(&sum,10);

sum=sum%10;                               //大于10的除以10多出来多少

notes=notes+denom(&sum,5);

sum=sum%5;                              //大于5的除以5多出来多少

notes=notes+denom(&sum,2);

   sum=sum%2;                                 //大于2的除以2多出来多少

notes=notes+sum;

printf("\n合计%d元将需要%d张纸币。

",temp,notes);

printf("\n");

}

-----------------------------------------------------------------------------------------------------

13.

/*编写一个程序,用于产生20个0~10之间的随机数,将这20个随机数存入数组,

并通过函数统计这些随机数中某个数出现的次数*/

#include

#include

#include                      //保证输出的随机数字都不一样  不能省略

intcount(intnum[20],intnumber);

voidmain()

{

intarr[20];

intnum,total;

inti;

printf("产生20个0~10之间的随机数序列:

\n");

srand((unsigned)time(NULL));                  //与前面相匹配不能省略

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

{

arr[i]=rand()%10;

printf("%d",arr[i]);

}

printf("\n\n请输入要搜索的数:

");

scanf("%d",&num);

total=count(arr,num);

printf("\n随机数序列中%d出现了%d次\n",num,total);

}

intcount(intnum[20],intnumber)

{

   inti,n=0;

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

{

if(num[i]==number)

  n++;

}

returnn;

}

-------------------------------------------------------------------------------------------

14.

/*编写一个程序,用于求m的n次幂。

m和n由用户输入,

调用自定义的求m的n次幂的函数,并输出计算结果*/

#include

intpower(intm,intn);

intm,n,a=1;

voidmain()

{

   printf("输入m的n次幂\n");

scanf("%d%d",&m,&n);

a=power(m,n);

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

}

intpower(intm,intn)

{

inti;

for(i=0;i

a=a*m;

returna;

}

--------------------------------------------------------------

15.

/*编写一个程序,使用函数统计一串字符中的小写字母的个数,

该函数参数为一个字符数组,返回值为小写字母的个数,

在主函数中从键盘接受一串字符,并调用统计函数求出小写

字母的个数,然后输出。

*/

#include

intcount(chars[],intn)

{

inti,count=0;

for(i=0;i

{

if((s[i]>='a')&&(s[i]<='z'))

  count++;

}

returncount;

}

voidmain()

{

intn,c;

chars[100],ch;

n=0;

printf("请输入一行字符:

");

while((ch=getchar())!

='\n')         //以回车作为结束的标志

{

s[n]=ch;

n++;

}

fflush(stdin);

printf("输入字符的个数为:

%d个\n",n);

c=count(s,n);

printf("小写字母的个数为:

%d个\n",c);

}

------------------------------------------------------------------

16.

/*编写一个程序,从键盘输入X,Y,Z3个数,

编写函数计算3个数的立方和并返回计算结果*/

#include

#include

voidmain()

{

intx,y,z;

doublesum;

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

sum=pow(x,3)+pow(y,3)+pow(z,3);

printf("%lf",sum);

}

-------------------------------------------------------------------------

//第二种解法

#include

intabc(int,int,int);

voidmain()

{

intx,y,z,s;

printf("请输入三个数:

");

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

s=abc(x,y,z);

printf("立方和为:

%d\n",s);

}

intabc(inta,intb,intc)

{

intsum;

sum=a*a*a+b*b*b+c*c*c;

returnsum;

}

-----------------------------------------------------------------------

17.

/*编写一个函数,用于接受3到10之间的一个数,

然后输出由星号组成的矩形

例如为4

****

**

**

****

*/

#include

voidtemp();

voidmain()

{

sb();

}

voidtemp()

{

inti,j,k,num;

printf("请输入3-10之间的数:

");

scanf("%d",&num);

for(i=0;i

     printf("*");

printf("\n");

for(j=0;j

{

printf("*");

for(k=0;k

printf("");

printf("*");

printf("\n");

}

    for(i=0;i

printf("*");

printf("\n");

}

-------------------------------------------------------------

18.

/*编写三个函数分别完成一个十进制整数到二进制的转换,

十进制整数到八进制的转换,

十进制整数到十六进制的转换。

在main函数中,

根据用户的选择调用相应的函数完成进制转换。

用户可以重复选择功能,直到输入0退出*/

#include

voida();

voidb();

voidc();

voidmain()

{

intn;

do

{

printf("\n0.退出1.十进制~二进制2.十进制~八进制3.十进制~十六进制\n");

printf("请选择功能:

");

scanf("%d",&n);

if(n==0)

  break;

switch(n)

{

case1:

a();

  break;

case2:

b();

  break;

case3:

c();

  break;

default:

printf("输入有误,请在1-4之间选择\n");

}

}while

(1);

}

voida()

{

intnum,p[100],i=0,count;

printf("请输入一个十进制数:

");

scanf("%d",&num);

for(count=0;;count++)

{

if(num==0)

  break;

p[count]=num%2;

num=num/2;

i++;

}

printf("转换为二进制:

");

for(count=i-1;count>=0;count--)

printf("%d",p[count]);

printf("\n");

}

voidb()

{

intnum,p[100],i=0,count;

printf("请输入一个十进制数:

");

scanf("%d",&num);

for(count=0;;count++)

{

if(num==0)

  break;

p[count]=num%8;

num=num/8;

i++;

}

printf("转换为八进制:

");

for(count=i-1;count>=0;count--)

printf("%d",p[count]);

printf("\n");

}

voidc()

{

   intnum,p[100],i=0,count;

printf("请输入一个十进制数:

");

scanf("%d",&num);

for(count=0;;count++)

{

if(num==0)

  break;

p[count]=num%16;

num=num/16;

       i++;

switch(p[count])

{

case10:

p[count]='A';

  break;

       case11:

p[count]='B';

  break;

       case12:

p[count]='C';

  break;

       case13:

p[count]='D';

  break;

       case14:

p[count]='E';

  break;

       case15:

p[count]='F';

  break;

}

}

printf("转换为十六进制:

");

for(count=i-1;count>=0;count--)

{

if(p[count]<10)

printf("%d",p[count]);

       if(p[count]>=10)

printf("%c",p[count]);

}

printf("\n");

}

------------------------------------------------------------

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1