c语言中的各种数Word格式文档下载.docx

上传人:b****5 文档编号:19010842 上传时间:2023-01-03 格式:DOCX 页数:26 大小:52.66KB
下载 相关 举报
c语言中的各种数Word格式文档下载.docx_第1页
第1页 / 共26页
c语言中的各种数Word格式文档下载.docx_第2页
第2页 / 共26页
c语言中的各种数Word格式文档下载.docx_第3页
第3页 / 共26页
c语言中的各种数Word格式文档下载.docx_第4页
第4页 / 共26页
c语言中的各种数Word格式文档下载.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

c语言中的各种数Word格式文档下载.docx

《c语言中的各种数Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《c语言中的各种数Word格式文档下载.docx(26页珍藏版)》请在冰豆网上搜索。

c语言中的各种数Word格式文档下载.docx

质数(primenumber)又称素数,有无限个。

一个大于1的自然数,如果除了1和它本身外,不能被其他自然数整除(除0以外)的数称之为素数(质数);

否则称为合数

#defineN101

inti,j,line,a[N];

for(i=2;

N;

i++)a[i]=i;

sqrt(N);

for(j=i+1;

j<

j++)

if(a[i]!

=0&

a[j]!

=0)

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

a[j]=0;

\n"

for(i=2,line=0;

%5d"

a[i]);

line++;

if(line==10)

line=0;

法二:

#include<

math.h>

intn,i,j,flag,count=0;

素数有:

\t"

for(n=3;

n<

=100;

n++)

flag=0;

/*flag=0不能写在初定义处,要使flag完成一次大循环后重新变为0,否则之后的都会错*/

for(j=2;

=sqrt(n);

if(n%j==0)

{

flag=1;

break;

}

if(flag==0)

%d\t"

n);

count++;

if(count%8==0)

printf("

printf("

素数的个数:

%d\n"

求素数和

#include<

stdio.h>

intprime(intn)

intyes,i;

yes=1;

i<

i++)

if(n%i==0)

yes=0;

break;

returnyes;

{intsum=0,i;

=500;

if(prime(i))

sum+=i;

sum);

21536

3

水仙花数:

153=1*1*1+5*5*5+3*3*3

程序:

conio.h"

 

inti,j,k,n;

'

waterflower'

numberis:

for(n=100;

1000;

 

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)

%-5d"

153370371407Pressanykeytocontinue

4:

打印出一个数的因数例如90=2*3*3*5

intn,i;

\npleaseinputanumber:

scanf("

%d"

&

n);

%d="

=n;

while(n!

=i)

%d*"

n=n/i;

else

break;

这是一道经典而精炼的题!

pleaseinputanumber:

90

90=2*3*3*5Pressanykeytocontinue

5

完数:

一个数恰好等于其因数之和比如:

6=1+2+3

staticintk[10];

inti,j,n,s;

n=-1;

s=j;

for(i=1;

j;

if((j%i)==0)

n++;

s=s-i;

*判断是否是完数*/

k[n]=i;

用数组存储因数

if(s==0)

%disawanshu"

j);

for(i=0;

n;

%d,"

k[i]);

k[n]);

6isawanshu1,2,3

28isawanshu1,2,4,7,14

496isawanshu1,2,4,8,16,31,62,124,248

6

题目:

一个5位数,判断它是不是回文数。

即12321是回文数,个位与万位相同,十位与千位相同。

inti,k,a[10];

longn,m;

pleaseinputanumber"

m=n;

k=0;

do

a[k]=m%10;

k++;

/*之前是a[k++]=m%10换成这样比较看得明白*/

m=m/10;

}while(m!

=0);

k--;

k;

i++,k--)

if(a[i]!

=a[k])

break;

if(i<

k)/*如果数为回文数,最后一次循环,先判断i<

k比如i=3,k=4--运行如果语句--再做i++,k--,后i>

k*/

printf("

%disnotahuiwnenshu"

%disahuiwenshu"

最大公约数:

(用递归调用求最大公约数)

intf(intm,intn)

intg;

if(n==0)

g=m;

g=f(n,m%n);

returng;

inta,b;

%d%d"

a,&

b);

f(a,b));

1524

最小公倍数:

intmaxgy(inta,intb);

intf(inta,intb);

intmaxgy(inta,intb)

intk;

while((k=a%b)!

a=b;

b=k;

returnb;

intf(inta,intb)

intm,d;

m=maxgy(a,b);

/*调用最大公约数函数*/

d=a*b/m;

returnd;

inta,b,c;

c=f(a,b);

最小公倍数是%d\n"

c);

最小公倍数是120

Fibonacci数列;

输出[100,10000]中最小的和最大的值

longF1=1,F2=1,F,n;

doublek;

while(F2<

=100)

F=F1+F2;

F1=F2;

F2=F;

if(F>

F);

F1=1,F2=1;

=10000)

F1);

144

6765

Pressanykeytocontinue

字符串运算:

字符串处理函数:

1

复制函数:

string.h>

charstr1[10]={"

program"

},str2[6]={"

C++"

};

puts(str1);

puts(str2);

strcpy(str1,str2);

/*字符串str2中的’\0’也被复制*/

str1:

str2:

program

C++

连接字符串:

charstr1[23]={"

youareahomosexual"

},str2[30]={"

andyouarebeantiful!

oldstr1:

strcat(str1,str2);

newstr1:

youareahomosexual

youareahomosexualandyouarebeantiful!

3字符串长度函数

charstr1[80]={"

ufysy4847/67suhuy"

str1has%dcharacters\n"

strlen(str1));

str1has17characters

4从键盘输入两个字符串,若不相等,将短的字符串连接到长的后面并输出;

(比较字符串函数,长度比较函数,连接函数)

charstr1[80],str2[80];

gets(str1);

gets(str2);

if(strcmp(str1,str2)!

if(strlen(str1)>

strlen(str2))

strcat(str1,str2);

puts(str1);

else

strcat(str2,str1);

puts(str2);

hjsdiuw314598

bgy2161768

hjsdiuw314598bgy2161768

还有在#include<

stdlib.h>

中的intatoi(char*str)将字符串函数转变为整数,通过函数返回;

Longatoi(char*str)

Doubleatoi(char*str)

不用字符串函数求解相关问题

统计字符串长度:

intlen;

char*str[20];

pleaseinputastring:

%s"

str);

len=length(str);

thestringhas%dcharacters."

len);

length(p)

char*p;

intn;

n=0;

while(*p!

='

\0'

p++;

returnn;

jaislbgbad41887818

thestringhas18characters.

2从键盘上输入一个字符串与一个个指定字符,将字符串中出现的指定字符删除。

#include"

string.h"

intfun(char*s,charch)

{

inti,j;

for(i=0,j=0;

s[i];

i++)

if(s[i]!

=ch)

s[j++]=s[i];

s[j]=0;

returns;

}

voidmain()

chars[80],*pstr=s,chdel;

请输入字符串:

gets(pstr);

输入你想要删除的字符:

%c"

chdel);

fun(pstr,chdel);

之后变为:

puts(pstr);

getchar();

sdiguya2511ahgs

s

diguya2511ahg

3不用字符串函数比较大小

intcompstr(char,char);

/*若写成intcompstr(str1[n],str[n])str1和str2未定义类型,还有居然里面还写个n,无语至极*/

voidmain()

charstr1[80],str2[80],n,flag;

请输入字符串str1和str2:

for(n=0;

str1[n]!

str2[n]!

flag==0;

flag=compstr(str1[n],str2[n]);

字符串大小比较\t"

if(flag==0)

str1=str2\n"

if(flag>

0)

str1>

str2\n"

str1<

intcompstr(charc1,charc2)

intt;

t=c1-c2;

returnt;

jhfhlugfb

fuwwivyt

字符串大小比较str1<

str2

3---------2

#defineN5/*字符串个数(题目要求10个,这里以5个为例,可以任意更改)*/

/*交换字符串内容*/

voidchange(chara[],charb[])

chart[81];

strcpy(t,a);

strcpy(a,b);

strcpy(b,t);

//对多个(ln个,即ln行)字符串从小到大排序

voidstr_sort(charstr[][81],intln)

inti,j;

for(i=0;

ln-1;

for(j=0;

ln-1-i;

if(strcmp(*(str+j),*(str+j+1))>

0)change(*(str+j),*(str+j+1));

inti;

chars[N][81];

请输入%d个字符串:

N);

gets(*(s+i));

//输入字符串

str_sort(s,N);

//调用函数str_sort()排序

从小到大排序:

(%d)"

i+1);

//显示顺序号

puts(*(s+i));

//排序后输出

请输入5个字符串:

jhsddgakj

gdsukf

ysgsg

sygwghodf

dygsdiug

(1)dygsdiug

(2)gdsukf

(3)jhsddgakj

(4)sygwghodf

(5)ysgsg

4

intfun(char*p)

intflag=1;

{

if(*p=='

'

flag=1;

if(*p>

a'

*p<

z'

flag==1)

{*p-=32;

flag=0;

}

return*p;

inti=0;

charch,str[80];

Inputstringendby.:

\n"

);

while((ch=getchar())!

.'

str[i++]=ch;

str[i++]='

;

str[i]='

fun(str);

puts(str);

javyhavyad.

JavyHavYad.

(修改版)#include"

flag==1)/*用flag很好,*/

*p-=32;

gets(str);

指针:

/*1将最大一个数与第一个数交换,将最小的一个数与最后的一个数交换*/

inta[8],i,*p,max,min,t;

max=min=0;

p=a;

Input8numbers:

8;

i++)scanf("

a[i]);

i++)

if(*(p+i)<

*(p+min))min=i;

if(min!

=7)

{t=*(p+7);

*(p+7)=*(p+min);

*(p+min)=t;

if(*(p+i)>

*(p+max))max=i;

if(max!

=0)

{t=*(p+0);

*(p+0)=*(p+max);

*(p+max)=t;

for(p=a;

p<

a+8;

p++)printf("

%d\t"

*p);

}Input8numbers:

78952125689

89895712562

结构体:

回答结果(结构体变量传递)

1.程序分析:

     

2.程序源代码:

structstudent

intx;

charc;

}a;

a.x=3;

a.c='

f(a);

%d,%c"

a.x,a.c);

f(structstudentb)

b.x=20;

b.c='

y'

3,a

structstdud_tyde

charname[20];

longnum;

intage;

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

当前位置:首页 > 人文社科 > 视频讲堂

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

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