C敲好的代码.docx
- 文档编号:4469805
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:12
- 大小:17.62KB
C敲好的代码.docx
《C敲好的代码.docx》由会员分享,可在线阅读,更多相关《C敲好的代码.docx(12页珍藏版)》请在冰豆网上搜索。
C敲好的代码
将一个数组中的值按逆序重新存放。
例如,原来顺序为8,6,5,4,1.要求改为1,4,5,6,8.
#include
#defineN5
intmain()
{
inti,temp,a[N];
printf("entercarrya:
\n");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
printf("arraya:
\n");
for(i=0;i<5;i++)
printf("%4d",a[i]);
for(i=0;i { temp=a[i]; a[i]=a[N-i-1]; a[N-i-1]=temp; } printf("\nnowcarrya: "); for(i=0;i printf("%4d",a[i]); printf("\n"); return0; } 输出以下的杨辉三角形(要求输出10行)。 1 11 121 1331 14641 15101051 #include #defineN10 intmain() { inti,j,a[N][N]; for(i=0;i { a[i][i]=1; a[i][0]=1; } for(i=2;i for(j=1;j<=i-1;j++) a[i][j]=a[i-1][j-1]+a[i-1][j]; for(i=0;i { for(j=0;j<=i;j++) printf("%6d",a[i][j]); printf("\n"); } printf("\n"); return0; } 想要输出以下的结果,用函数调用实现. ************************ Howdoyoudo! ************************ #include intmain() { voidprint_star(); voidprint_message(); print_star(); print_message(); print_star(); return0; } voidprint_star() { printf("**************\n"); } voidprint_message() { printf("Howdoyoudo! \n"); } 有⼀一串串序列列,假设只有数字和字⺟母的话,⽐比如这样abbaabWWSS30要求,将所有的字⺟母⼤大⼩小写翻转,数字取它的互补数,相加为9的两个数互补(这个说法是我乱编的)最终的输出应该是ABBAABwwss69 #include #include intmain(void) { inti,lenth; charstr[100]; gets(str);//输入序列 lenth=strlen(str); for(i=0;i { if(str[i]>='A'&&str[i]<='Z')//判断大写 str[i]=str[i]+32;//换成小写 elseif(str[i]>='a'&&str[i]<='z')//判断小写 str[i]=str[i]-32;//换成大写 elsestr[i]=105-str[i];//105是0和9ASII码值的和; printf("%c",str[i]); } } 有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中。 #include intmain() { inta[11]={1,4,6,9,13,16,19,28,40,100}; inttemp1,temp2,number,end,i,j; printf("arraya: \n"); for(i=0;i<10;i++) printf("%5d",a[i]); printf("\n"); printf("insertdata: "); scanf("%d",&number); end=a[9]; if(number>end) a[10]=number; else { for(i=0;i<10;i++) { if(a[i]>number) { temp1=a[i]; a[i]=number; for(j=i+1;j<11;j++) { temp2=a[j]; a[j]=temp1; temp1=temp2; } break; } } } printf("Nowarraya: \n"); for(i=0;i<11;i++) printf("%5d",a[i]); printf("\n"); return0; } #include intmain() { intp,r,n,m,temp; printf("pleaseinputtwonumber: "); scanf("%d,%d,",&n,&m); if(n { temp=n; n=m; m=temp; } p=n*m; while(m! =0) { r=n%m; n=m; m=r; } printf("最大公约数是: %d\n"); printf("最小公倍数为: %d\n",p/n); return0; } 输入两个正整数m和n,求其最大公约数和最小公倍数。 #include intmain() { intmain(floatx,floaty); intmin(floatx,floaty); intmax(floatx,floaty); inti,j,k,a,b,c,d; printf("pleaseinputtwonumbers: \n"); scanf("%d%d",&a,&b); c=max(a,b); d=min(a,b); for(i=2;i { if(a%i==0&&b%i==0) { k=i; printf("最大公约数是: %d\n",k); break; } } for(j=c;;j++) { if(j%a==0&&j%b==0) { c=j; printf("最小公倍数是: %d\n",c); break; } } } intmax(floatx,floaty) { floatz; z=x>y? x: y; return(z); } intmin(floatx,floaty) { floatz; z=x x: y; return(z); } /*选择法对10个数排序*/ #include intmain() { inti,j,min,temp,a[11]; printf("enterdata: \n"); for(i=1;i<=10;i++) { printf("a[%d]=",i); scanf("%d",&a[i]); } printf("\n"); printf("Theorginalnumbers: \n"); for(i=1;i<=10;i++) printf("%5d",a[i]); printf("\n"); for(i=1;i<=9;i++) { min=i; for(j=i+1;j<=10;j++) if(a[min]>a[j])min=j; temp=a[i]; a[i]=a[min]; a[min]=temp; } printf("\nThesortednumbers: \n"); for(i=1;i<=10;i++) printf("%5d",a[i]); printf("\n"); return0; } /*冒泡法排序*/ #include intmain() { inta[10]; inti,j,t; printf("input10numbers: \n"); for(i=0;i<10;i++) scanf("%d",&a[i]); printf("\n"); for(j=0;j<9;j++) for(i=0;i<9-j;i++) if(a[i]>a[i+1]) { t=a[i];a[i]=a[i+1];a[i+1]=t; } printf("thesortednumbers: \n"); for(i=0;i<10;i++) printf("%3d",a[i]); printf("\n"); return0; } 用指针方法对10个整数按由大到小顺序排序 #include intmain() { voidsort(intx[],intn);//sort函数声明 inti,*p,a[10]; p=a;//指针变量p指向a[0] printf("pleaseenter10integernumbers: "); for(i=0;i<10;i++) scanf("%d",p++); p=a;//指针变量重新指向a[0] sort(p,10);//调用sort函数 for(p=a,i=0;i<10;i++)//输出排序后的10个数组元素 { printf("%3d",*p); p++; } printf("\n"); return0; } voidsort(intx[],intn)//定义sort函数,x是形参数组名 { inti,j,k,t; for(i=0;i { k=i; for(j=i+1;j if(x[j]>x[k])k=j; if(k! =i) { t=x[i];x[i]=x[k];x[k]=t; } } } 利用随机函数产生100个10~99之间(包括10和99)的随机整数存入一维数组A #include #include intmain() { inta[100],i;/*存放随机数的数组*/ time_tt1;/*用于存放时间*/ time(&t1);/*取得当前系统时间*/ srand(t1);/*设置随机数种子*/ for(i=0;i<100;i++)/*循环生成10个随机数,放到数组a中*/ a[i]=10+rand()%90; for(i=0;i<20;i++) printf("%3d\n",a[i]); return0;/*数值范围在10到99间,需要不同范围的数据请自行更改*/ } 利利⽤用所学语⾔言的随机数函数,来⽣生成⼆二⼗十个随机数(可以重复).之后利利⽤用你⽬目前会⽤用的排序⽅方法将他们排序。 输出排序前后输出排序后的结果.每五个元素换⼀一次⾏行行,记得加⼀一段描述性⽂文字区分前后的变化 #include #include intmain() { inta[100],i,j,t;/*存放随机数的数组*/ time_tt1;/*用于存放时间*/ time(&t1);/*取得当前系统时间*/ srand(t1);/*设置随机数种子*/ for(i=0;i<100;i++)/*循环生成10个随机数,放到数组a中*/ a[i]=10+rand()%90; for(i=0;i<20;i++) printf("%3d",a[i]);/*数值范围在10到99间,需要不同范围的数据请自行更改*/ printf("\n"); for(j=0;j<19;j++) for(i=0;i<19-j;i++) if(a[i]>a[i+1]) {t=a[i];a[i]=a[i+1];a[i+1]=t;} printf("thesortednumbers: \n"); for(i=0;i<20;i++) printf("%3d",a[i]); printf("\n"); return0; } ⼀一段字符串串,其中只有空格和字⺟母.⽐比如Ilovetaylorswift要求将这个字符串串的按单词翻转过来.也就是说,应该得到swifttaylorloveI对单词的定义就是没有空格的连续字符另外,如果字符串串是Ihaveanapple,可以看到前后都有多余的空格,最后返回的还必须是appleanhaveI也就是说两端多余的空格必须处理理掉. 如果上⾯面⽆无法完成的,就改成: 计算这段字符串串有多少个单词.所以Ilovetaylorswift有四个单词 #defineN3 #include main() { charstr[N][20]; inti=0,j; scanf("%s%s%s",str[i],str[i+1],str[i+2]); for(i=0;i printf("%s",str[i]); printf("\n"); for(i=N-1;i>=0;i--) printf("%s",str[i]); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 代码