c语言题型总结Word文件下载.docx
《c语言题型总结Word文件下载.docx》由会员分享,可在线阅读,更多相关《c语言题型总结Word文件下载.docx(32页珍藏版)》请在冰点文库上搜索。
![c语言题型总结Word文件下载.docx](https://file1.bingdoc.com/fileroot1/2023-5/7/996d8e68-3662-4eb6-92ea-6c1c32270d64/996d8e68-3662-4eb6-92ea-6c1c32270d641.gif)
2)
y=1+x;
elseif(x<
4)
y=1+(x-2)*(x-2);
y=(x-1)*(x-1)+(x-2)*(x-2);
x=%f,y=%f"
x,y);
4.成绩分等级:
ints,num;
chargrade;
请输入成绩s:
s);
num=s/10;
switch(num)
{
case10:
grade='
A'
;
break;
case9:
case8:
B'
case7:
C'
case6:
D'
case5:
case4:
case3:
case2:
case1:
case0:
E'
deflaut:
}
Thescoreis%d,thegradeis%c\n"
s,grade);
5.求最大公约数、最小公倍数:
intm,n,i,b;
请输入两个数:
%d,%d"
m,&
n);
for(i=m;
i>
0;
i--)
if(m%i==0&
&
n%i==0)
break;
b=(m*n)/i;
最大公约数:
%d,最小公倍数:
i,b);
6.1000以内素数:
inti,j;
for(i=1000;
i--)
for(j=2;
j<
i;
j++)
if(i%j==0)
if(j==i)
%d,"
i);
7.1000以内最大的10个质数求和:
inti,j,sum=0,n=0,a[10];
for(i=999;
2;
i=i-2)
a[n]=i;
n++;
if(n>
10)
break;
for(n=0;
n<
10;
n++)
sum+=a[n];
%d+%d+%d+%d+%d+%d+%d+%d+%d+%d=%d\n"
a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],sum);
9)
a[n]);
sum);
8.各位的和:
intn,c;
c=0;
while(n!
=0)
c+=n%10;
n=n/10;
c);
9.判断几位数:
c++;
10.奇数项相加,偶数项相减:
inti;
doublesum;
i=1,sum=0;
while(i<
=20)
if(i%2==0)
sum=sum-1.0/i;
else
sum=sum+1.0/i;
i++;
printf("
%lf\n"
11.100-200以内找质数:
inti,j,sign;
for(i=100;
i<
=200;
i++)
sign=1;
for(j=2;
if(i%j==0)
{
sign=0;
}
if(sign==1)
%dis/n"
%disnot/n"
12.10个成绩的最高、最低、平均值
inta[10],max,min,i;
floataver,sum;
max=min=sum=0;
请输入10个成绩:
for(i=0;
a[i]);
sum+=a[i];
aver=(float)sum/10;
if(a[i]>
max)
max=a[i];
if(a[i]<
min)
min=a[i];
max=%d,min=%d,aver=%f"
max,min,aver);
13.数组删除一个元素
inta[10],num,i;
请输入数组:
删除其中一个数num="
num);
for(i=num;
a[i-1]=a[i];
a[9]=0;
后来的数组为:
a[i]);
14.数组添加一个元素
inta[10],b[11],num,i,t;
添加其中一个数num="
添加的数为:
t);
num;
b[i]=a[i];
b[num-1]=t;
=10;
b[i]=a[i-1];
11;
b[i]);
15.数组形式计算成绩
inta[5][3],i,j;
floataver1[5],aver2[3],s,s1,s2;
\n"
5;
s1=0;
for(j=0;
3;
{
scanf("
a[i][j]);
s1+=a[i][j];
}
aver1[i]=(float)s1/3;
for(j=0;
s2=0;
(不能随便动位置)
for(i=0;
s2+=a[i][j];
aver2[j]=(float)s2/5;
s+=aver2[j];
student%d:
%3.1f,"
i,aver1[i]);
course%d:
j,aver2[j]);
Average:
3.1f"
s/3);
输入成绩时,一行三个,之后回车
16.函数的多级调用
floatmyfabs(floatx)
returnx>
0?
x:
-x;
floatmyfunc(floatr)
return2*myfabs(r)+1;
floatf=0.5;
myfunc(f));
17.三个数比较大小
intgetMax(inta,intb,intc)
intt;
if(a>
b)
t=a;
else
t=b;
if(c>
t)
t=c;
returnt;
intgetMin(inta,intb,intc)
intk;
k=b;
k=a;
if(c<
k)
k=c;
returnk;
intgetMax(inta,intb,intc);
intgetMin(inta,intb,intc);
inta,b,c;
请输入三个整数:
%d,%d,%d"
a,&
b,&
c);
最大值是:
%d,最小值是:
getMax(a,b,c),getMin(a,b,c));
18.求最大公约数、最小公倍数(调用函数)
intgcd(inta,intb)
for(i=a;
if(a%i==0&
b%i==0)
returni;
intmul(inta,intb)
intj;
j=a*b/gcd(a,b);
returnj;
intgcd(inta,intb);
intmul(inta,intb);
inta,b;
请输入两个整数:
b);
最大公约数是:
%d,最小公倍数值是:
gcd(a,b),mul(a,b));
19.二维数组找最大行、最小行,之后换行
intn,i,j,nMax=0,nMin=0,temp;
inta[10][10];
请输入正整数:
请输入二维数组a[%d][%d]\n"
n,n);
n;
if(a[i][j]>
a[nMax][j])
nMax=i;
elseif(a[i][j]<
a[nMin][j])
nMin=i;
if(nMax==nMin)
变换后的二维数组为:
a[i][j]);
temp=a[nMax][j];
a[nMax][j]=a[nMin][j];
a[nMin][j]=temp;
}
20.判断某年某月某日是星期几
intdaysInMonth(intyear,intmonth);
main()
inty,m,d,i,days;
intisLeapYear(intyear);
y,&
d);
for(i=2012;
y;
if(isLeapYear(y)==1)
days+=366;
days+=365;
for(i=1;
m;
days+=daysInMonth(y,i);
days+=d;
switch((days+6)%7)
星期日\0"
break;
星期一\0"
星期二\0"
星期三\0"
星期四\0"
星期五\0"
星期六\0"
intisLeapYear(intyear)
if(year%400==0||(year%4==0&
year%100!
=0))
return1;
return0;
intdaysInMonth(intyear,intmonth)
switch(month){
case12:
return31;
case11:
return30;
if(isLeapYear(year)==1)
return29;
return28;
21.字符串的连接
chars1[20],s2[20],*p1,*p2;
p1=s1;
p2=s2;
请输入字符串1:
gets(s1);
请输入字符串2:
gets(s2);
while(*p1)
p1++;
(先输出p1所指的第一个字母,然后使p1指向下一个字符,再输出,p再自增)
while(*p1++=*p2++);
(把*p2的内容赋给*p1,p1,、p2自增,*p2就是表达式的值!
指的是字符串的内容,而非对地址赋值)p是指针变量,他不能用来存放字符串,只能存放char变量的地址。
连接后结果:
%s\n"
s1);
chars1[20],s2[20];
请输入字符串s1:
请输入字符串s2:
s1[i]!
='
\0'
i++);
s2[j]!
s1[i]=s2[j];
i++;
s1[i]='
puts(s1);
#include<
voidcatStr(char*str1,char*str2);
charstr1[20]="
hello"
str2[20]="
world"
theorigin:
gets(str1);
gets(str2);
catStr(str1,str2);
now:
puts(str1);
puts(str2);
voidcatStr(char*str1,char*str2)
while(*str1!
)
str1++;
while(*str2!
*str1++=*str2;
str2++;
*str1='
22.两个数交换
voidswap(int*p1,int*p2)
inttemp;
temp=*p1;
*p1=*p2;
*p2=temp;
inta=5,b=9,*pa=&
a,*pb=&
b;
交换前a=%d,b=%d\n"
a,b);
swap(pa,pb);
交换后a=%d,b=%d\n"
23.求三角形的周长和面积
math.h>
voidProcess(floatf1,floatf2,floatf3,float*p1,float*p2);
floata,b,c,fArea,fPerimeter;
\nPleaseinput3sidesofthetriangle:
%f%f%f"
Process(a,b,c,&
fArea,&
fPerimeter);
Area=%f,Perimeter=%f"
fArea,fPerimeter);
voidProcess(floatf1,floatf2,floatf3,float*p1,float*p2)
floats;
s=(f1+f2+f3)/2;
*p1=sqrt(s*(s-f1)*(s-f2)*(s-f3));
*p2=f1+f2+f3;
24.回文数
longn;
Pleasseinputthenumber:
Theoriginalnumberis:
%ld\n"
n);
Andnowthenumberis:
while(n)
n%10);
n/=10;
getchar();
intn,c=0;
c=c*10+n%10;
25.字符串的复制
voidupCopy(char*new,char*old);
upCopy(s2,s1);
puts(s2);
voidupCopy(char*new,char*old)
while(*old!
if(*old>
*old<
Z'
*new++=*old;
old++;
*new='
26.初始化一个3X5的二维矩阵,计算前4列的和,保存在每行的最后一个元素中。
例如:
第一行的和为A[0][0]+A[0][1]+A[0][2]+A[