版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、求100内的素数的源代码如下.附件中有源程序.方法不是惟一的,仅供参考.
voidmain()
{访1i,j;
for(i=3;i<=l()();i++)
{
for(j=2;j<=i-l;j++)
if(i%j==O)
break;
if(i==j)
}
}
2、用选择法对5个整数排序.
#include<stdio.h>
voidniain()
{inta[5]=(0),i,j,index,temp;
for(i=0;i<5;i++)
for(i=0;i<=4-l;i++)
index=i;
for(j=i+1;jv=4;j++)
{
if(3lj]<a[index])
indcx=j;
if(in(iex!=i)
{
temp=a[i];
a[i]=a[index];
a[index)=temp;
I
for(i=();i<5;i++)
)
3、有一个已经排好顺序的数组,今输入一个数,要求按原来排序的规律将它插入到数组中。
#include<stdio.h>
main()
{inta[10]={2,4,8,15,28,57,99,110,688};
inii,j,x;
scanf(,&x);
for(i=0;i<9;i++)
if(x<a[i])
break;
for(j=8;j>=i;j-)
a[j+l]=a[j];
a[j+l]=x;
for(i=0;i<10;i++)
printf(,a[i]);
)
4、求一个3*3矩阵对角线元素之和
#include<stdio.h>
main()
{intj,a[3][3]={{L2,3},{4,5,6}47,8,9});
intsum=0,sum2=0,i;
for(i=0;i<=2;i++)
sum=sum+a[il[il;
for(i=2,j=0;i>=0;j।«,i--)
sum2=sum2+a[jni];
sum=sum+sum2;
printf(,sum);
)
5、将一个数组中的值按逆序存放
#include<stdio.h>
main()
{intij,a[4],b[4];
for(i=0;i<4;i++)
scanf(,&a[i]);
for(j=0,i=3;j<4;j++,i-)
b[j]=a[i];
for(j=0y<4y++)
printf(,b[j]);
printf();
}
1、写两个函数,分别求两个整数的最大公约数和最小公倍数
#include<stdio.h>
voidmain()
{intmon_divisior(intx,inly);
intmon_multiple(intx,inty);
inta,b,max_divisor,max_multiple;
max_divisor=mon_divisior(a,b);
第2页,共15页
max_multiple=mon_niultiple(a,b);
intmon_divisior(intxJnty)
(
intm,inax,i;
if(x>y)
m=x;
else
m=y;
for(i=l;i<=m;i++)
(
if((x%i==O)&&(y%i==O))
max=i;
}
returnmax;
}
intmon_multiple(intx,inty)
(
intin,max,i;
if(x>y)
m=x;
else
m=y;
for(i=l;i<=m;i++)
if((x%i==O)&&(y%i==O))
max=i;
}
max=x*y/max;
returnmax;
}2、写一个判断素数的函数,在主函数
输入一个整数,输出是否素数的信息。
#include<stdio.h>
voidmain()
(
intpriiner(intx);
inta,b;
b=primer(a);
if(b==l)
else
第3页,共15页
4、写一个函数,使输入的一个字符串按反序存放。
#include<stdio.h>
#include<string.h>
intinverse(charslr[])
{
chart;
iniiJ;
for(i=0,j=strlen(str);i<j;i++,j-)
{
t=str[i];
str[i]=str[j-l];
)
}
voidmain()
(
charstr[20]={0};
请输入一个字符串:
转换前字符串为:
inverse(str);
转换后字符串为:
J
5、写一个函数,将两个字符串联接
#include<stdio.h>
#include<string.h>
voidmain()
{
voidlianjie(charc[100],chard[100]);
chara[100J,bll00];
请输入第一组
gets(a):
请输入第二组
gets(b);
lianjic(a,b);
I
voidlianjie(charc[100],chard[100])
{
两组进行连接
第5页,共15页
}7、写一个函数,由实参传来一个字符串,统
计此字符串中字母、数字、空格和其他字符的
个数
#include<stdio.h>
into,z,w,x;
voidmain()
(
voidstatistic(charb[ICO]);
chara[100J;
请输入字符串
gets(a);
您输入的字符串为
puts(a);
statistic(a);
字母%d,数字%d,空格%d,其它
)
voidstatistic(charb[100])
{
inti=0;
o=z=w=x=();
{
if(b[i]>='a'&&b[i]<=,z'||b[i]>='A'&&b[i]<='Z')
z++;
elseif(b[i]>'0,&&b[i]<,9,)
x++;
elseif(b[i]=='')
w++:
else
o++;
)
}
9、写一个函数,用“起泡法”对输入的10个字符按由小到大的顺序罗列。
#include<stdio.h>
#deflneN10
voidmain()
{
voidqipao(inta[N]);
intb[N]={23,4,56,78,13,9,47,90,79,26};
qipao(b);
)
voidqipao(inta[N])
第6页,共15页
inti,j,temp;
for(j=0;j<N-l;j++)
(
fbr(i=O;i<N-l-j;i++)
(
if(a[i]>a[i+ll)
{
iemp=a[i];
a[i]=a[i+l];
a[i+l]=lemp;
)
)
)
for(i=0;i<N;i++)
)
11、输入10个学生5门课的成绩,分别用函数实现下列功能:1)“算每一个学生平均分;2)“
算每门课的平均分;3)找出所有50个分数中最高的分数所对应的学生和课程;4)计算平均
分方差:其中,xi为某个学生的平均分。
#include<stdio.h>
inti,j;
floatql[10];
voidmain()
(
voidaverage_student(floata[][5]);
voidavcrage_scorc(floata[][5J);
voidfind_max(floata[][5]);
voidaverage_variance!floata(l[5]);
floata[10][5];
fdr(i=0;i<10;i++)
第7页,共15页
forG=0;j<5;j++)
average_student(a);
average_score(a);
findmax(a):
average_variance(a);
)
voidaverage_student(floata[][5])
(
floatp=();
for(i=0;i<l();i++)
(
for(j=0;j<5;j++)
p+=a[i][j];
ql|i]=p/5;
p=0;
)
)
voidaverage_score(floata[][5])
{
floatp=O,q2l5J;
第8页,共15页
for(j=0;j<5;j++)
for(i=0;i<10;i4-+)
p+=a[i][j];
q2[j]=p/10;
P=0;
I
4、3个整数排序
#include<sidio.h>
voidmain()
{inta,b,c,max;
printf();
scanf(,&a,&b,&c);
if(a>b)
(
inax=a;
a=b;
b=inax;
)
if(a>c)
(
inax=a;
a=c;
c=max;
)
if(b>v)
(
inax=b;
b=c;
c=max;
}
printf(
}.a.b.c);
第9页,共15页
6、给出一个百分制成绩,要求输出成绩等级。
#include<stdio.h>
#includc<math.h>
voidmain()
(
intscore,grade;
scant"(,&score);
grade=score/10;
switch(grade)
(
case9:printf();brcak;
case8:printf();break;
case7:printf();brcak;
case6:printf();break;
case5:
case4:
case3:
case2:
caseI:
caseO:printf();break;
}6、给出一个百分制成绩,要求输出成绩等级。
科include<sidio.h>
#include<math.h>
voidmain()
(
intscore.grade;
scanf(,&score);
gradc=scorc/IO;
switch(grade)
(
case9:printf();break;
case8:printf();break;
case7:printf();break;
case6:printf();brcak;
case5:
case4:
case3:
case2:
case1:
caseO:printf();break;
}
7、给出一个不多于5位的正整数,要求:求出它是几位数,分别输出每位数,按逆序输出各位数
第10页,共15页
#includc<sidio.h>
#include<math.h>
voidmain()
{
inii=0;
intnum=O;
scanf(.&i);
if(i>9999&&i<=99999)
num=5;
if(i>999&&i<=9999)
num=4;
if(i>99&&i<=999)
num=3;
if(i>9&4&i<=99)
num=2;
if(i>-l&&i<=9)
num=l;
prinif(位的mum);
printf(,i%10);
if(nuin>l)
printf(,i%100/1OX
if(nuni>2)
printf(,i%1000/1()0);
if(num>3)
Pfinif(,i%10000/1000);
if(num>4)
所叫,i%100000/100()0);
sj'stem().
}
1、输入两个正整数m,n,求其最大公约数和最小共倍数。
#includc
niain()
{inta,b,num1,num2,lemp;
printf();
scanf(,&numl.&num2);
if(numlvnum2)/*交换两个数,使大数放在numl上列
{
tcnip=numl;
numl=num2;
num2=temp;
}
a=numl;b=num2;
while(b!=0)/*利用辗除法,直到b为为止刃
第11页,共15页
temp=a%b;
a=b;
b=temp;
}
printf(,a);
printf(,numl*num2/a);
getch();
)
2、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
#include<stdio.h>
main()
(
chara;
intb,c,d,e;
b=0;c=();d=();e=0;
/*b是字母c是数字d是符号e是空格*/
fflush(stdin);//清除缓存
/*在c语言中使用scanf()函数在键盘上接受字符型数据时,必须用fflush(sidin)这个来清晰
_L-■次存储的数据,不然字符型数据不会正确的存储.*/
printf(请输入一串东西);
while((a=getchar())!='')
(
if(a>='a'&&a<='z'||a>='A'&&a<='Z')
b++;
elseif(a>='0'&&a<=,9')
C++;
elseif(a=='')
e++;
else
d++;
)
printf(字母%(1个,b);
printf(数字%(1个,c);
printf(空格%d个,e);
prinlf(符号%d个,d);
}
3、求Sn=a+aa+aaa+…+aaaa…之值,其中a是一个数字,n表示a的位数,例如:
2+22+222+2222+22222
#include<stdio.h>
main()
{
inti,a,n;
longt=0,sum=0;
第12页,共15页
printf();
scanf(,&a,&n);
for(i=();i<n;i++)
{
t=t*10+a;
sum+=t;
printf(,t);
}printf(,sum);
#include<stdio.h>
main()
{inti,j.n;
longsum,term;/*ini、long^unsignedlong.11oat*/
printf();
scanf(,&n);
fbr(sum=0.i=l:i<=n;i++)
{for(term=l,j=l;j<=i;j++)
{term*=j;)f*求i的阶乘*/
sum=sum+term;/*把i的阶乘累加到sum单元中*/
)
printf(,sum);/*%d>%kl、%ukl、%f*/
I
50,101
5、求kkik2卜
100kl-
#include<stdio.h>
main()
{inti,j.n;
intsumI,sum2,sum3,sum;
sum1=0,sum2=0,sum3=0;
sum=0;
for(i=l;i<IOI;i++)
(
suml+=i;
)
for(j=l;i<51J++)
(
sum2+寸j;
I
for(n=l;i<ll;n++)
第13页,共15页
sum3+=l/n;
sum=suml+sum2+suni3;
printf(,sum);
}
6、输出所有的水仙花数
#include<stdio.h>
intmain()
(
inti,a,b,c;
fbr(i=100;i<=999;++i)
(
a=i%10;
b=i/10%10
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 社区实施方案范文(2篇)
- 中学学生社团活动经费预算制度
- 2023年中卫市遴选公务员笔试真题汇编附答案解析(夺冠)
- 2026年高校教师资格证《高校教师职业道德》题库附参考答案【综合题】
- 2026年水文地质学基础测试题库及参考答案ab卷
- 2026广东汕头大学医学院第二附属医院招聘(公共基础知识)测试题附答案
- 2026年摩托车科目一测试题库附完整答案(名师系列)
- 2026年郑州体育职业学院单招职业技能测试模拟测试卷附答案
- 广东省公务员考试试卷试题及答案
- 2026年毛概期末考试试题库(突破训练)
- GB/T 46793.1-2025突发事件应急预案编制导则第1部分:通则
- 标识标牌施工服务方案
- 电子政务外网IPv6地址规划规范
- 5G优化案例:5G室分覆盖指导建议
- 《高等数学(第2版)》 高职 全套教学课件
- GB/T 43933-2024金属矿土地复垦与生态修复技术规范
- 南通市2024届高三第二次调研测试(二模)语文试卷(含官方答案)
- 《思想道德与法治》
- 项目划分表(土建)
- 静配中心细胞毒性药物的配置方法
- 肿瘤学课件:女性生殖系统肿瘤(中文版)
评论
0/150
提交评论