学生速记一些个关于C语言的复习资料

如题所述

第1个回答  2023-06-06

C语言复习福利值得拥有

1.isPrime(y)函数(判断一个正整数是否为素数)

int isPrime(int y)

{int i=2;

while(i<=y/2){if(y%i==0)return 0;else i++;}

return 1;}[如果为真(素数)返回值为1,否则返回0)

2.将一个整数n从低位到高位逆序输出

··(输入n省略)

while(n!=0){printf( “%d”,n%10);n/=10;}

3.递归法输出斐波那契数列第n项

int fib(int n)

{ if(n==1) return 1;

if(n==2) return 1;

else return fib(n-1)+fib(n-2);]

4.将一个整数n从高位到低位分别输出(1) 逆序存放在数组中后使用数组换位

int i=0j=0,t,a[80l;while(n!=0)

{ali]=n%10; n/=10; i++;]

i--

while(j<i/2)

{t=a[j+i-1];alj+i-1]=aljl; aljl=t;]

(2) 先求出位数再逆序输出

int a,i=1,m,x,n,y;scanf("%d",&a);while (m!=0){m=a/pow(10,i); i++;}x=a;

for(i=i-1;i>0;i--){y=pow(10i-1); printf("%d\t",n);x=x%y;}

5,冒泡法排序n个数(从小到大)

·-·(数组输入ali]省略)

for(j=1;j<n;j++)for(i=0;i<=n-j;i++)if(al[i]>a[i+1]){t=a[il; ali]=a[i+1]; a[i+1]=t;]

6.选择法排序(从小到大)

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

( k=i;

for(j=i+1;j<n;j++)if(alj]<a[k]) k=j;

if(i!=k)

(x=a[il;a[i]=a[k]; a[k]=x;}

7.删除指定字符

void abc(char str[], char c){ int a,b;

for(a=b=0,str[a]!=’10’;a++)if(str[a]!=c)

str[b++]=str[al;

str[b]=’10’;}

8.与continue与break相关的例题

#include<stdio.h>void main(){char s[]=”ABCCDA”int k; char c;for(k=1;c=s[k];k++){

switch(c)

{ case'A'’: putchar(%); continue;

case'B': ++k; break;

default: putchar(*);

case'c: putchar(&); continue;]

putchar(#);}

相似回答
大家正在搜