2024年1月14日发(作者:)

1、随机产生10个数存入一维数组a中,求这10数中的最大数并输出。

#include

#include

main()

{int a[10],i,max;

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

{a[i]=rand()%50;

max=a[0];

if(max

max=a[i];}

printf("%dn",max);

}

41

Press any key to continue

2,从键盘上输入a与n的值,计算sum=a+aa+aaa+aaaa+…(共n项)的和。例a=2,n=4,则sum=2+22+222+2222.

#include

#include

#include

main()

{ int a,n,i,sum=0,sum1;

printf("input two number:");

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

sum1=a;

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

{ sum1=sum1*10+a; sum=sum+sum1; }

printf("the result is %dn",sum);}

input two number:2 4

the result is 2466

Press any key to continue

3,编写程序,输出100~500之间的所有素数,每行输出5个。

#include

void main()

{ int i,j,k,min=100,max=500,temp=1;

for(i=min;i<=max;i++)

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

{ if(i%j==0) break; }

if (j > i/2+1){ temp++;

printf("%5d",i); }

if(temp==6)

{ temp=1; printf("n"); }

}

}

101 103 107 109 113

127 131 137 139 149

151 157 163 167 173

179 181 191 193 197

199 211 223 227 229

233 239 241 251 257

263 269 271 277 281

283 293 307 311 313

317 331 337 347 349

353 359 367 373 379

383 389 397 401 409

419 421 431 433 439

443 449 457 461 463

467 479 487 491 499

Press any key to continue

4,有一头母牛,它每年年初生一头小母牛,每头小母牛从第四个年头起,每年年初也生一头小母牛,编写程序,求第20年时,共有多少头牛。

#include

int main()

{

int n,s[100],i,sum;

while(scanf("%d",&n)!=EOF)

{

if(n==0)break;

s[0]=s[1]=s[2]=0;

s[3]=1;

for(i=1;i

{

s[3]=s[3]+s[2];

s[2]=s[1];

s[1]=s[0];

s[0]=s[3];

}

sum=s[0]+s[1]+s[2]+s[3];

printf("%dn",sum);

}

return 0;

}

20

1873

5,编写程序,输出下列三角形:

1 1 1 1 1 1 1

1 1 1 1 1

1 1 1

1

#include

main()

{ int i,j,k;

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

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

printf(" ");

for(j=0;j<7-i*2;j++)

printf("1");

printf("n");

}

}

1111111

11111

111

1

Press any key to continue

6, 编写程1

1

1 1

1 1

#include

main()

{ int k,i,j;

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

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

printf(" ");

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

printf("1");

printf("n");

}

}

1

111

11111

1111111

Press any key to continue

序,1

输出1

1

1

下列1

三角1

1

形:1

1

1

7,编写程序,输出下列三角形:

4 4 4 4 4 4 4

3 3 3 3 3

2 2 2

1

#include

main()

{int k,i,j;

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

{for(k=0;k<4-i;k++)printf(" ");

for(j=1;j<=2*i-1;j++)printf("%d",i);

printf("n");

}

}

4 4 4 4 4 4 4

3 3 3 3 3

2 2 2

1

Press any key to continue

8, 编写程序,1

2

3 3

4 4 4

#include

main()

{ int k,i,j;

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

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

printf(" ");

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

printf("%d",k);

printf("n");

}

}

1

222

33333

4444444

Press any key to continue

9, 编写程序,输出下列三角形:

1

输出2

3

4

下列4

三角3

4

形:2

3

4

1 2 3

1 2 3 4 5

1 2 3 4 5 6 7

#include

main()

{int k,i,j;

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

{for(k=0;k<4-i;k++)printf(" ");

for(j=1;j<=2*i-1;j++)printf("%d",j);

printf("n");

}

}

1

1 2 3

1 2 3 4 5

1 2 3 4 5 6 7

Press any key to continue

10, 编写程序,输出1 2 3 4

1 2 3

1 2

1

#include

main()

{ int k,i,j;

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

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

for (j=1;j<8-i*2;j++) printf("%d",j);

printf("n");

}

}

1234567

12345

123

1

Press any key to continue

11,求s=1!+3!+5!…+19!的值,并将s输出。#include

#include

void main()

{ int i,j,sex,sum;

下列5

三角6

4

形:7

5

3

sum=0;

sex=1;

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

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

sex=sex*j;

sum=sum+sex;

}

printf("sum=1!+2!...+20!=%dn",sum);

}

sum=1!+2!...+20!=1444231215

Press any key to continue

13,有一个已排好序的数组,输入一个数,要求按照顺序将它插入到数组中。

#include

void main()

{

int a[6]={1,3,5,7,9};

int i,m,j;

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

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

printf("please input a digit:n");

scanf("%d",&m);

a[5]=m;

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

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

{ if(a[i]

{ int t=a[i];

a[i]=a[j];

a[j]=t;

}

}

printf("Now the :n");

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

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

printf("n");

}

1 3 5 7 9

please input a digit:

14,编程实现用选择法对10个随机整数排序。

#include

#include

void main()

{ int a[10],i,j,t,k;

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

{srand(i);a[i]=rand();}

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

{for(k=i,j=i+1;j<10;j++)

if(a[k]

k=j;

if(i!=k)

{ t=a[i];

a[i]=a[k];

a[k]=t;}}

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

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

}

68 64 61 58 54 51 48 45 41 38 Press any key to continue

15,求一个3×3矩阵对角线元素之和(元素为1~100的随机整数)。

#include

#include

void main()

{int x[3][3]={0},sum;

int a=0,b=0;

int i,j;

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

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

{ x[i][j]=rand()%100+1; }

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

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

{if(i==j) b=b+x[i][j];

if(i+j==2) a=a+x[i][j];

}

printf("sum=%d,sum=%dn",a,b);

}

sum=184,sum=175

Press any key to continue

16,、输出一个3×5矩阵每行的平均值(元素为1~100的随机整数)。

#include

#include

main()

{int i,j,a[3][5],sum;

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

{ printf("n");

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

{a[i][j]=1+rand()%100;

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

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

sum=0;

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

{sum=sum+a[i][j];}

printf("ni=%d,ave=%dn",i,sum/5);

}

42 68 35 1 70

25 79 59 63 65

6 46 82 28 62

i=3,ave=1167511

Press any key to continue

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

#include

#include

main()

{ char c;

int w=0,x=0,y=0,z=0;

while((c=getchar())!='n')

{ if((c>='a'&&c<='z')||(c>='A'&&c<='z'))

w++;

else if(c==' ')

x++;

else if(c>='0'&&c<='9')

y++;

else

z++;

}

printf("w=%d,x=%d,y=%d,z=%d",w,x,y,z);

}

I am a boy

w=7,x=4,y=0,z=0Press any key to continue

18,请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的个位和百位上。

例函如,数当a=45fun,原b=12,型调用:该函数后,c=4251。

b); intfun(int a,int

注意:部分源程序给出如下。请在函数fun的花括号中填入所编写的若干语句。

intfun(inta,intb)

{

}

void

{

int

c=fun(45,12);

printf("%d",c);//cout<

}

int fun(int a,int b)

{

int c;

c = a/10*1000 + a%10*10 + b/10 +b%10*100;

return c;

}

4251

Press any key to continue

main()

c;

19,请编写一个函数fun,它的功能是:计算n门课程的最高分,计算结果作为函数值返回。

例如:若有5门课程的成绩是:90,92,80,61,55,则函数的值为92。

注意:部分源程序给出如下。请在函数fun的花括号中填入所编写的若干语句。

double

fun(inta[],intn)

{

}

voidmain()

{

intc[5],i;doubleaver;

cout<<”cin>>c[i];

aver=fun(c,5);

cout<<"所输入的所有成绩的最高分为:";

cout<

cout<

}

#include

double fun(int a[],int n)

{

int i,max = a[0];

for(i=1;i

if(max < a[i])

max = a[i];

}

return max;

//printf("%f",aver);

请输入5门课成绩:";

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

void main()

{

int c[5],i;double aver;

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

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

aver=fun(c,5);

printf("%fn",aver);

}

90

92

80

61

55

92.000000

20,请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的千位和十位上。

例函int

{

}

void

{

int

c=fun(45,12);

printf("%d",c);//cout<

}

{

int c;

c = a/10 + a%10*100 + b/10*1000 +b%10*10;

return c;

}

1524

Press any key to continue

c;

main()

如,数当funa=45,原b=12型,调:用该函数后,c=1524。

b);

b)

int fun(int

a,int

a,int

注意:部分源程序给出如下。请在函数fun的花括号中填入所编写的若干语句。

fun(int

21,求出100至1000之内能同时被2、3、7整除的整数,并输出。

#include

int main()

{

}

int i=100;

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

{ if(i%(2*3*7)==0)

printf("%4d",i);

}

return 0;

126 168 210 252 294 336 378 420 462 504 546 588 630 672 714 756 798 840 882 924

966Press any key to continue

22.编写程序,随机生成10个1~100之间的整数,输出其中的最大数和最小数。

23.请编写一个函数fun,它的功能是:计算n门课程的平均分,计算结果作为函数值返回。

例如:若有5门课程的成绩是:90,72,80,61,55,则函数的值为71.6。

注意:部分源程序给出如下。请在函数fun的花括号中填入所编写的若干语句。

double

{

}

void

{

int

cout<<"cin>>c[i];

aver=fun(c,5);

cout<<"所输入的所有成绩的平均分为:";

cout<

cout<

}

//printf("%f",aver);

请输入for(i=0;i<5;i++)

c[5],i;double

5门课成绩:aver;

";

main()

fun(int a[],int n)