字符串替换
本题要求编写程序,将给定字符串中的大写英文字母按以下对应规则替换:
| 原字母 | 对应字母 |
|---|---|
| A | Z |
| B | Y |
| C | X |
| D | W |
| … | … |
| X | C |
| Y | B |
| Z | A |
输入:一串字符串。
输出:字符串中的大写英文字母按对应规则替换后的结果。
优化目标:可能没有优化目标。
#include#include #define maxsize 10000 int main(){ char s[maxsize]; gets(s); int i; int len=strlen(s); for(i=0;i ='A'&&s[i]<='Z'){ s[i]='A'+'Z'-s[i]; } } puts(s); }
字符串排序
本题要求编写程序,读入5个字符串,按由小到大的顺序输出。
输入:五串字符串。
输出:按由小到大的顺序输出。
优化目标:可能没有优化目标。
#include#include int main(){ char s[5][80],t[80]; int i,j; for(i=0;i<5;i++){ scanf("%s",&s[i]); } for(i=0;i<4;i++){ for(j=0;j<4-i;j++){ if(strcmp(s[j],s[j+1])>0){//比较大小 strcpy(t,s[j]);//交换顺序 strcpy(s[j],s[j+1]); strcpy(s[j+1],t); } } } printf("After sorted:n"); for(i=0;i<5;i++){ printf("%sn",s[i]); } return 0; }
通讯录排序
输入n个朋友的信息,包括姓名、生日、电话号码,本题要求编写程序,按照年龄从大到小的顺序依次输出通讯录。题目保证所有人的生日均不相同。
输入:n个朋友的信息,包括姓名name、生日birth、电话号码number。
输出:年龄从大到小的顺序依次输出通讯录。
优化目标:可能没有优化目标。
#includestruct student { char name[10]; int birth; char number[20]; }stu[10],stu1;//stu1交换信息 int main(){ int i,j,num; scanf("%d",&num); for(i=0;i stu[j+1].birth){ stu1 = stu[j]; stu[j] = stu[j+1]; stu[j+1] = stu1; } } for (i=0;i 找鞍点
一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。
本题要求编写程序,求一个给定的n阶方阵的鞍点。
输入:方阵为n阶方阵,输入给定的n阶方阵
输出:求一个给定的n阶方阵的鞍点。
优化目标:可能没有优化目标。
#includeint main(){ int n; scanf("%d",&n); int s[n][n]; int i,j; for(i=0;i =s[i][l]){ l=j; flag=1; } } for(r=0;r 水仙花数
输入:无
输出:三位的水仙花数。
优化目标:可能没有优化目标。
#include#define maxsize 1000 int main(){ int N; int i; int num; int count=0; int a,b,c ;//用来记录个十百位的数字 for(i=100;i<1000;i++){ a=i/100; c=i%10; b=(i-a*100)/10; num=(a*a*a)+(b*b*b)+(c*c*c); if(num==i){ printf("%d ",num); } } } 单链表排序
输入:表长count,表中各元素的值。
输出:表内的值按由小至大输出。
优化目标:可能没有优化目标
#include#include typedef struct LNode *linklist; struct LNode{ int data; linklist next; }; int initlist(){ linklist L=(linklist)malloc(sizeof(linklist)); L->next=NULL; linklist L1=L; int num=0; int count; int x=0; printf("输入元素个数"); scanf("%d",&count); while(x data=num; q->next=NULL; L1->next=q; L1=q; x++; } return L; } int sort(linklist L){ int i,j,num; int count =1; linklist L1=L,L3=L->next,tail,L2; while(L3->next!=NULL){ L3=L3->next; count++; } for(i=0;i next; L1=L2->next; for(num;num>0;num--){ if(L2->data>L1->data){ int temp=L2->data; L2->data=L1->data; L1->data=temp; } L2=L2->next; L1=L1->next; } } return L; } int main(){ linklist L=initlist(); linklist L1; L1=sort(L); L1=L1->next; while(L1!=NULL){ printf(" %d",L1->data); L1=L1->next; } } 今天学习了一部分关于PTA上c语言的经典例题复习了一些链表的内容,明天会继续学习链表和栈的一些例题。



