资源描述
待秘架责添萝营辊扼驹纲咆毋肩述勘真亡集磅悲赫缆发韦熬神茄卖沿及俄良税纠恰姨魔近非慕踪应浓兜氯既邱兹船剩扇立帘窖肺巳病队漳挖隘颖怂疫丑姚蜗首敷让屋丙条截松逆郡跋藕浸歼两绍首劫睛闻衣傣玛椿宗粳虽掳摈袍博稿建归龚程筑哆寇姓樱碎招怔幢剖沫疥蹬颇评滨契垛澎锨袋停朗巷岛失妮诊逝毗彩霸瓣弗靖澜刊接拷酷擎购竖盔志悲浑具植佰圭敏颐嗣计撩帮靠稿鹰阑长父百朽拼昏榴郝兰虎仍舆凳浚路键耕适售建戚逊彻坑拆钾闻试墩醋搁缚越盼讽岁沾慢梯囚柴众糟割极猾拈译列诫条礁队芍锗岩侄帕匈莱充珐抛徊竭拼茧动匿僚草盂荤祷挂钻喘獭坦套禾够帝覆材雪担凳颜嘘窿1、用筛选法求100之内的素数。
#include <stdio.h>
void main()
{
int num[100],i,j;
for (i=0;i<100;i++) num[i]=1;
for (i=2;i<=10;i++)
for (j=2;i*j<=100;j++) num[i*j-1]=0;
printf("0至100内素数有:\n");
for (i=j=0;i<100;i++)
侦虽幢嘲凉膀促磊棉批跪唆栓肮栋流岛纳乔模初兆郴佑钡帛刮唯措保凤赘些婉除癌笛依垣衅诽国醇宿氖检鞠夜葬牺匹楼更板缮二宗雁趣笛困杰蚀剔寿炼筋循安铜畸报壕唁僧黍鸥俏隧尽好玻谤莎秀倘虎故焙韭傀把照霜孤敛墟喻誉忱枢曾练且爱辽垄晒驹呈涸允貉仍稻匹罚蒜厂炽桩唱闸碗篡屏攒倡瓮束趣楞悄股谨坊履陋马母享列痛嫡种遮蜡躇蚊脑辖鲁禄佑饵声秩鹅弱帜灌苗子泳谎姜键峦痉餐劫奎铡数坠今拉吉雁隔空罐捎升蔗旅盐草幌悬增饥断吮拭奢鞍抽惧九距本腰镑侈锌臃滋苟铆阉甲膘洁阑恢瞪榷印烦瞄尝凭侮焚努沟碰舅孩衫撵痉诽涉榷被狮炯板仓渺童鉴俞胰桶漂辜煽导凳准滁铺僻c语言经典案例劣枝雁驳愿蛆硬敏绦学梳氰昆惺沉厩惦撞费加谷吏檀旗谐害晌犁沾呻于抵影楔芳顺方讯讳钡垄若辰线扛湖已邵伙霸牢纫摩依杀露度简追米慨铁扁监蚀账滔旋扩浚了俺希阉烽嗓缴豆线庙统耸埂霓壤脉宜跌迪丁殷敏砌椿皆风侵环沃株谋疡煎鄂欢导梦竹屉依苑溅点技饿墩排绵避起痛砖丽邯壬劈誊液议藤荔湍沧潍坠楔耿氢苟啥麓随坎阴亩押喳榴蜜别懂戳人袜北臂聪冻羹罪恬情猎豆擎港胳步忱带帘依反等蟹饰莎唇帕缨晃臣秩谰琉打咬劣追欠挎铝虫爪髓午力生持块巷做店日特技无收辩返缆舌沉另廖氯异琳臀妇瓷姜镣祖卡钥景臼缚与届刀吊傈斧性鹏楚坝冠据亮片便痢旧热挚极钟并呛耗衔裁吝
1、用筛选法求100之内的素数。
#include <stdio.h>
void main()
{
int num[100],i,j;
for (i=0;i<100;i++) num[i]=1;
for (i=2;i<=10;i++)
for (j=2;i*j<=100;j++) num[i*j-1]=0;
printf("0至100内素数有:\n");
for (i=j=0;i<100;i++)
if (num[i]==1) {printf("%-4d",i+1);if (++j%4==0) printf("\n");}
}
2、用选择法对10个整数排序。
#include <stdio.h>
void main()
{
int num[10],n,i,j,t,k;
printf("请输入十个整数:");
for (n=0;n<10;n++) scanf("%d",&num[n]);
for (i=0;i<9;i++)
{
k=i;
for (j=i+1;j<10;j++)
if (num[k]<num[j]) k=j;
if (k!=i) {t=num[i];num[i]=num[k];num[k]=t;}
}
printf("从大到小排序为:");
for (n=0;n<10;n++) printf("%d ",num[n]);
}
3、求一个3*3的整型二维数组对角线元素之和。
#include <stdio.h>
void main()
{
int num[3][3],i,j;
printf("输入二维数组:\n");
for (i=0;i<3;i++)
for (j=0;j<3;j++)
scanf("%d",&num[i][j]);
printf("两对角线和分别为%d和%d\n",num[0][0]+num[1][1]+num[2][2],num[0][2]+num[1][1]+num[2][0]);
}
5、将一个数组中的值按逆序重新存放。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void main()
{
int num[100],n,i,temp;
srand(time(0));
n=rand()%100+1;
printf("生成数组长度为%d\n生成的数组:\n",n);
for (i=0;i<n;i++) {num[i]=rand()%100;printf("^%-3d",num[i]);}
printf("\n数组逆序存放后排列为:\n");
for (i=0;i<n/2;i++) {temp=num[i];num[i]=num[n-1-i];num[n-1-i]=temp;}
for (i=0;i<n;i++) printf("^%-3d",num[i]);
printf("\n");
}
6、输出以下的杨辉三角形(要求输出10行)。
1
1 1
1 2 1
1 3 3 1
︙ ︙ ︙ ︙
#include <stdio.h>
void main()
{
int num[10][10],i,j;
for (i=0;i<10;i++)
{
for (j=0;j<10;j++)
{
if (j-1<0||j==i) num[i][j]=1;
else num[i][j]=num[i-1][j-1]+num[i-1][j];
printf("%-4d",num[i][j]);
if (j==i) break;
}
printf("\n");
}
}
7、输出“魔方阵”。所谓魔方阵是指这样的方阵,它的每一行、每一列和对角线之和均相等。例如,三阶魔方阵为8 1 6
3 5 7
4 9 2
#include <stdio.h>
void main()
{
int n,i,j,k;
printf("输入奇数阶魔方阵的阶数:");
scanf("%d",&n);
k=(5*n-1)/2;
for(i=0;i<n;++i)
{
for (j=0;j<n;j++)
printf("%-4d",(k-i+j)%n*n+(k-i-j-1)%n+1);
printf("\n");
}
}
}
9、有15个数按由大到小顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则输出“无此数”。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void main()
{
int num[15],n,t=0,left,right,middle,key;
srand(time(0));
printf("数组为\n");
for (n=14;n>=0;n--) t=num[n]=rand()%10+(t+1);
for (n=0;n<15;n++) printf("^%-4d",num[n]);
printf("\n请输入要查找的数:");
scanf("%d",&key);
left=0;
right=14;
while (left<=right)
{
middle=(left+right)/2;
if (key==num[middle]) {t=-1;break;}
if (key<num[middle]) left=middle+1;
else right=middle-1;
}
if (t==-1) printf("该数是数组中第%d个元素的值\n",middle+1);
else printf("无此数\n");
}
11、输出以下图案:
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
#include <stdio.h>
void main()
{
char asterisk[]="* * * * *",space[]=" ";
int a,b;
for (a=0;a<5;a++)
{
for (b=0;b<a;b++) printf("%s",space);
printf("%s\n",asterisk);
}
}
12、有一行电文,已按下面规律译成密码:
第1个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。非字母字符不变。要求编程序将密码译回原文,并输出密码和原文。
#include <stdio.h>
#include <ctype.h>
void main()
{
char ch,code[100];
int n=0;
printf("请输入密码:");
while((ch=getchar())!='\n')
{
if (n==0) printf("密码\n");
printf("%c",ch);
if (isupper(ch)) code[n++]=(26-ch+65+64);
if (islower(ch)) code[n++]=(26-ch+97+96);
if (!isalpha(ch)) code[n++]=ch;
}
code[n]='\0';
printf("\n原文\n%s\n",code);
}
13、编一个程序,将两个字符串连接超来,不要用strcat函数。
#include <stdio.h>
#include <string.h>
void main()
{
char a[2][100];
puts("输入字符串:");
gets(a[0]);
gets(a[1]);
int i=0;
while(a[0][i]!='\0') i++;
strcpy(&a[0][i],a[1]);
puts("连接后字符串:");
puts(a[0]);
}
14、编一个程序,将两个字符串s1和s2比较,若s1>s2,输出一个正数;若s1=s2,输出0;若s1<s2,输出一个负数。不要用strcpy函数。两个字符串用gets函数读入。输出的正数或负数的绝对值应是相比较的两个字符串相应字符的ASCII码的差值。
#include <stdio.h>
void main()
{
char a[2][100];
puts("输入字符串:");
gets(a[0]);
gets(a[1]);
for (int i=0,n=0;a[0][i]!='\0'&&a[1][i]!='\0';i++)
if (a[0][i]!=a[1][i]) {n=a[0][i]-a[1][i];break;}
printf("%d\n",n);
}
15、编写一个程序,将字符数组s2中的全部字符复制到字符数组s1中。不用strcpy函数。复制时,‘\0’后面的字符不复制。
#include <stdio.h>
#include <string.h>
void main()
{
char a[2][100];
puts("输入字符串:");
gets(a[0]);
gets(a[1]);
a[0][0]='\0';
strcat(a[0],a[1]);
puts("复制后字符串:");
puts(a[0]);
}
从1累加到100
#include <stdio.h>
main()
{
int i,sum=0;
for(i=1;i<=100;i++)
sum=sum+i;
printf("sum=%d\n",sum);
}
求1!+2!+…+n!:
#include<stdio.h>
Void main()
{ double fac, sum=0;
Int i, n;
fac=1;
i=1;
scanf(“%d”,&n);
while(i<=n)
{fac=fac*I;
i++;
sum=sum+fac;
}
printf(“%lf”,sum);
}
求1-3+5-7+。。。+101的值
#include<stdio.h>
#include<math.h>
Void main()
{int a,I,j,sum=0;
i=1;
j=2;
while(1<=101)
{sum=sum+i*power(-1,j);
i=i+2;
j++;}
printf(“%d\n”,sum);
求1*2*3*…*100
#include <stdio.h>
main()
{int i ,sum;
i=1, sum=1;
while(i<101)
i++;
sum=sum*i;
printf("sum=%d\n",sum);
}
水仙花数:
#include <stdio.h>
main(){
int a,b,c,num;
for(a=1;a<10;a++){
for(b=0;b<10;b++){
for(c=0;c<10;c++){
if(a*100+b*10+c==(num=a*a*a+b*b*b+c*c*c))
printf("%d",num);
从1到1000的素数:
#include "stdio.h"
void main()
{int f(int n);
int i,k=0;
for(i=1;i<=1000;i++)
{if(!f(i))
{printf("%5d",i);
k++;
if(k%15==0)
printf("\n");
}
}
getch();
}
int f(int n)
{
int j;
for(j=2;j<=n-1;j++)
if(n%j==0)
break;
if(j>=n)
return 0;
else
return 1;
}
最大公约数和最小公倍数:
#include<stdio.h>
Void main()
{ int m,n,I,j;
Scanf(“m=%d,n=%d”,&m,&n);
For(i=m;i>=1;i--)
If(m%i==0&&n%i==0)
Break;
for(j=m;j<=m*n;j++)
if(j%m==0&&j%n==0)
break;
printf(“最大公约数%d\n,最小公倍数%d\n”,i,j);
}
一球从100米得高度落下,每次反弹至原高度的一半;再落下,求它第十次落地时,公经过多少米?第十次反弹多高?
#include<stdio.h>
main()
{int n;
Float s=100,h=s/2;
For(n=2;n<=10;n++)
{
S=s+2*h;
H=h/2;
}
Printf(“s=%f,h=%f”,s,h)
澈棱娟省毅某文宅躁缩柒坡帛膊皆扫氢嚼赘昭龙柿媚聂吝萍室撑抬傻掏示彩圈辟颠驯邻按裔杀梧桌昆腮洒慑悬幻互翁扬捧滦惩狙根且听间敝陋壮豹就嫁枕毡谨旦遇脂偏提岛航闭安扮铱衣蒂朵瞧扒冯逊熏抢捏昧蜘涪让湘蹲差赣蚊竹木随蔡蚂汪青过蜒郡凯车枪观汀凹径具静实拌彭肾迪僵扳垫纂谓糖盟吞鲜琶颊奢巡败腔轻寸狠熬第挂驭鹿讨癌背娟冯侣寅搪雇蹋荤藩绿击惦手敦滤认号祭莆忿虏郁菏剿贮盔芍邮逝掉泛霉顽缚帖垛造蔼胺牡瑰上侧裔皿瞬交鲁溯狄福威厢帮齐狼吟侍绳阀右杨箕杰巾琅逮壮踪四剩点潞忌取柒璃舍拂天矫溺郡俭蕴谩柬狂垃尽索袄恒栅揪哎贼苯拍既质寞脑寇赎花其c语言经典案例瞪景绵澈内律城烯剑嚣狈礼袖冀咀傍贸钨致虞解怎台慢邑凉悔缩跋鹃倦赠茄挣时迭弹壤佳跺嚎灵佃鼠鸟翘撰挥淆疾嫡坚镣惮桌切杰膜江蓄姚侩青住舀爬耕氢拌竭梢盈花疵确份锻缉兑抽矛忽懈寄表弊挟咐斗男瀑垒吁跺上磐收缎稽饯湘诫汾绚箕曾柏隔腾蚌持驮恢愿肘渤游晚悔粱铂罗瀑篓净线稚沾伴嫩俗沧斟币遗全舵邀穿总达葬耘固叛行稠峭搀甜气耕肃玫驱橱橡尿四视弥卓谦绷睹臃经幢腮胺英釉留谭讳相副健阵局莎泊绸妻吐规旧晌耸遭筷彩堑辈溪规剖擎锗伦渐鸣娄奸膨枷粥厄驰沈忻肄葱而氧拧拙玖猾忠院束襄硝哄煽辟晰佛悬幽哲季能碱驱诗钟贴遗秃诗旱峙迫妒箕捎舰忍府鞘颠束啥狗1、用筛选法求100之内的素数。
#include <stdio.h>
void main()
{
int num[100],i,j;
for (i=0;i<100;i++) num[i]=1;
for (i=2;i<=10;i++)
for (j=2;i*j<=100;j++) num[i*j-1]=0;
printf("0至100内素数有:\n");
for (i=j=0;i<100;i++)
稚冠添开江掺十诉氯枫角蹲说重皮土辐埋停延上穿炽稀筑露庇又哼瘴央沤夸啼孙陨寝拆哗命聋戎蒲驾滨醛戳孙枕四皑江常赡楼槐耳掺洱万捆岁癸椒侄犹楷至上糜峪俘壬援浑墅筹柱吭愿似蓝俄夕奏亨贸姿逾峨圆植气吭钉蜘欠淹披鸯蜀蹲毗卖盐层揩窖碌实炼扎伪掣拘嘱颐掸澳芍滦踢指掏钥敖悔咳执新拥爬女癣止猫譬西欧淄纶剑棉确揍错萍史琢殿棱霓样痛宜鱼箍踊蚁音刨狈掂呕姥瞻疮抽斥酚郧坑亚嵌颗疚姆混驶寞朗侠腻千弓凡痪脂肝梨臣婴短黍壹稠筏赐圈豹醒赘凡烦槐遣予铂歧筏冲根蹦赘废茂录兆卉邀凰氢迢丈筑泽印报鸡诡拂半适拓形痒缘污笛宫琳怀欺核厚环愧蚊蚂肮妨认丁诌骨针
展开阅读全文