新思路国二C语言编程大全程序105套.docx

上传人:b****1 文档编号:22814483 上传时间:2023-04-28 格式:DOCX 页数:53 大小:628.99KB
下载 相关 举报
新思路国二C语言编程大全程序105套.docx_第1页
第1页 / 共53页
新思路国二C语言编程大全程序105套.docx_第2页
第2页 / 共53页
新思路国二C语言编程大全程序105套.docx_第3页
第3页 / 共53页
新思路国二C语言编程大全程序105套.docx_第4页
第4页 / 共53页
新思路国二C语言编程大全程序105套.docx_第5页
第5页 / 共53页
点击查看更多>>
下载资源
资源描述

新思路国二C语言编程大全程序105套.docx

《新思路国二C语言编程大全程序105套.docx》由会员分享,可在线阅读,更多相关《新思路国二C语言编程大全程序105套.docx(53页珍藏版)》请在冰豆网上搜索。

新思路国二C语言编程大全程序105套.docx

新思路国二C语言编程大全程序105套

1.学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:

把分数低的学生数据放在b所指的数组中,注意分数最低的学生可能不止一个,函数返回最低的学生的人数。

inti,j=0,min=a[0].s;

for(i=0;i

if(min>a[i].s){

j=0;b[j++]=a[i];min=a[i].s;

}

elseif(min==a[i].s)

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

}

returnj;

2

intr=0,temp,p,sign=1;

for(temp=m+1;temp

//从temp开始循环,判断紧靠temp的整数

{

for(p=2;p

{

if(temp%p!

=0)//判断temp是否为素数

sign=1;//若是素数,标志设为1

else

{

sign=0;//若不是素数,标志设为0

break;

}

}

if(sign==1&&p>=temp)

{

if(k>=0)//判断已有的素数个数是否已经满足sum个

{

xx[r++]=temp;//将素数temp存入数组select

k--;//将题目中要求的素数个数减1

}

else

break;

}

}

}

3

3

.

doubles=1.0,y=x;

inti;

longk=1;

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

k=k*i;

s+=y/k;

y*=x;

}

returns;

4,

.

inti;

char*p=s,*q=t;

intn=0,m=0;

while(*p){

n++;

p++;

}while(*q)

{

m++;

q++;

}

if(n>=m)

p=s;

else

p=t;

returnp

5

.inti,j=0;

for(i=0;i

if(s[i]%2==0)t[j++]=s[i];

t[j]='\0';

6

longw;

w=h*1000+5;

return(float)w/1000;

7.

.

{

inttot=0,i,j;

for(i=0;i

tot+=a[0][i];

tot+=a[M-1][i];

}

for(i=1;i

tot+=a[i][0];

tot+=a[i][N-1];

}

returntot;

8.

inti,j;

for(j=0;j

b[j]=0;//计数器初始化

for(i=0;i

if(a[i]>=0&&a[i]<=9)

//0到9岁

b[0]+=1;

elseif(a[i]>=10&&a[i]<=19)//10到19岁

b[1]+=1;

elseif(a[i]>=20&&a[i]<=29)

b[2]+=1;

elseif(a[i]>=30&&a[i]<=39)

b[3]+=1;

elseif(a[i]>=40&&a[i]<=49)

b[4]+=1;

elseif(a[i]>=50&&a[i]<=59)

b[5]+=1;

elseif(a[i]>=60&&a[i]<=69)

b[6]+=1;

elseif(a[i]>=70&&a[i]<=79)

b[7]+=1;

elseif(a[i]>=80&&a[i]<=89)

b[8]+=1;

elseif(a[i]>=90&&a[i]<=99)

b[9]+=1;

else

b[10]+=1;

}

doublernd()

{statict=29,c=217,m=1024,r=0;

r=(r*t+c)%m;return((double)r/m);

}

9

doubles=0,t=1;

inti;

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

t*=i;

s+=1./t;

}

returns;

10

.

inti,j=0;

doubles=0;

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

for(j=2;j

if(i%j==0)break;

if(j==i)s=s+sqrt(i);

}

returns;

11.

.inti,t,j=0,*p=a;

t=p[0];//设置临时变量t初值指向第一数组值

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

if(t==p[i])//当临时变量与数组中的某个值相同则跳出,比较下一个元素

;

else//如果临时变量与数组中值不同,则对临时变量重新赋值

{

a[j]=t;

t=p[i];

j++;

}

if(i>=n)

a[j]=t;

returnj;

12.

.inti;

doubleave=0.0;

*n=0;

for(i=0;i

ave/=N;/*计算平均值*/

for(i=0;i

if(a[i].s

b[*n]=a[i];

(*n)++;

13

inti,n=0;//字符统计初始值设置为0

for(i=0;i

//小于字符串长度进行字符循环判断

{

if(s[i]>='a'&&s[i]<='z'&&s[i+1]==''||s[i+1]=='\0')//单词判断条件

n++;//单词统计计数器加1

}

returnn;//返回统计值

 

14.

intj=0;

char*p=a;

while(*p=='*')p++;

while(*p){

a[j++]=*p;

p++;

}

a[j]='\0';

15。

doubles=0.0;

inti;

for(i=1;i<=m;i++)s+=log(1.0*i);

s=sqrt(s);

returns;

16。

.inti,j;

for(j=0;j

for(i=0;i

{

b[*n]=*(*(s+i)+j);

*n=*n+1;

}

17.

inti,n=0,flag=1;//初始设置标识位flag=1

char*p=str;//设置工作指针

while(*p)//取字符串大小

{

n++;

p++;

}

for(i=0;i

//循环判断字符串s是否为回文

if(str[i]==str[n-1-i]);

//设置比较位j为n-1-i

else

//若不符合条件,标识位设为0,跳出循环

{

flag=0;

break;

}

returnflag;

}

18。

inti,j;

intt=0;//初始化数组个数

for(i=2;i

{

j=2;

while(j

{

if(i%j==0)//如果i不是素数

{

xx[t]=i;

t++;

break;

}

j++;

}

*k=t;

}

}

19

char*q=a;

intj=0;

while(*q&&q

if(*q!

='*')a[j++]=*q;

q++;

}

while(*p)a[j++]=*p++;

a[j]='\0';

20

inti;

floatave=0.0;

for(i=0;i

ave=ave/n;

returnave;

 

21

.inti;

*n=0;

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

if(((i%7)==0||(i%11)==0)&&(i%77)!

=0)a[(*n)++]=i;

}

22

.STRECtmp;

inti,j;

for(i=0;i

for(j=i+1;j

if(a[i].s

tmp=a[i];

a[i]=a[j];

a[j]=tmp;

}

}

23.

.

inti;

doublesum=0.0;

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

if(i%5==0||i%9==0)/*被5或9整除*/

sum+=1.0/i;

returnsum;

24

inti,max=a[0].s,n=0;

for(i=1;i

if(max

for(i=0;i

if(max==a[i].s)b[n++]=a[i];/*找相等的最高成绩并存入数组b中*/

returnn;/*返回符合条件的人数*/

}

25.

inti,min=a[0].s,j=0;

for(i=1;i

if(min>a[i].s){/*如果最低分min仍大于当前分*/

j=i;/*记住位置*/

min=a[i].s;/*把当前分赋值给min*/

}

*s=a[j];

26.

inti,pos=0,max=*s;

for(i=1;i

if(max<*(s+i)){

max=*(s+i);

pos=i;

}

}

*k=pos;

27

}

FILE*rf,*wf;

inti,a,b;longc;

rf=fopen("in.dat","r");

wf=fopen("out.dat","w");

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

fscanf(rf,"%d,%d",&a,&b);

fun(a,b,&c);

fprintf(wf,"a=%d,b=%d,c=%ld\n",a,b,c);

}

fclose(rf);

fclose(wf);

}

28

doublet=0;

inti;

*n=0;

for(i=0;i

t=t/N;

for(i=0;it)b[(*n)++]=a[i];

returnt;

29、

intn=1;/*循环计数*/

doublesn=1;/*累计数*/

doublexn=1,xn1=0;/*x的n值,以及x的n-1值;*/

while(fabs(xn-xn1)>=0.000001)/*绝对值是否满足条件*/

{

xn=xn*x*(0.5-n+1)/n;/*表达式分解以后xn=(xn-1)*x*(0.5-n+1)/n*/

n+=1;

sn+=xn;/*sn累加上xn*/

}

return(sn);

30

STREC*p=h->next;/*由于头结点中没有存放数据*/

doubleav=0.0;/*对计算成绩平均值的变量进行初始化*/

intn=0;

while(p!

=NULL){/*判断链表是否结束*/

av=av+p->s;/*对成绩进行累加*/

p=p->next;/*到下一个结点位置*/

n++;/*人数加1*/

}

av/=n;/*计算成绩平均值*/

returnav;/*返回成绩平均值*/

31

inti;

c.num[0]='\0';/*置初始空串*/

c.s=-1;/*置成绩为-1*/

for(i=0;i

if(strcmp(a[i].num,b)==0){/*判断学号是否相等*/

strcpy(c.num,a[i].num);/*相等,则对学号进行赋值*/

c.s=a[i].s;/*相等,则对成绩进行赋值*/

break;/*退出循环体*/

}

returnc;/*返回结构体变量*/

 

32.

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

33.

char*p=tt;

inti;

for(i=0;i<26;i++)pp[i]=0;

while(*p){

if(*p>='a'&&*p<='z')pp[*p-'a']+=1;

p++;

}

}

34

chart;

inti,j;

for(i=1;i

//对n个元素进行循环选择

for(j=i+1;j

if(s[i]

//将str[i]设为最大值,和剩下的j~n-1进行比较

{

t=s[i];

s[i]=s[j];

s[j]=t;

}

}

35.

.

inti,j;

for(i=0;i

for(j=0;j

{

b[*n]=*(*(s+i)+j);

*n=*n+1;

36

inti,max=a[0].s,j=0;

for(i=1;i

if(max

j=i;

max=a[i].s;

}

*s=a[j];

}

 

37

floatx0,x1=0.0;

do{

x0=x1;

x1=cos(x0);

}while(fabs(x0-x1)>0.000001);

returnx1;

38

inti=0,j=0;

char*p,*t;

p=t=a;

while(*t)//让指针t指向串尾

t++;

t--;//t指向串中的最后一个字符

while(*t=='*')

//当t指针当前指向的字符是"*"号时

{

j++;//对"*"号计数的累加器加1

t--;//指向前一个字符

}

t++;//跳出"*"号统计后,指针t继续指向字符串的下一个字符

if(j>n)//对统计的"*"号数目大于给定的"*"号总数n

{

while(*p&&p

//当超出给定的"*"号数目,则开始进行截取

{

a[i]=*p;//截取n个"*"号

i++;

p++;

}

a[i]='\0';//对新生成的串加尾符

}

}

39.

inti,j,k=0;

for(i=0;i

{

for(j=0;j

if(*(*(a+i)+j))

//如果不指向行的尾

{

b[k]=*(*(a+i)+j);

//将行中的值赋值给数组b

k++;//数组下标加1

}

else//如果指向尾,则跳出这一行

break;

b[k]='\0';//数组加尾符

}

}

40

char*p=str;

inti=0;

while(*p){

if(*p!

='')str[i++]=*p;

p++;

}

str[i]=0;

}

41

.

inti;

doublefac=1.0;

doublesum=1.0;

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

fac+=sqrt(i);

sum+=fac;

}

returnsum;

42

inti,k=0,maxlen;/*k为a数组中最长串所在元素的下标,初始为0,maxlen为其串长*/

maxlen=strlen(a[k]);

for(i=1;i

{

/*以下完成查找最长串*/

if(strlen(a[i])>maxlen){

maxlen=strlen(a[i]);

k=i;

}

}

*max=a[k];

}

43

inti,j=0,b[N];

for(i=p+1;i

for(i=0;i<=p;i++)b[j++]=w[i];

for(i=0;i

}

44.

doubles=1;

longt=1;

inti;

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

t=t*i;/*计算阶乘*/

s+=1./t;/*计算每项的值并累加至变量s中*/

}

returns;/*返回多项式的值*/

}

45

intj=0;

char*p=a;

while(*p){

if(*p!

='*')a[j++]=*p;

p++;

}

a[j]='\0';

46

}

inti;

for(i=1;i

{

if(ss[i]>='a'&&ss[i]<='z')ss[i]-=32;

}

47

intcnt=0;

char*p=ss;

while(*p){

if(*p==c)cnt++;

p++;

}

returncnt;

48

charb[N];

inti=0,j;

memset(b,0,N);

for(j=strlen(s)-1;j>=0;j--)b[i++]=s[j];

strcpy(s,b);

49

inti,j;

for(i=0;i

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

a[i][j]=0;

50

inti,j=0;*n=0;

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

if(i%7==0||i%11==0)

{

a[j]=i;

j++;

}

*n=j;

51

inti=0,k=0;

char*t=a;

while(*t=='*')

{

k++;

t++;

}

t=a;

if(k>n)

t=a+k-n;

while(*t)

{

a[i]=*t;

i++;

t++;

}

a[i]='\0';

}

52

.

intp,m=0;

for(p=0;p

if(p!

=n)//如果字符下标不满足题目要求的标志n

{

b[m]=a[p];

//原始串的字符赋值给新串b

m++;

}

b[m]='\0';//新串末尾加上结束符

53

floatresult,temp=1.0;

inti;

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

temp=temp*i;//求m!

result=temp;//result=m!

for(temp=1.0,i=1;i<=n;i++)

temp=temp*i;//求n!

result=result/temp;//求m!

/n!

for(temp=1.0,i=1;i<=m-n;i++)

temp=temp*i;//求(m-n)!

result=result/temp;

//求m!

/n!

(m-n)!

returnresult;

 

54

inti;

*max=a[0];*d=0;/*把数组的第1个元素值赋值给最大值变量*max*/

for(i=1;i

if(*max

*max=a[i];/*重新把最大值赋值给*max*/

*d=i;/*记住下标*/

}

55

inti=0;

char*p,*q;

p=q=a;

while(*p)

p++;

p--;

while(*p=='*')

p--;

while(q<=p)

{

a[i]=*q;

i++;

q++;

}

a[i]='\0';

}

 

56

doublesum=0.0;

inti;

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

if((i%3==0)&&(i%7==0))sum+=i;

returnsqrt(sum);

57

floatav=0.0;

inti,j=0;

for(i=0;i

av/=m;

for(i=0;i

if(av>score[i])below[j++]=score[i];

returnj;

58

char*p=a;

intj=0,len=0;

while(*p){p++;len++;}

while(j

a[j]=a[h+j];

j++;

}

a[j]=0;

59

har*p=ss;

inti=0;

while(*p){

if((i%2)&&(*p>='a'&&*p<='z'))*p-=32;

p++;

i++;

}

}

60

{inta,b;longc;voidNONO();

printf("Inputa,b:

");

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

fun(a,b,&c);

printf("Theresultis:

%ld\n",c);

NONO()

61

inti,j,arr[3][3];

memcpy(arr,array,9*sizeof(int));

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

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

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

62

char*p=p1;

while(*p)p++;

while(*p2)*p++=*p2++;

*p=0;

 

63

inti,j=0;

for(i=0;i

if(!

((i%2)==0&&(s[i]%2)))t[j++]=s[i];

t[j]='\0';

64

longs=0,t;

inti=0,j,n=strlen(p),k,s1;

//求得字符串长度n

if(p[0]=='-')

i++;

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

{

t

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

当前位置:首页 > 工程科技 > 能源化工

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

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