上机考试题目修改.docx

上传人:b****3 文档编号:27238591 上传时间:2023-06-28 格式:DOCX 页数:19 大小:18.21KB
下载 相关 举报
上机考试题目修改.docx_第1页
第1页 / 共19页
上机考试题目修改.docx_第2页
第2页 / 共19页
上机考试题目修改.docx_第3页
第3页 / 共19页
上机考试题目修改.docx_第4页
第4页 / 共19页
上机考试题目修改.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

上机考试题目修改.docx

《上机考试题目修改.docx》由会员分享,可在线阅读,更多相关《上机考试题目修改.docx(19页珍藏版)》请在冰豆网上搜索。

上机考试题目修改.docx

上机考试题目修改

1.从键盘上输入一个日期,判断这一天是这一年的第几天。

#include

main()

{

intyear,month,day;

intdays[12]={31,28,31,30,31,30,31,31,30,31,30,31};

inti,dd=0;

printf("year,month,day=");

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

for(i=0;i

dd=dd+days[i];

if((month>2)&&(year%4==0&&year%100!

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

{dd=dd+1;

dd=dd+day;}

elsedd=dd+day;

printf("It'sthe%dday!

\n",dd);

}

2打印九九表。

(1)九九全表。

#include

main()

{inti,j;

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

{

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

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

printf("\n");

}

}

(2)九九上三角。

/*输出上三角的九九表*/

#include

main()

{inti,j,k;

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

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

printf("\t");

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

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

printf("\n");

}

}

(3)九九下三角。

#include

main()

{inti,j;

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

{

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

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

printf("\n");

}

}

3.输入两个数,求它们的最大公约数或最小公倍数;

(1)求最大公约数。

#include

main()

{

inta,b,c,d;

printf("imputab");

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

if(a>b)

{c=a;a=b;b=c;}

d=a;

while(b%d!

=0||a%d!

=0)

d--;

printf("a,b最大公约数是%d\n",d);

}

(2)求最小公倍数。

#include

main()

{

inta,b,c,d;

printf("imputab");

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

if(a

{c=a;a=b;b=c;}

d=a;

while(d%b!

=0)

d=d+a;

printf("a,b最小公倍数是%d\n",d);

}

4.编程求fibonacci数列的前20个数(每行4个数);

#include

voidmain()

{

inti,f[20]={1,1};

for(i=2;i<=19;i++)f[i]=f[i-1]+f[i-2];

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

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

}

5.输出100以内的素数(筛选法)。

#include

main()

{

inta[101],i,j;

for(i=1;i<100;i++)a[i]=i;

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

{

if(a[i]>0)

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

if(a[j]%a[i]==0)

a[j]=0;

}

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

if(a[i]!

=0)

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

}

6.最值问题。

#include

voidmain()

{

floatsheep[10];/*数组用于存10只羊每一只的重量*/

floatmax;/*浮点类型变量,存放最肥羊的重量*/

inti,k;/*i用于计数循环,k用于记录最肥羊的号*/

max=0.0;/*赋初值0*/

for(i=0;i<10;i=i+1)/*计数循环*/

{

printf(“请输入羊的重量sheep[%d]=”,i);

scanf(“%f”,&sheep[i]);/*输入第i只羊的重量*/

if(max

{

max=sheep[i];/*让第i只羊为当前最肥羊*/

k=i;/*纪录第i只羊*/

}

}

printf(“max=%f\n”,max);/*输出最肥羊的重量*/

printf(“number=%d\n”,k);/*输出最肥羊的编号*/

}

7.将一维数组(n=10个元素)倒序。

#include

voidfunc(int*s,intn)

{

inti,temp;

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

{

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

}

}

voidmain()

{

inti,a[10];

for(i=0;i<10;i++)a[i]=i;

func(a,10);

for(i=0;i<10;i++)printf("%d\n",a[i]);

}

8.对数组(10个元素)中的数据按序(升、降)输出

用选择法对10个随机数进行排序

升序

#include

#include

#include

voidsele_sort(inta[],intn)

{

inti,j,t,p;

for(i=0;i

{

p=i;

for(j=i+1;j

t=a[p];a[p]=a[i];a[i]=t;

}

}

voidmain()

{

inta[10]={0},i;

srand((unsignedint)time(NULL));

for(i=0;i<10;i++)a[i]=200+(int)(rand()%301);

sele_sort(a,10);

printf("thesortedarray:

\n");

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

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

}

冒泡法对10个随机数进行排序

降序

#include

#include

#include

voidmain()

{

inti,j,t;

inta[10]={0};

srand((unsignedint)time(NULL));

for(i=0;i<10;i++)a[i]=200+(int)(rand()%301);

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

for(i=0;i<=10-j;i++)

{

if(a[i]

{

t=a[i];

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

a[i+1]=t;

}

}

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

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

}

交换法

升序

#include

#include

#include

voidsele_sort(inta[],intn)

{

inti,j,t,p;

for(i=0;i

{

p=i;

for(j=i+1;j

t=a[p];a[p]=a[i];a[i]=t;

}

}

voidmain()

{

inta[10]={0},i;

srand((unsignedint)time(NULL));

for(i=0;i<10;i++)a[i]=200+(int)(rand()%301);

sele_sort(a,10);

printf("thesortedarray:

\n");

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

printf("%5d\n",a[i]);}

9.输入一个字符串,并将字符串倒序输出;

#include

voidmain()

{

charch,str[]="hellosomebody!

";

inti,n;

n=sizeof(str)-1;

/*charch,str[20];

inti,n;

gets(str);

n=strlen(str);*/

for(i=0;i

{

ch=str[i];

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

str[n-i-1]=ch;

}

printf("%s\n",str);}

10.打印杨辉三角形

/*杨辉三角*/

#include

main()

{

inti,j,k,a[10][10];

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

{

for(k=0;k<18-i;k++)printf("%2c",'');

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

{

if(j==0||j==i)a[i][j]=1;

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

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

}

printf("\n");

}

}

11.数组元素的插入、删除及查找(习题五编程题13)

数组元素的删除

#include

voidmain()

{inta[10]={3,7,6,4,15,8,2,1,10,9};

intmax=0;

for(i=1;i<10;i++)if(a[i]>a[max])max=i;

for(i=max+1;i<10;i++)a[i-1]=a[i];

a[10]=0;

for(i=0;i<9;i++)printf(“%d”,a[i]);

}

数组元素的插入.删除书上P162例题5.5

#include

voidmain()

{inta[11]={1,4,6,9,13,16,19,28,40,100};

inti,number;

printf(“originalarrayis:

\n”);

for(i=0;i<10;i++)printf(“%5d”,a[i]);

printf(“\n”);

printf(“insertanewnumber:

”);

scanf(“%d”,&number);

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

if(a[i]>number)a[i+1]=a[i];

elsebreak;

a[i+1]=number;

for(i=0;i<11;i++)printf(“%5d”,a[i]);

printf(“\n”);

}

数组元素的查找;书上P164例题5.8

#include

intsearch(ints[10],intx)

{inti;

for(i=0;i<10;i++)if(s[i]==x)break;

if(i<10)return1;

elsereturn0;

}

voidmain()

{

inta[10],i,e;

printf(“enterthearray:

\n”);

for(i=0;i<10;i++)scanf(“%d”,&a[i]);

printf(“entertheelement:

\n”);scanf(“%d”,&e);

if(search(a,e)==1)printf(“theelement%dexistsinthearray.”,e);

elseprintf(“cannotfindtheelement%d.”,e);

}

12.P196编程题3

/*折半搜索*/

#include

main()

{

inta[15],L,R,M,x,i;

for(i=0;i<15;i++)scanf("%d",&a[i+1]);

L=0;R=14;

printf("findwhat?

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

while(L<=R)

{

M=(L+R)/2;

if(a[M]==x){printf("havingfound,itsseqnois%d\n",M);break;}

elseif(a[M]

elseif(x

}

if(L>R)printf("notfindsuchnumber.");

}

13、百钱买百鸡书上P98例题3.35

#include

voidmain()

{inti,j,k;

printf("\nijk\n");

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

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

for(k=1;k<=98;k++)

if((i+j+k==100)&&(10*i+2*j+k==200))printf("%7d%7d%7d\n",i,j,k);

}

14、分类统计(字符、数字、其他字符各多少个?

字符个数

#include

intlen(char*s1)

{

char*p1;

inti;

p1=s1;

for(i=0;*p1!

='\0';p1++,i++);

returni;

}

main()

{

charstr[]="Helloworld!

";

printf("len=%d",len(str));

}

15、频率统计(习题五编程题12)

#include

voidmain()

{

inti,j,num[6]={0,0,0,0,0,0},n=0;

chars[40];

printf("pleaseinput:

");scanf("%s",&s);

for(i=0;s[i]!

=0;i++)

{n++;j=s[i]-'a';

if(j>=0&&j<=5)num[j]++;

}

n=i;

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

{

num[i]=num[i]*100.0/n+0.5;

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

}

printf("\n");

}

16、判断是否回文

#include

voidmain()

{

inta,b,c,d,e;

longx;

{

printf("\nPleaseinputapositiveintegernumbertox:

");

scanf("%ld",&x);

}

a=x/10000;

b=x%10000/1000;

c=x%1000/100;

d=x%100/10;

e=x%10;

if(a>0)

{

if(e==a&&d==b)printf("thisnumberisahuiwen\n");

elseprintf("thisnumberisnotahuiwen\n");

}

elseif(b>0)

{

if(e==b&&d==c)printf("thisnumberisahuiwen\n");

elseprintf("thisnumberisnotahuiwen\n");

}

elseif(c>0)

{

if(e==c)printf("thisnumberisnotahuiwen\n");

elseprintf("thisnumberisahuiwen\n");

}

elseif(d>0)

{

if(e==d)printf("thisnumberisnotahuiwen\n");

elseprintf("thisnumberisahuiwen\n");

}

}

17、求阶乘

#include

main()

{inti,j,n;

longterm,sum=0;

printf("Inputn:

");

scanf("%d",&n);

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

{

term=1;

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

{

term=term*j;

}

}printf("阶乘是%d\n",term);

}

18、求和

#include

voidmain()

{

intsum=0,i=2;

while(i<=100)

{

sum=sum+i;

i=i+2;

}

printf("2+4+...+100=%d",sum);

}

19、数制转换(P155编程题6)

#include

#include

#include

inttrans(chart[],intn)

{

inti,s=0;

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

if(t[i]>='0'&&t[i]<='9')s=s+(t[i]-48*(int)pow(16,n-i-1));

else

s=s+(t[i]-97+10)*(int)pow(16,n-i-1);

returns;

}

voidmain()

{

charx[8],c;

inti,result;

printf("entera%%xstylenumber,endby'#':

");

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

{

c=getchar();

if(!

((c>='0'&&c<='9')||(c>='a'&&c<='f')||(c=='#')))

{printf("inputerror,programexit!

\n");exit

(1);}

if(c=='#')break;

x[i]=c;

}

x[i]='\0';

result=trans(x,i);

printf("theresultis%d.\n",result);

}

20、判断数据的位数(例3.20)

#include

main()

{

intn,count=0,d;

printf("pleaseinputaintegerton:

");

scanf("%d",&n);

while(n!

=0)

{

d=n%10;

n/=10;

count++;

}

printf("它的位数是%d\n",count);

}

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

当前位置:首页 > 总结汇报 > 学习总结

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

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