Day 3 算法笔记之习题集2.7
作者:互联网
1.C语言10.1
这里面用了一个挺有趣的式子 ()?a:b,判断起来满简洁的。
#include<cstdio>
#include<cstring>
int main(){
int a,b;
int *m=&a,*n=&b;
scanf("%d %d",m,n);
printf("%d %d",*m>*n?*m:*n,*m>*n?*n:*m);
return 0;
}
2.C语言10.2
#include<cstdio>
#include<cstring>
int main(){
int a,b,c;
int *x=&a,*y=&b,*z=&c;
scanf("%d %d %d",x,y,z);
int martix[10] = {*x,*y,*z};
for (int i=0; i<2; i++){
for(int j=0; j<2-i;j++){
if (martix[j]<martix[j+1]){
int temp = martix[j];
martix[j] = martix[j+1];
martix[j+1] = temp;
}
}
}
for (int i=0; i<3; i++){
printf("%d ",martix[i]);
}
return 0;
}
3.C语言10.10
#include<cstdio>
#include<cstring>
int main(){
const char *a = "I love China!";
int x;
scanf("%d",&x);
printf("%s",a+x);
return 0;
}
4.C语言10.15
就贴个代码在这了,没啥意思,也没做完,后面的是体力活。不过后面大佬的写法还是值得一看的。
#include<cstdio>
#include<cstring>
int main(){
char martix_1[100],martix_2[100],martix_3[100];
char *x=martix_1,*y=martix_2,*z=martix_3;
int length_1,length_2,length_3;
scanf("%s",x);
scanf("%s",y);
scanf("%s",z);
for(int i=0; i< strlen(martix_1);i++){
printf("%d\n",*(x+i));
length_1+=*(x+i);
}
printf("----------------------------%d\n",length_1);
for(int i=0; i< strlen(martix_2);i++){
printf("%d\n",*(y+i));
length_2+=*(y+i);
}
printf("----------------------------%d\n",length_2);
for(int i=0; i< strlen(martix_3);i++){
printf("%d\n",*(z+i));
length_3+=*(z+i);
}
printf("----------------------------%d\n",length_3);
printf("%d %d %d",length_1,length_2,length_3);
return 0;
}
//#include <cstdio>
//#include <cstring>
//int main()
//{
// char a[20],b[20],c[20];
// char *p=a,*q=b,*r=c;
// scanf("%s%s%s",a,b,c);
// printf("%s\n%s\n%s\n",strcmp((strcmp(p,q)>0?q:p),r)<0?(strcmp(p,q)>0?q:p):r,
// strcmp((strcmp(p,q)>0?p:q),r)>0?(strcmp((strcmp(p,q)>0?q:p),r)>0?(strcmp(p,q)>0?q:p):r):(strcmp(p,q)>0?p:q),
// strcmp((strcmp(p,q)>0?p:q),r)>0?(strcmp(p,q)>0?p:q):r);
// return 0;
//}
5.C语言10.16
这一个其实做的相当烦躁,女朋友一直在逼逼赖赖,不过这题练习指针还是相当不错的
#include<cstdio>
#include<cstring>
int* return_min(int a[]){
int min=0;
for(int i=1;i<10;i++){
if(a[min]>a[i]){
min=i;
}
}
return &a[min];
}
int* return_max(int a[]){
int max=0;
for(int i=1;i<10;i++){
if(a[max]<a[i]){
max=i;
}
}
return &a[max];
}
void swap(int*p,int*q){
int temp=*p;
*p=*q;
*q=temp;
}
int main(){
int martix[100];
for(int i=0;i<10;i++){
scanf("%d",&martix[i]);
}
int *p,*q;
p =return_min(martix);
q =return_max(martix);
swap(p,&martix[0]);
swap(q,&martix[9]);
for(int i=0;i<10;i++){
printf("%d ",martix[i]);
}
return 0;
}
标签:martix,int,习题集,strcmp,length,printf,include,2.7,Day 来源: https://blog.csdn.net/aixiaoxiao13/article/details/120293877