专升本C语言各种程序文档格式.docx

上传人:b****5 文档编号:21419523 上传时间:2023-01-30 格式:DOCX 页数:16 大小:20.58KB
下载 相关 举报
专升本C语言各种程序文档格式.docx_第1页
第1页 / 共16页
专升本C语言各种程序文档格式.docx_第2页
第2页 / 共16页
专升本C语言各种程序文档格式.docx_第3页
第3页 / 共16页
专升本C语言各种程序文档格式.docx_第4页
第4页 / 共16页
专升本C语言各种程序文档格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

专升本C语言各种程序文档格式.docx

《专升本C语言各种程序文档格式.docx》由会员分享,可在线阅读,更多相关《专升本C语言各种程序文档格式.docx(16页珍藏版)》请在冰豆网上搜索。

专升本C语言各种程序文档格式.docx

s=s+1/t;

returns;

5.编写一个函数fun,它的功能是:

根据以下公式求P的值,结果由函数值带回。

m与n为两个正整数,且要求m>

n。

p=m!

/n!

(m-n)!

floatfun(intm,intn)

{floatp,t=1.0;

inti;

for(i=1;

=m;

t=t*i;

p=t;

for(t=1.0,i=1;

p=p/t;

for(t=1.0,i=1;

m-n;

returnp;

6.编写函数fun,它的功能是:

利用以下的简单迭代方法求方程cos(x)-x=0的一个实根。

迭代步骤如下:

(1)取x1初值为0.0;

(2)x0=x1,把x1的值赋各x0;

(3)x1=cos(x0),求出一个新的x1;

(4)若x0-x1的绝对值小于0.000001,则执行步骤(5),否则执行步骤

(2);

(5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。

程序将输出Root=0.739085。

folatfun()

{floatx1=0.0,x0;

do

{x0=x1;

x1=cos(x0);

}

while(fabs(x0-x1)>

=1e-6);

returnx1;

7.请编写一个函数voidfun(inttt[M][N],intpp[N]),tt指向一个M行N列的二维函数组,求出二维函数组每列中最小元素,并依次放入pp所指定一维数组中。

二维数组中的数已在主函数中赋予。

voidfun(inttt[M][N],intpp[N])

{inti,j,min;

for(j=0;

j<

N;

j++)

{min=tt[0][j];

for(i=0;

M;

{if(tt[i][j]<

min)

min=tt[i][j];

pp[j]=min;

8.请编写一个函数fun(char*s),该函数的功能使把字符串中的内容逆置。

voidfun(char*s)

{charch;

inti,m,n;

i=0;

m=n=strlen(s)-1;

while(i<

(n+1)/2)

{ch=s[i];

s[i]=s[m];

s[m]=ch;

i++;

m--;

9.编写程序,实现矩阵(3行3列)的转置(即行列互换)。

voidfun(intarray[3][3])

{inti,j,temp;

for(i=0;

3;

for(j=0;

j++){temp=array[i][j];

array[i][j]=array[j][i];

array[j][i]=temp;

10.编写函数fun,该函数的功能是:

从字符中删除指定的字符,同一字母的大、小写按不同字符处理。

voidfun(chars[],intc)

{inti=0;

char*p;

p=s;

while(*p)

{if(*p!

=c)

{s[i]=*p;

p++;

s[i]='

\0'

;

11.N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。

请编写函数fun,它的功能是:

找出学生的最高分,由函数值返回。

doublefun(STREC*h)

{doublemax;

STREC*q=h;

max=h->

s;

{if(q->

s>

max)

max=q->

q=q->

next;

while(q!

=0);

returnmax;

12.请编写函数fun,该函数的功能是:

判断字符串是否为回文?

若是则函数返回1,主函数中输出YES,否则返回0,主函数中输出NO。

回文是指顺读和倒读都是一样的字符串。

intfun(char*str)

{inti,n=0,fg=1;

char*p=str;

while(*p)

{j++;

j--;

=j;

{if(str[i]!

=str[j]){fg=0;

break;

returnfg;

13.请编写一个函数fun,它的功能是:

将一个字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。

longfun(char*p)

{longs=0,t;

inti=0,n=strlen(p);

if(p[0]=='

-'

for(;

=n-1;

++)

{if(p[i]>

=’0’&

p[i]<

=’9’)

s=s*10+p[i]-'

0'

return-s;

else

14.请编写一个函数fun,它的功能是:

输出一个字符串的长度。

(不得调用C语言提供的求字符串长度的函数)。

Intfun(char*s)

{inti=0;

While(*s++)i++;

ReturnI;

15.请编写一个函数fun,它的功能是:

将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。

voidfun(char*ss)

{inti,n;

n=strlen(ss);

for(i=1;

n;

i+=2;

if(ss[i]>

='

a'

ss[i]<

z'

ss[i]=ss[i]-32;

16.请编写函数fun,其功能是:

将s所指字符串中除了下标为偶数、同时ASCII值也为偶数的字符外,其余的全都删除;

串中剩余字符所形成的一个新串放在t所指的一个数组中。

voidfun(char*s,chart[])

{inti,j,n;

n=strlen(s);

if(i%2==0&

s[i]%2==0)

{t[j]=s[j];

j++;

t[j]='

17..编写一个函数fun,它的功能是:

实现两个字符串的连接(不使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串后。

voidfun(charp1[],charp2[])

{inti=0,n=0;

char*p=p1,*q=p2;

{p++;

n++;

i=n;

{p1[i]=*q;

q++;

p1[i]='

18.请编写函数fun,该函数的功能是:

统计字符串中单词的个数,作为函数值返回。

一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格格开,一行的开始没有空格。

 intfun(char*s)

{inti,n=0;

for(i=1;

i<

strlen(s);

{if(s[i]='

s[i]<

s[i-1]=='

 '

returnn+1;

19.请编写一个函数fun,它的功能是:

计算并输出给定整数n的所有因子(不包括1与自身)之和。

规定n的值不大于1000。

.intfun(intn)

{ints=0,i;

if(n%i==0)

s+=i;

20.请编写一个函数fun,它的功能时:

求Fibonacci数列中大于t的最小的一个数,结果由函数返回。

其中Fibonacci数列F(n)的定义为:

F(0)=0,F

(1)=1,F(n)=F(n-1)+F(n-2)

intfun(intt)

{inta=1,b=1,c=0,i;

for(i=4;

{if(c<

t)

{c=a+b;

a=b;

b=c;

returnc;

21.删除子字符串

voidDelete_SubString(char*source,intstart,intnum)

{

inti,l;

l=strlen(source);

if(num>

l-start+1||num==-1)num=l-start+1;

if(start<

1||start>

l)return;

for(i=start;

l-num+2;

source[i-1]=source[i+num-1];

22.一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

#include"

math.h"

main()

longinti,x,y,z;

for(i=1;

100000;

 {x=sqrt(i+100);

  /*x为加上100后开方后的结果*/

  y=sqrt(i+268);

  /*y为再加上168后开方后的结果*/

   if(x*x==i+100&

y*y==i+268)/*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/

    printf("

\n%ld\n"

i);

 }

23.打印出杨辉三角形(要求打印出10行如下图)   

     1

      1 1

      1 2 1

      1 3 3 1

      1 4 6 4 1

      1 5 10 10 5 1 

{inti,j;

inta[10][10];

printf("

\n"

);

for(i=0;

10;

 {a[i][0]=1;

 a[i][i]=1;

for(i=2;

 for(j=1;

i;

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

 {for(j=0;

=i;

 printf("

%5d"

a[i][j]);

24.判断101-200之间有多少个素数,并输出所有素数。

 intm,i,k,h=0,leap=1;

 printf("

 for(m=101;

m<

=200;

m++)

  {k=sqrt(m+1);

   for(i=2;

=k;

     if(m%i==0)

      {leap=0;

break;

   if(leap){printf("

%-4d"

m);

h++;

        if(h%10==0)

        printf("

       }

   leap=1;

  }

\nThetotalis%d"

h);

25.打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。

例如:

153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。

inti,j,k,n;

'

waterflower'

numberis:

"

 for(n=100;

n<

n++)

 {

  i=n/100;

/*分解出百位*/

  j=n/10%10;

/*分解出十位*/

  k=n%10;

/*分解出个位*/

  if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)

   {

   printf("

%-5d"

n);

   }

 }

26.将一个正整数分解质因数。

输入90,打印出90=2*3*3*5。

程序分析:

对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:

(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。

(2)如果n<

>

k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。

(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

2.程序源代码:

/*zhengintisdividedyinshu*/

intn,i;

\npleaseinputanumber:

scanf("

%d"

&

n);

%d="

  while(n!

=i)

  {

   if(n%i==0)

   {printf("

%d*"

    n=n/i;

   else

    break;

27.一个数如果恰好等于它的因子之和,这个数就称为“完数”。

例如6=1+2+3.编程

   找出1000以内的所有完数。

staticintk[10];

inti,j,n,s;

for(j=2;

 n=-1;

 s=j;

  for(i=1;

J;

I++)

   if((j%i)==0)

   { n++;

    s=s-i;

    k[n]=i;

 if(s==0)

%disawanshu"

j);

 for(i=0;

%d,"

k[i]);

%d\n"

k[n]);

28.一球从100米高度自由落下,每次落地后反跳回原高度的一半;

再落下,求它在

   第10次落地时,共经过多少米?

第10次反弹多高?

floatsn=100.0,hn=sn/2;

intn;

for(n=2;

=10;

  sn=sn+2*hn;

/*第n次落地时共经过的米数*/

  hn=hn/2;

/*第n次反跳高度*/

thetotalofroadis%f\n"

sn);

thetenthis%fmeter\n"

hn);

29.猴子吃桃问题:

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

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

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

到第10天早上想再吃时,见只剩下一个桃子了。

求第一天共摘了多少。

intday,x1,x2;

day=9;

x2=1;

while(day>

0)

 {x1=(x2+1)*2;

/*第一天的桃子数是第2天桃子数加1后的2倍*/

 x2=x1;

 day--;

thetotalis%d\n"

x1);

打印菱形

stdio.h"

voidmain()

inti,j,n;

printf("

Enternumberrows:

scanf("

{

for(j=1;

=n-i;

putchar('

'

=2*i-1;

*'

putchar('

\n'

for(i=n-1;

i>

=1;

i--)

打印星号

Entertherows:

for(i=1;

i<

=n;

for(j=1;

j<

=n-i;

for(j=1;

=2*i-1;

putchar('

判断素数

intn,i;

请输入一个数N:

i=2;

while((i<

=n)&

(n%i!

=0))

i++;

if(i>

=n)

printf("

Yes,\n"

No,\n"

随机10个数输出最大值

#include"

stdlib.h"

voidmain()

inti,a[10],max;

a[i]=rand()%200;

Thenumarrayis:

printf("

%d\t"

a[i]);

max=a[0];

if(a[i]>

max=a[i];

The10numberis:

%d.\n"

max);

星号

introw,col,rowsCount;

rowsCount);

for(row=1;

row<

=rowsCount/2+1;

row++)

for(col=1;

col<

=rowsCount-row;

col++)

=2*row-1;

for(row=rowsCount/2;

row>

row--)

}

转置

inta[10][10],i,j,t,m,n;

Entertherowsandcols:

m);

n=m;

//生成

for(j=0;

a[i][j]=rand()%200;

//输出原矩阵

Theyuanjuzhenis:

printf("

//转置

{

t=a[i][j];

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

a[j][i]=t;

}

//输出转置后的矩阵

Thezhuangzhihoujuzhenis:

字母

putchar(64+i);

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

当前位置:首页 > 小学教育 > 英语

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

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