C语言编程习题.docx

上传人:b****3 文档编号:3745958 上传时间:2022-11-25 格式:DOCX 页数:12 大小:74.71KB
下载 相关 举报
C语言编程习题.docx_第1页
第1页 / 共12页
C语言编程习题.docx_第2页
第2页 / 共12页
C语言编程习题.docx_第3页
第3页 / 共12页
C语言编程习题.docx_第4页
第4页 / 共12页
C语言编程习题.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

C语言编程习题.docx

《C语言编程习题.docx》由会员分享,可在线阅读,更多相关《C语言编程习题.docx(12页珍藏版)》请在冰豆网上搜索。

C语言编程习题.docx

C语言编程习题

编程习题

1.交换2个变量的值。

#include

intmain(intargc,char*argv[])

{

intx,y,temp;

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

printf("x=%d,y=%d\n",x,y);

temp=x;

x=y;

y=temp;

printf("x=%d,y=%d\n",x,y);

}

2.从键盘输入5个学生的成绩,计算出总成绩和平均成绩。

#include

intmain(intargc,char*argv[])

{

floati,j,n,m,z;

intsum=0,avg=0;

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

scanf("%f%f%f%f%f",&i,&j,&n,&m,&z);

sum=i+j+n+m+z;

avg=sum/5;

printf("%.1d\n%.ld\n",sum,avg);

}

3.用if或switch语句编程,将百分制成绩转换为等级分:

90以上A,80-89为B,70-79为C,60-69为D,其他为F.

解法一switch:

#include

intmain(intargc,char*argv[])

{intx;

scanf("%d",&x);

switch(x/10)

{case9:

printf("A\n");break;

case8:

printf("B\n");break;

case7:

printf("C\n");break;

case6:

printf("D\n");break;

default:

printf("F\n");

}

}

解法二if:

#include

intmain(intargc,char*argv[])

{intx;

scanf("%d",&x);

if(x/10<=10&&x/10>=9)

printf("A\n");

elseif(x/10>=8&&x/10<9)

printf("B\n");

elseif(x/10>=7&&x/10<8)

printf("C\n");

elseif(x/10>=6&&x/10<7)

printf("D\n");

elseprintf("F\n");

}

4.用if或switch语句编程,要求实现:

从键盘输入1、2、3、4,分别显示excellent、good、pass、fail,输入其他键时显示“error”。

解法一switch:

#include

intmain(intargc,char*argv[])

{intx;

printf("请输入数字\n");

scanf("%d",&x);

switch(x)

{case1:

printf("excellent\n");break;

case2:

printf("good\n");break;

case3:

printf("pass\n");break;

case4:

printf("fail\n");break;

default:

printf("error\n");

}

}

解法二if:

#include

intmain(intargc,char*argv[])

{intx;

printf("请输入数字\n");

scanf("%d",&x);

if(x>0&&x<=4)

{if(x==1)

printf("excellent\n",1);

if(x==2)

printf("good\n",2);

if(x==3)

printf("pass\n",3);

if(x==4)

printf("fail\n",4);

}

else

printf("error\n");

}

5.编写一个程序,计算并输出一个整数n的个位数字之和。

比如n=5678,各位数字之和为5+6+7+8,n的值由键盘输入,可以是任意几位数。

#include

intmain(intargc,char*argv[])

{intn,sum=1,i,j=0;

printf("输入整数n");

scanf("%d",&n);

for(i=0;i

{

j=n-n/10*10;n=n/10;

sum=sum+j;

if(n==0)

break;

}

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

}

6.编写程序实现编程输出所有的水仙花数,并统计输出个数,所谓水仙花数是指一个3位自然数,其各位数字的立方和等于该数本身。

例如153就是一个水仙花数,因为153=1*1*1+5*5*5+3*3*3

7.编程实现九九乘法表

#include

intmain(intargc,char*argv[])

{inti,j;

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

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

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

printf("\n");

}

printf("\n");

}

8.编一函数判别某一数是否为素数,若是,返回值为1,否则,返回值为0。

main函数中调用该函数

 

9.编写函数输出1-20的所以素数。

#include

intmain(intargc,char*argv[])

{

intflag=0;

for(inti=1;i<=20;i++)

{

flag=0;

for(intj=2;j

{

if(i%j==0)

{flag=1;

break;

}

}

if(!

flag)

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

}

return0;

}

10.编写程序实现编程输出所有的水仙花数,并统计输出个数,所谓水仙花数是指一个3位自然数,其各位数字的立方和等于该数本身。

例如153就是一个水仙花数,因为153=1*1*1+5*5*5+3*3*3。

要求设计一个函数shuixian用于判断一个数是否为水仙花数,在main函数中调用该函数,输出所有水仙花数。

#include

intshuixian(intn)

{intflag=0,n1,n2,n3;

n1=n%10;

n2=(n/10)%10;

n3=n/100;

if(n1*n1*n1+n2*n2*n2+n3*n3*n3==n)

flag=1;

elseflag=0;

returnflag;

}

intmain(intargc,char*argv[])

{

inti;

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

if(shuixian(i))

printf("%6d",i);

printf("\n");

return0;

}

10.运用指针,将abcde反向输出。

#include

intmain(intargc,char*argv[])

{charst[]="abcde",*p;

inti,n;

n=strlen(st);

puts(st);

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

{

*p=*(st+i);

*(st+i)=*(st+n-i-1);

*(st+n-i-1)=*p;

}

puts(st);

return0;

}

11.编程实现菱形*图。

【要求:

菱形行数从键盘输入。

#include

intmain(intargc,char*argv[])

{

inti,k,j,n;

scanf("%d",&n);

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

{

for(k=1;k<=n-i;k++)

printf("");

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

printf("*");

printf("\n");

}

}

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

{

for(k=1;k<=n-i;k++)

printf("");

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

printf("*");

printf("\n");

}

}

}

12.编程求1+1/2+1/3+1/4+...+1/n

#include

intmain(intargc,char*argv[])

{

doublefun(intn);

intn;

scanf("%d",&n);

printf("sum=%f",fun(n));

}

doublefun(intn)

{

doublesum=0;

inti;

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

sum+=1.0/i;

returnsum;

}

13编程.输出“thisisateststring,haha!

”的字符串的长度,空格出现的次数和元音字母的个数。

#include

intmain(intargc,char*argv[])

{intn=0,m=0,s=0;

charch[50]="thisisateststring,haha!

";

while(ch[n]!

='\0')

{if(ch[n]=='')

m++;

elseif(ch[n]=='a'||ch[n]=='e'||ch[n]=='i'||ch[n]=='o'||ch[n]=='u')

s++;

n++;

}

printf("字符串的长度(n)为:

%d\n",n);

printf("空格出现的次数(m)为:

%d\n",m);

printf("元音字母个数(s)为:

%d\n",s);

return0;

}

14.二维数组,求一个4*4阶矩阵元素的最小值。

#include

intmain(intargc,char*argv[])

{

staticinta[4][4]={{12,76,4,1},{-19,28,55,-6},{2,10,13,-3},{3,-9,112,111}};

inti,j,row,column,min;

min=a[0][0];

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

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

if(a[i][j]

{

min=a[i][j];

row=i,column=j;

}

printf("Min=%d,%drows,%dcolumn\n",min,row+1,column+1);

}

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

当前位置:首页 > 工程科技 > 能源化工

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

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