c语言大一基础程序试验手册答案.docx

上传人:b****8 文档编号:10965162 上传时间:2023-02-24 格式:DOCX 页数:15 大小:17.20KB
下载 相关 举报
c语言大一基础程序试验手册答案.docx_第1页
第1页 / 共15页
c语言大一基础程序试验手册答案.docx_第2页
第2页 / 共15页
c语言大一基础程序试验手册答案.docx_第3页
第3页 / 共15页
c语言大一基础程序试验手册答案.docx_第4页
第4页 / 共15页
c语言大一基础程序试验手册答案.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

c语言大一基础程序试验手册答案.docx

《c语言大一基础程序试验手册答案.docx》由会员分享,可在线阅读,更多相关《c语言大一基础程序试验手册答案.docx(15页珍藏版)》请在冰豆网上搜索。

c语言大一基础程序试验手册答案.docx

c语言大一基础程序试验手册答案

1.当n为152时,分别求出n的个位数(digit1),十位数(digit2),百位数(digit3)的值。

#include

intmain(void)

{

intn;

intdigit1,digit2,digit3;

n=152;

digit1=n%10;

digit2=(n/10)%10;

digit3=n/100;

printf("整数152的个位数字是%d,十位数字是%d,百位数字是%d\n",digit1,digit2,digit3);

return0;

}

2.开始时间为time1,结束时间是time2,计算中间的时间,时间为0000~2359

#include

intmain(){

inttime1,time2;

inthour,minute;

printf("Entertime1:

");

scanf("%d",&time1);

printf("Entertime2:

");

scanf("%d",&time2);

hour=time2/100-time1/100;

minute=time2%100-time1%100;

if(minute<0){

hour--;

minute+=60;

}

printf("Thetrainjourneytimeis%dhours%dminutes\n",hour,minute);

return0;

}

3.147101316的规律是(n-1)*3+1

4.乘方表

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

power=pow(3,i);

printf("pow(3,%d)=%.0f\n",i,power);

}

5.阶乘表

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

result=f(i);

printf("%d!

=%d\n",i,result);

}

6.三角形判断和面积

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

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

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

7.求位数

#include

intmain(void)

{

intcount,number;

count=0;

printf("Enterainteger:

");

scanf("%d",&number);

if(number<0)

number=-number;

do{

number=number/10;

count++;

}while(number!

=0);

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

return0;

}

8.求位数和各位数字之和

#include

intmain(void){

intcount=0,n,sum=0;

printf("Inputaninteger:

");

scanf("%d",&n);

if(n<0)

n=-n;

while(n>0){

sum+=n%10;

count++;

n/=10;

}

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

return0;

}

9.求m,n之间的所有素数,每行输出六个

#include

#include

intmain(){

intcount,i,j,k,m,n;

printf("Inputm:

");

scanf("%d",&m);

printf("Inputn:

");

scanf("%d",&n);

if(m==1)

m++;

count=0;

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

k=sqrt(i);

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

if(i%j==0)

break;

if(j>k){/*如果m是素数*/

printf("%4d",i);/*输出m*/

count++;/*累加已经输出的素数个数*/

if(count%6==0)/*如果count是6的倍数,换行*/

printf("\n");

}

}

printf("\n");

return0;

}

10.分钱1,2,5分

#include

intmain(void){

inti,j,k,m;

intcount=0;/*换法*/

printf("Inputmoney:

");

scanf("%d",&m);

for(i=1;i<=m;++i){/*1分*/

for(j=1;j<=m/2;++j){/*2分*/

for(k=1;k<=m/5;++k){/*5分*/

if(i+2*j+k*5==m){/*各分币加起来是否等于m分*/

printf("fan5:

%dfan2:

%dfan1:

%d\n",k,j,i);

count++;

}

}

}

}

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

return0;

}

11.求m,n之间的水仙花数(各位数字的立方和等于其自身的数)

#include

intmain(){

inti,x,sum;

intm,n;

printf("Inputm:

");

scanf("%d",&m);

printf("Inputn:

");

scanf("%d",&n);

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

x=i;

sum=0;

while(x!

=0){

sum=sum+(x%10)*(x%10)*(x%10);

x=x/10;

}

if(i==sum)

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

}

}

12.找出200以内的所有完数,并输出因子(一个数等于他各应子之和,6=1+2+3)

#include"stdio.h"/**/

intmain(void)

{

inti,j,s=1;/*s*/

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

/*s=1;*/

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

if(i/j==0)/*i%j==0*/

s=s+j;

if(s==i){

printf("%d=1",i);

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

if(i/j==0)/*i%j==0*/

printf("+%d",j);

printf("\n");

}

}

return0;

}

13.验证哥德巴赫猜想(任何一个大于6的偶数可表示为2个素数之和)

#include

#include

intprime(intm);

intmain(void){

intx,a,b,count=0;

for(x=6;x<=100;x=x+2){

for(a=2;a<=x-1;a++){

if(!

prime(a))

continue;

b=x-a;

if(!

prime(b))

continue;

printf("%d=%d+%d",x,a,b);

count++;

if(count%5==0)

printf("\n");

break;

}

}

printf("\n");

}

intprime(intm){

inti,n;

if(m==1)

return0;

n=sqrt(m);

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

if(m%i==0)

return0;

return1;

}

14.分离各位数并输出

#include

#include

intmain(void){

longintx,y,d;

inti,j,n=0;

printf("Inputaninteger:

");

scanf("%ld",&x);

if(x<0)

x=-x;

y=x;

while(y!

=0){/*确定长整数有几位*/

n++;

y=y/10;

}

if(n==0)

n=1;

y=x;

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

d=1;

for(j=1;j

d=d*10;

printf("%ld",y/d);

y=y%d;

}

printf("\n");

return0;

}

15.求句子单词数

#include

intmain(){

intcount,word;

charch;

count=word=0;

printf("Inputwords:

");

while((ch=getchar())!

='\n'){

if(ch=='')

word=0;

elseif(word==0){

word=1;

count++;

}

}

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

return0;

}

16.排序

#include

/*对n个数排序*/

voidselectionSort(inta[],intn)

{

inti,k,index,temp;

for(k=0;k

index=k;

for(i=k+1;i

if(a[i]>a[index])index=i;

temp=a[index];

a[index]=a[k];

a[k]=temp;

}

}

intmain(void)

{

inti,n,temp;

inta[10];

intmin,max,minIndex,maxIndex;

printf("Inputn:

");

scanf("%d",&n);

printf("Input%dintegers:

",n);

for(i=0;i

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

selectionSort(a,n);

printf("Aftersorted:

");

for(i=0;i

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

return0;

}

17.乘法表

#include

intmain(void)

{

inti,j,n;

inta[10][10];

printf("Inputn:

");

scanf("%d",&n);

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

a[i][0]=i;

a[0][i]=i;

}

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

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

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

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

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

if((i==0)&&(j==0))

printf("*");

elseif((i==0)||(i>=j))/*下三角i>=j*/

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

}

printf("\n");

}

return0;

}

18.第几天

#include

intday_of_year(intyear,intmonth,intday);

intmain(void)

{

intyear,month,day;

printf("Inputyear,month,day:

");

scanf("%d%d%d",&year,&month,&day);

printf("Daysofyear:

%d\n",day_of_year(year,month,day));

return0;

}

/*计算某个日期对应该年的第几天*/

intday_of_year(intyear,intmonth,intday)

{

intk,leap;

inttab[2][13]={/*数组初始化,将每月的天数赋给数组*/

{0,31,28,31,30,31,30,31,31,30,31,30,31},

{0,31,29,31,30,31,30,31,31,30,31,30,31}

};

/*判断year是否为闰年,当year是闰年时,leap=1;当year是非闰年时,leap=0*/

leap=((year%4==0)&&(year%100!

=0))||(year%400==0);

/*计算天数*/

for(k=1;k

day=day+tab[leap][k];

returnday;

}

19.鞍点

#include

intmain(void)

{

inti,j,k,n,flag;

introw,col;/*存放鞍点坐标*/

inta[6][6];

printf("Inputn:

");

scanf("%d",&n);

printf("Inputarray:

\n");

for(i=0;i

for(j=0;j

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

for(i=0;i

col=0;

for(j=0;j

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

col=j;/*第i行最大值所在的列号*/

}

flag=1;

for(k=0;k

if(a[k][col]

{

flag=0;/*a[i][col]不是鞍点*/

break;

}

}

if(flag)

{

row=i;/*a[row][col]是鞍点*/

break;

}

}

if(flag)

printf("a[%d][%d]=%d\n",row,col,a[row][col]);

else

printf("NO");

return0;

}

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

当前位置:首页 > 高等教育 > 经济学

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

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