C语言课后答案2.docx

上传人:b****6 文档编号:8418198 上传时间:2023-01-31 格式:DOCX 页数:24 大小:45.51KB
下载 相关 举报
C语言课后答案2.docx_第1页
第1页 / 共24页
C语言课后答案2.docx_第2页
第2页 / 共24页
C语言课后答案2.docx_第3页
第3页 / 共24页
C语言课后答案2.docx_第4页
第4页 / 共24页
C语言课后答案2.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

C语言课后答案2.docx

《C语言课后答案2.docx》由会员分享,可在线阅读,更多相关《C语言课后答案2.docx(24页珍藏版)》请在冰豆网上搜索。

C语言课后答案2.docx

C语言课后答案2

三、编程题

1.编写程序,输入一个非负数,输出以此数为半径的圆周长以及面积。

#include"stdio.h"

#definePI3.1415

voidmain()

floatr,area,circumference;

scanf("%f",&r);

area=PI*r*r;

circumference=2*r*PI;

printf("area=%6.2f\ncircumference=%6.2f\n",area,circumference);

}

2.

编写程序,输出下面结果,注意,双引号也要输出:

“I'mastudent!

#include

voidmain()

{

printf("\"l\'mastudent!

\"\n");

}

3.

编写程序,输入一个小写字母,将其转换为大写字母输出。

例如输入对应的大写字母的ASCII码值相差32O

b,则输出B。

提示:

小写字母和

voidmain()

{

charch;ch=getchar();ch-=32;

putchar(ch);//printf("%c",ch);

}

4.

编写程序,输入一个华氏温度f,输出其相应的摄氏温度C。

华氏温度和摄氏温度的转换公式为:

5

c-(f32)

9

#include

voidmain()

floatf,c;

scanf(“%f”,&f);

c=5.0*(f-32)/9;

printf("华氏温度%5.2f转换为摄氏温度为:

%5.2f\n”,f,c);

 

三、编程题

1.输入一个整数,判断这个整数是奇数还是偶数(提示:

整数的奇偶性可以利用取余运算符

#include

%判定)。

voidmain()

{

inta;

scanf("%d",&a);

if(a%2)

printf("奇数\rr);

else

printf("偶数\rr);

2.

编写程序,输入一个24小时制的时间,转换为12小时制时间后进行输出。

以13点15分为例,输入:

13:

15,则输出:

下午1:

15。

#include

voidmain()

{

inthour,minute;

scanf("%d:

%d",&hour,&minute);if(hour>12)hour=hour-12;printf("%d:

%d\n",hour,minute);

3.

输入年号,判断它是否是闰年(如果年号能被400整除,或能被4整除,而不能被100整除,则是闰

年,否则不是)。

voidmain()

{

intyear;

scanf("%d",&year);

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

printf("%d是闰年\n",year);else

printf("%d不是闰年\n”,year);

 

4.输入一个字符,如果是大写字母则输出对应的小写字母,如果是小写字母则输出相应的大写字母,如果都不是则原样输出。

#inelude

voidmain(){

charch;

scanf("%c",&ch);

if(ch>='a'&&ch<='z')ch-=32;

else

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

ch+=32;

printf("\n%c\n",ch);

}

5.

设计一个简单的计算器程序,能输入整型运算数和基本运算符(

输入2+6,输出2+6=8。

+,-,*,/),输出计算结果。

例如:

#include

main()

{

floata,b,result;

charop;

scanf(”%f%c%f",&a,&op,&b);

switch(op)

{

case'+':

result=a+b;printf("=%f",result);break;case'-':

result=a-b;printf("=%f",result);break;case'*':

result=a*b;printf(”%f",result);break;case'/':

if(b==0.0)printf(”error!

\n”);

result=a/b;

printf(”=%f",result);

printf("errorduetotheillegalinput!

\n");

default:

三、编程题

1.编写程序,显示100〜200之间能被7除余2的所有整数。

#include"stdio.h"

main()

{inti;

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

{if(i%7==2)

 

 

2.输入n个整数,求这n个整数中的最大数、最小数和偶数平均数,并输出。

#includevstdio.h〉

voidmain()

inti,n,data,max=O,min=O,even=O,evennumber=O;

printf(”PIeaseinputthenumberofdata:

");

scanf("%d",&n);

printf("Pleaseinputthedata:

\n");

scanf("%d",&data);

max=data;

min=data;

if(data%2==0)

even=even+data;

evennumber++;

for(i=1;i

scanf("%d",&data);

if(data>max)

max=data;

else

if(data

min=data;

if(data%2==0)

even=even+data;

evennumber++;

printf("The

maxis%d\nTheminis%d\nTheaverageofevenis%5.2f\n",max,min,(float)(even)/evennumber);

}

3.输入一串字符,以回车作为结束标志。

统计并输出这串字符中大写字母、小写字母和数字字符的个数。

#include

voidmain()

intupper=0,lower=0,number=0;

charletter;

while((letter=getchar())!

-\n')

elseif(letter>='A'&&letterv='Z')uppe叶+;

elseif(letter>='0'&&letterv='9')numbe叶+;

printf("thenumberofuppercaseis:

%d\n",upper);

printf("thenumberoflowercaseis:

%d\n",lower);

printf("thenumberofnumberis:

%d\n",number);

#includevstdio.h〉voidmain()inti,j;

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

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

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

printf("\n");

}

}

5.

编写程序,输出3〜1000之间全部素数。

#includevstdio.h>#include"math.h"voidmain()

外层循环,用来产生2〜1000之间的整数

intk,data,tag;

for(data=3;datav=1000;data++)//

if(data%k==0)

tag=1;

#include"stdio.h"

voidmain()

intS,a,b,c;

printf("请输入一个3位数:

");

scanf("%d",&S);

a=S/100;b=S%100/10;c=S%10;

if(a*a*a+b*b*b+c*c*c==S)

printf("%d是水仙花数。

",S);

else

printf("%d不是水仙花数。

\n",S);

}

7.编程求Fibonacci数列的前40个数。

该数列的生成方法是:

F1=1,F2=1,F„=F„-1+F„-2(n>=3)(即从第三个

数起,每个数等于前2个数之和)。

#include"stdio.h"

voidmain()

intf[40],n;

f[0]=1;

f[1]=1;

printf("Fibonacci数列的前

for(n=2;n<40;n++)

f[n]=f[n-1]+f[n-2];

printf("%d\t",f[n]);

给他商讨一个换钱计划如下:

我每天给你十万元,而你第一天只需给我第三天给我四元钱,……,即我每天都给你十万元,你每天给我的钱都

30天)。

百万富翁很高兴地接受了这个换钱计划。

请编写程序计算

满一个月时,穷人给了富翁多少钱,而富翁又给了穷人多少钱。

#includevoidmain()

longpoor=100000,rich=1,i;

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

poor=poo叶100000;

rich=rich*2;

printf("Moneyofpoorgivingrichis%ld\nMoneyofrichgivingpooris%ld\n",poor’rich);

9.猴子吃桃问题。

猴子第一天摘下若干桃子,立即吃了一半,不过瘾又多吃了一个。

第二天早上又将剩下的桃子吃了一半,又多吃了一个。

以后的每天早上都是吃了前一天剩下的一半加一个。

到第10天早

上时只剩下一个桃子了。

编写程序,求猴子第一天共摘了多少桃子。

/************************************************************************/

*/

/*有一群猴子摘了一堆桃子,他们每天都吃当前桃子的一半且再多吃一个

/*到了第10天就只余下一个桃子。

(C语言实现)*/

*/

/*用多种方法实现求出原来这群猴子共摘了多少个桃子。

/************************************************************************/

/************************************************************************/

#include"stdio.h"main()

是最后的桃子数,k是中间变量,也是桃子总数*/

j=1;for(i=9;i>0;i--)

k=(j+1)*2;

j=k;

}

printf("%total=%d\n",k);

}

三.1.#include

#definen10voidmain()

{inta[n],i,count1=0,count2=0,sum=0;floatave;for(i=0;i

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

sum+=a[i];

if(a[i]>80)

count1+=1;

else

if(a[i]<60)

count2+=1;

}

ave=sum/n;

printf("%d个优秀,%d个不及格,平均分:

%f。

",count1,count2,ave);}

2.#include

#definen10voidmain()

{inta[n],i,j,k,max,min;for(i=0;i

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

i)

{max=min=a[i];j=k=i;

}

else

{if(max

j=i;

}

else

if(min>a[i]){min=a[i];

k=i;

}

}

}

printf(”最大值%d在第%d位,最小值%d在第%d位。

”,max,j+1,min,k+1);

}

3.#include

#inelude

voidmain()

{chars[20],ch;

inti,n;

printf(”请输入字符串:

”);gets(s);

n=strlen(s);

for(i=0;i

{ch=s[i];

s[i]=s[n-1-i];

s[n-1-i]=ch;

}

printf(”逆序存放的字符串:

");puts(s);

}

4.#include

#defineN10voidmain()

{inti,j,n,a[N+1];

printf(”请输入%d个由小到大排列的整数:

",N);

for(i=0;i

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

printf(”请输入要插入的数:

”);

scanf("%d",&n);

for(i=0;i

if(a[i]>n)

{j=i;

break;

}

if(i==N)

j=i;

for(i=N-1;i>=j;i--)a[i+1]=a[i];

a[j]=n;

printf(”插入后的排列:

”);

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

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

}

5.#include

#defineN3

voidmain()

{inti,j,a[N][N],sum=0;

printf("请输入%d*%d矩阵的元素:

",N,N);

for(i=0;i

for(j=0;j

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

if(i==j)sum+=a[i][j];

}

printf("主对角线元素之和:

%d。

”,sum);

}

6.#include

#include

voidmain()

{inti,j,n,k=0,b[300];

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

{n=int(sqrt(i));

for(j=2;j<=n;j++)

{if(i%j==0)

break;

}

if(j>n)

{b[k]=i;

k++;

}

for(i=0;i

printf("%5d",b[i]);

}

7.#include

#defineN7voidmain()

{inti,j,k,a[N],temp;printf(”请输入%d个整数:

",N);

for(i=0;i

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

for(i=0;i

{k=i;

temp=a[i];

for(j=i+1;j

if(temp>a[j])

{k=j;

temp=a[j];

}

if(k!

=i)

{a[k]=a[i];a[i]=temp;

}

}

printf(”排序后的数列:

");

for(i=0;i

printf("%3d",a[i]);

}

8.#include

voidmain()

{inti=0,count1=0,count2=0,count3=0;chars[20];

printf(”请输入字符串:

");gets(s);

if(s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z')count1++;

else

if(s[i]>='0'&&s[i]<=9)count2++;

elsecount3++;

i++;

while(s[i]!

='\0')

{

}

printf(”字符%d个,数字%d个,其他%d个。

”,count1,count2,count3);

9.#include

#inelude

voidmain()

{chars[20],ch;inti=0;

printf("请输入字符串:

”);gets(s);

while(s[i]!

='\0')

{s[i]+=3;

if(s[i]>'z')s[i]-=26;

i++;

}

printf("加密后:

”);

puts(s);

}

10.#include

#include

voidmain()

{chars1[20],s2[20];inti=0,j=0;

printf(”请输入字符串1:

");

gets(s1);

printf(”请输入字符串2:

");gets(s2);

while(s1[i]!

='\0')

i++;

s1[i]=s2[j];

do

{i++;

j++;

s1[i]=s2[j];

}

while(s2[j]!

='\0');

printf(”连接后:

");

puts(s1);

}

11.#include

#include

voidmain()

{chars1[20],s2[20],s3[40];inti=0,j=0,k=0;

1:

");

printf(”请输入按字母序排列的字符串gets(s1);

printf(”请输入按字母序排列的字符串

gets(s2);

while(s1[i]!

='\0'&&s2[j]!

='\0'){if(s1[i]

s3[k]=s1[i];

k++;i++;

{}

else

s3[k]=s2[j];

k++;j++;

}

}while(s1[i]!

='\0'){s3[k]=s1[i];

k++;i++;

}while(s2[j]!

='\0')

{s3[k]=s2[j];

k++;j++;

}

s3[k]='\0';

printf(”合并后的字符串:

”);puts(s3);

}

12.#inelude

voidmain()

{inti,j,a[5][5];for(i=0;i<5;i++)for(j=4;j>=0;j--){if(j>=i)a[i][j]=1;

elsea[i][j]=a[i][j+1]+1;

}for(i=0;i<5;i++){for(j=0;j<5;j++)printf("%3d",a[i][j]);printf("\n");

}

}

13.#include

voidmain()

{inti,j,a[8][8];for(i=0;i<8;i++)for(j=0;j<8;j++){if(j==i||(i+j)==7)

a[i][j]=1;

else

a[i][j]=0;

}

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

{for(j=0;j<8;j++)

printf("%3d",a[i][j]);

printf("\n");

}

}

14.#include

voidmain()

{inti,j,sum,a[5][3]={20,30,26,30,20,25,25,50,20,46,15,10,35,15,12};

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

{sum=0;

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

sum+=a[i][j];

switch(i)

{case0:

printf(”第一个");break;

case1:

printf("第二个");break;

case2:

printf("第三个");break;

case3:

printf("第四个");break;

case4:

printf("第五个");break;

}

printf(”企业的总产值是:

%d万元。

\n",sum);

}

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

{sum=0;

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

sum+=a[i][j];

switch(j)

{case0:

printf("A");break;

case1:

printf("B");break;

case2:

printf("C");break;

}

printf(”产品的总产值是:

%d万元。

\n",sum);

}

}

15.#include

#defineN5voidmain()

{inti,j,a[N][N],b[N];

printf(”请输入%d个数:

",N);

for(i=0;i

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

for(i=0;i

{for(j=i;j

a[i][j]=b[j-i];

for(j=0;j

a[i][j]=a[j][i];

}

for(i=0;i

{for(j=0;j

printf("%3d",a[i][j]);

printf("\n");

}

}

16.#include

voidmain()

{inti=0,j=0,m,n,a[20],b[20];

printf(”请输入数组a中的数据,以0结束:

”);

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

while(a[i]!

=0)

{i++;

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

}

printf(”请输入数组b中的数据,以0结束:

”);

scanf("%d",&b[j]);

while(b[j]!

=0)

{j++;

scanf("%d",&b[j]);

}

for(m=0;m

for(n=0;n

{if(a[m]==b[n])

printf("%3d在a中下标为%d,在b中下标为%d。

”,a[m],m,n);

}

}

17.#include

voidmain()

{inta[20][20],b[20][20],flag1[20][20],flag2[20][20],i,j,s,t,k,l,m,n;printf(”请输入数组

scanf("%d",&k);

printf(”请输入数组

scanf("%d",&I);

print

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

当前位置:首页 > 工程科技 > 纺织轻工业

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

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