青岛理工大学C语言课件程序打印版.docx
《青岛理工大学C语言课件程序打印版.docx》由会员分享,可在线阅读,更多相关《青岛理工大学C语言课件程序打印版.docx(28页珍藏版)》请在冰豆网上搜索。
![青岛理工大学C语言课件程序打印版.docx](https://file1.bdocx.com/fileroot1/2022-11/23/d7989cf5-95a5-406c-8ac3-ce66195a19a6/d7989cf5-95a5-406c-8ac3-ce66195a19a61.gif)
青岛理工大学C语言课件程序打印版
课件程序打印版
1.1+(1+2)+....+
#include
intmain()
{
ints,t,n;
inti,j;
printf("pleaseenterthenum:
");
scanf("%d",&n);
s=0;
for(i=1;i<=n;i++)
{
t=0;
for(j=1;j<=i;j++)
t+=j;
s=s+t;
}
printf("s=%d",s);
}
2.1-100相加
#include
intmain()
{
inti,s=0;
for(i=1;i<=100;i++)
s=s+i;
printf("和=%d",s);
}
3.求派的近似值
#include
#include
intmain()
{
intsign=1;
doublepi=0.0,n=1.0,term=1.0;
while(fabs(term)>=1e-4)
{
pi=pi+term;
n=n+2;
sign=-sign;
term=sign/n;
}
pi=pi*4;
printf("pi=%10.8f\n",pi);
return0;
}
4.5个数相加
#include
intmain()
{
inti=0;
floats,x;
while(i<5)
{
scanf("%f",&x);
s=s+x;
i++;
}
printf("s=%f",s);
}
5.10数求最大,输出位置
#include
intmain()
{
inti,a[10],pos=0;
printf("enter10number:
");
for(i=0;i<10;i++)
{scanf("%d",&a[i]);
if(a[i]>a[pos])
pos=i;}
printf("%d",pos+1);
return0;
}
6.不是回车不停止输入
#include
intmain()
{
charch;
while((ch=getchar())!
='\n')
putchar(ch);
}
7.打印1-100每行5个
#include
intmain()
{
inti;
for(i=1;i<=100;i++)
{
printf("%d",i);
if(i%5==0)
printf("\n");
}
}
8.打印n个空格
voidblank(intn)
{
inti;
for(i=1;iprintf("");
}
#include
intmain()
{
inta;
printf("PleaseinputtoprintthenumberofSpaces:
");
scanf("%d",&a);
blank(a);
printf("<---Printtheend!
");
return0;
}
9.打印九九表
#include
#include
intmain()
{
inti,j;
for(i=1;i<10;i++)
for(j=1;j<10;j++)
{
printf("%d",i*j);
if(j%9==0)
printf("\n");
}
}
10.反顺序输出5个数字
#include
intmain()
{
inti,a[5],b[5],j;
for(i=0,j=4;i<5;i++,j--)
{
scanf("%d",&a[i]);
b[j]=a[i];
}
for(i=0;i<5;i++)
printf("%d",b[i]);
}
11.分别求奇数和偶数的和
#include
intmain()
{
intn,k,sum1=0,sum2=0;
scanf("%d",&n);
for(k=1;k<=n;k++)
{
if(k%2==0)
sum1=sum1+k;
else
sum2=sum2+k;
}
printf("偶数之和:
%d\n奇数之和:
%d\n",sum1,sum2);
return0;
}
12.计算(1!
)2+(2!
)2+(3!
)2+(4!
)2+(5!
)2
#include
intmain()
{
intfact(intn);
printf("(1!
)2+(2!
)2+(3!
)2+(4!
)2+(5!
)2=%d",fact(5));
return0;
}
intfact(intn)
{
intw,t=1,s=0,i;
for(i=1;i<=n;i++)
{
t=t*i;
w=t*t;
s=s+w;
}
returns;
}
13.将一个字符串复制到另一个数组
#include
#include
intmain()
{
intn,i;
chara[100],b[100];
gets(a);
n=strlen(a);
for(i=0;i{
b[i]=a[i];
printf("%c",b[i]);
}
}
14.冒泡法6数字排序
#include
intmain()
{
inti,j,a[6],t;
printf("enter6number:
");
for(i=0;i<6;i++)
scanf("%d",&a[i]);
for(i=0;i<5;i++)
for(j=0;j<5-i;j++)
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
for(i=0;i<6;i++)
printf("%d",a[i]);
}
15.判断闰年1
#include
intmain()
{
inty;
scanf("%d",&y);
if(y%4==0&&y%100!
=0||y%400==0)
printf("ok\n");
else
printf("no\n");
}
16.判断闰年2
#include
intmain()
{
intyear,leap;
printf("enteryear:
");
scanf("%d",&year);
if(year%4==0)
{
if(year%100==0)
{
if(year%400==0)
leap=1;
else
leap=0;
}
else
leap=1;
}
else
leap=0;
if(leap)
printf("%dis",year);
else
printf("%disnot",year);
printf("aleapyear.\n");
return0;
}
17.判断素数
#include
intmain()
{
intx,i,p=1;
printf("inputthenumberofx:
");
scanf("%d",&x);
for(i=2;i<=sqrt(x);i++)
{
if(x%i==0)
{
p=0;
break;
}
}
if(p==1)
printf("是素数");
if(p==0)
printf("不是素数");
}
18.求Fibonacei数列的前40项
#include
intmain(void)
{
inti;
longintf[41];
f[1]=1;
f[2]=1;
for(i=3;i<=40;i++)
f[i]=f[i-1]+f[i-2];
for(i=1;i<=40;i++)
{
printf("%ld",f[i]);
if(i%5==0)
printf("\n");
}
}
19.求各位数之积
#include
intmain()
{longx,t=1,n;
printf("Pleaseenteranumber:
");
scanf("%ld",&x);
do{
n=x%10;
t=t*n;
x=x/10;
}while(x);
printf("t=%ld\n",t);
}
20.求阶乘的函数
intfactorial(intn)
{
inti,s=1;
for(i=2;i<=n;i++)
s=s*i;
returns;
}
#include
intmain()
{
inta;
printf("PleaseentertherequestedfactorialNumbers:
");
scanf("%d",&a);
printf("Askfactorial=%d",factorial(a));
}
21.求某一数阶乘的递归函数
doublefact(intn)
{
doublef;
if(n==0||n==1)f=1;
elsef=n*fact(n-1);
returnf;
}
#include
intmain()
{
doubley;
intn;
printf("enterthenumber:
");
scanf("%d",&n);
printf("次方程=%lf",fact(n));
}
22.求三个数最大数
#include
intmain()
{
inti,j,k,max;
scanf("%d%d%d",&i,&j,&k);
max=i>j?
i:
j;
if(max>k)
printf("MAX=%d",max);
else
printf("MAX=%d",k);
}
23.求输入数据的最大最小
#include
intmain()
{
inta,n,i,MAX,MIN;
scanf("%d",&n);
scanf("%d",&MIN);
MAX=MIN;
for(i=0;i{
scanf("%d",&a);
if(a>=MAX)
MAX=a;
if(a<=MIN)
MIN=a;
}
printf("MAX=%d\nMIN=%d",MAX,MIN);
}
24.三个数比较大小
#include
intmain()
{
inti,j,k,t;
scanf("%d%d%d",&i,&j,&k);
if(i>j)
{t=i;
i=j;
j=t;}
if(i>k)
{t=i;
i=k;k=t;}
if(j>k)
{t=j;
j=k;
k=t;}
printf("%d%d%d",i,j,k);
}
25.三行四列找最大及位置
#include
#include
intmain()
{
inta[3][4],i,j,row=0,col=0;
printf("enter12number:
");
for(i=0;i<3;i++)
for(j=0;j<4;j++)
{
scanf("%d",&a[i][j]);
if(a[i][j]>a[row][col])
{
row=i;
col=j;
}
}
printf("最大值是:
%d\n所在行:
%d所在列:
%d",a[row][col],row+1,col+1);
}
26.实现5!
#include
intmain()
{
inti,s=1;
for(i=2;i<=5;i++)
{
s=s*i;
}
printf("5!
=%d",s);
}
27.实现X的n次冪
#include
intmain()
{
inti,k,j,t;
scanf("%d%d",&k,&i);
for(j=0;jk=k*k;
printf("%d",k);
}
28.输出1-1000素数
#include
#include
intmain()
{
inti,j,k;
for(i=2;i<1000;i++)
{k=0;
for(j=2;j<=sqrt(i);j++)
if(i%j==0)
{k=1;break;}
if(k==0)
printf("%d",i);
}
}
29.输入成绩输出等级
#include
intmain()
{
inta,k;
scanf("%d",&k);
a=k/10;
switch(a)
{case10:
case9:
printf("A\n");break;
case8:
printf("B\n");break;
case7:
printf("C\n");break;
case6:
printf("D\n");break;
case5:
case4:
case3:
case2:
case1:
case0:
printf("E\n");break;
default:
printf("error\n");break;}
}
30.统计名字
#include
#include
intmain()
{
chara[50][10];
inti,n;
printf("您想输入几个人名?
\n");
scanf("%d\n",&n);
for(i=0;igets(a[i]);
printf("以M开头的如下:
\n");
for(i=0;iif(a[i][0]=='M')
printf("%s\n",a[i]);
}
31.小写大写转化
#include
intmain()
{
charc;
while((c=getchar())!
='\n')
{
if((c>='a')&&(c<='z'))
{
c=c-32;
}
printf("%c",c);
}
return0;
}
32.选择法6数排序
#include
intmain()
{
inti,j,k,t,a[6];
for(i=0;i<6;i++)
scanf("%d",&a[i]);
printf("\n");
for(i=0;i<5;i++)
{
k=i;
for(j=i+1;j<6;j++)
if(a[k]>a[j])
k=j;
t=a[i];
a[i]=a[k];
a[k]=t;
}
printf("Thesortednumbers:
");
for(i=0;i<6;i++)
printf("%d",a[i]);
printf("\n");
}
33.用函数求两个数最大值
#include
intmain()
{
intMAX(intx,inty);
inta,b;
printf("enter2number:
");
scanf("%d%d",&a,&b);
printf("MAX=%d",MAX(a,b));
}
intMAX(intx,inty)
{
intm;
m=x>y?
x:
y;
returnm;
}
34.用指针函数删除下标为k的元素
#include
intmain()
{
voidsub(int*p,int*q,intn);
inta[10]={1,2,3,4,5,6,7,8,9,10};
int*p,n,i,*q;
printf("Wanttoremovethesubscription:
");
scanf("%d",&n);
sub(&a[n],&a[n+1],n);
for(i=0;i<9;i++)
printf("%d",a[i]);
}
voidsub(int*p,int*q,intn)
{
inti;
for(i=0;i<10-n;i++)
{
*p=*q;
p++;
q++;
}
}
35.用函数验证素数
#include
intmain()
{
intprime(intn);
inta,b;
printf("enterthenumber:
");
scanf("%d",&a);
b=prime(a);
if(b==1)printf("%d是素数",a);
elseprintf("%d不是素数",a);
return0;
}
intprime(intn)
{
inti;
for(i=2;i<=sqrt(n);i++)
if(n%i==0)
{
return0;break;
}
return1;
}
36.找出最大串!
#include
#include
intmain()
{
chara[5][10]={"jc","dsf","jsdnc","ncdsjkd","dnc"};
intb[5],i,n=0;
for(i=0;i<5;i++)
b[i]=strlen(a[i]);
for(i=1;i<5;i++)
if(b[n]
n=i;
printf("%s\n",a[n]);
}
37.指针:
(函数)判断是否数组回文?
#include
intfun(char*a)
{
char*b=a;
while(*b)
++b;
while(*a++==*--b);
returna>b?
1:
0;
}
intmain()
{
chars[100];
gets(s);
puts(fun(s)?
"YES":
"NO");
}
38.指针:
(函数)统计字符串长度!
#include
#include
intmain()
{
intlr(char*p);
chara[100];
printf("请输入要统计的字符串:
");
scanf("%s",a);
printf("长度:
%d",lr(a));
}
intlr(char*p)
{
inti=0;
while(*p)
{
i++;
p++;
}
returni;
}
39.指针:
比较两个字符串大小
#include
intstrcmp(char*s1,char*s2)
{
inti;
for(i=0;(s1[i]!
='\0')&&(s2[i]!
='\0');i++)
{
if(s1[i]>s2[i])
return1;
else
if(s1[i]return-1;
}
if(s1[i]!
='\0')
return1;
if(s2[i]!
='\0')
return-1;
return0;
}
intmain()
{
chara[100],b[100];
gets(a);
gets(b);
if(strcmp(a,b)==1)
printf("字符串a>字符串b");
else
if(strcmp(a,b)==0)
printf("字符串a=字符串b");
else
printf("字符串a<字符串b");
return0;
}
40.指针:
将随机数组中所有偶数删除,奇数个数通过函数返回
#include
#include
intmain()
{
intfun(int*a,intn,int*b);
inta[10],b[10];
inti,n;
scanf("%d",&n);
for(i=0;ia[i]=rand()%100;
n=fun(a,n,b);
for(i=0;iprintf("%4d",b[i]);
}
intfun(int*a,intn,int*b)
{
inti,j;
for(i=0,j=0;iif(a[i]%2!
=0)
b[j++]=a[i];
return(j);
}
41.指针:
将随机数组中所有偶数删除,奇数个数通过形参返回
#include
#include
#defineM10
intmain()
{
voidfun(int*a,int*n);
inta[30];
inti,num;
for(i=0;ia[i]=rand()%100;
fun(a,&num);
for(i=0;iprintf("%4d",a[i]);
}
voidfun(int*a,int*n)
{
inti,j;
for(i=0,j=0;iif(a[i]%2!
=0)
a[j++]=a[i];
*n=j;
}
42.指针:
用2函数求每行最大和全局最大
#includ