当前位置:   article > 正文

学习C语言的第十六天_本题要求编写程序,将给定字符串中的大写英文字母按以下对应规则替换:

本题要求编写程序,将给定字符串中的大写英文字母按以下对应规则替换:

字符串替换 

本题要求编写程序,将给定字符串中的大写英文字母按以下对应规则替换:

原字母对应字母
AZ
BY
CX
DW
XC
YB
ZA

输入:一串字符串。

输出:字符串中的大写英文字母按对应规则替换后的结果。

优化目标:可能没有优化目标。

  1. #include<stdio.h>
  2. #include<string.h>
  3. #define maxsize 10000
  4. int main(){
  5. char s[maxsize];
  6. gets(s);
  7. int i;
  8. int len=strlen(s);
  9. for(i=0;i<len;i++){
  10. if(s[i]>='A'&&s[i]<='Z'){
  11. s[i]='A'+'Z'-s[i];
  12. }
  13. }
  14. puts(s);
  15. }

字符串排序 

本题要求编写程序,读入5个字符串,按由小到大的顺序输出。

输入:五串字符串。

输出:按由小到大的顺序输出。

优化目标:可能没有优化目标。

  1. #include<stdio.h>
  2. #include<string.h>
  3. int main(){
  4. char s[5][80],t[80];
  5. int i,j;
  6. for(i=0;i<5;i++){
  7. scanf("%s",&s[i]);
  8. }
  9. for(i=0;i<4;i++){
  10. for(j=0;j<4-i;j++){
  11. if(strcmp(s[j],s[j+1])>0){//比较大小
  12. strcpy(t,s[j]);//交换顺序
  13. strcpy(s[j],s[j+1]);
  14. strcpy(s[j+1],t);
  15. }
  16. }
  17. }
  18. printf("After sorted:\n");
  19. for(i=0;i<5;i++){
  20. printf("%s\n",s[i]);
  21. }
  22. return 0;
  23. }

通讯录排序 

输入n个朋友的信息,包括姓名、生日、电话号码,本题要求编写程序,按照年龄从大到小的顺序依次输出通讯录。题目保证所有人的生日均不相同。

输入:n个朋友的信息,包括姓名name、生日birth、电话号码number。

输出:年龄从大到小的顺序依次输出通讯录。

优化目标:可能没有优化目标。

  1. #include<stdio.h>
  2. struct student {
  3. char name[10];
  4. int birth;
  5. char number[20];
  6. }stu[10],stu1;//stu1交换信息
  7. int main(){
  8. int i,j,num;
  9. scanf("%d",&num);
  10. for(i=0;i<num;i++){
  11. scanf("%s %d %s",& stu[i].name, &stu[i].birth, &stu[i].number);
  12. }
  13. for (i=0; i<num-1;i++){
  14. for (j=0;j<num-i-1;j++){
  15. if (stu[j].birth>stu[j+1].birth){
  16. stu1 = stu[j];
  17. stu[j] = stu[j+1];
  18. stu[j+1] = stu1;
  19. }
  20. }
  21. for (i=0;i<num;i++){
  22. printf("%s %d %s\n", stu[i].name, stu[i].birth, stu[i].number);
  23. }
  24. return 0;
  25. }
  26. }

找鞍点

一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。

本题要求编写程序,求一个给定的n阶方阵的鞍点。

输入:方阵为n阶方阵,输入给定的n阶方阵

输出:求一个给定的n阶方阵的鞍点。

优化目标:可能没有优化目标。

  1. #include<stdio.h>
  2. int main(){
  3. int n;
  4. scanf("%d",&n);
  5. int s[n][n];
  6. int i,j;
  7. for(i=0;i<n;i++){
  8. for(j=0;j<n;j++){
  9. scanf("%d",&s[i][j]);
  10. }
  11. }
  12. int t=0;//判断程序内有无符合要求的输出
  13. int r=0,l=0;
  14. int flag=0;
  15. for(i=0;i<n;i++){
  16. for(j=0;j<n;j++){
  17. if(s[i][j]>=s[i][l]){
  18. l=j;
  19. flag=1;
  20. }
  21. }
  22. for(r=0;r<n;r++){
  23. if(s[r][l]<s[i][l]){
  24. flag=0;
  25. break;
  26. }
  27. }
  28. if(flag){
  29. printf("%d %d",i,l);
  30. t=1;//表示有输出
  31. }
  32. }
  33. if(t==0){
  34. printf("NONE");
  35. }
  36. }

 水仙花数 

输入:无

输出:三位的水仙花数。

优化目标:可能没有优化目标。

  1. #include<stdio.h>
  2. #define maxsize 1000
  3. int main(){
  4. int N;
  5. int i;
  6. int num;
  7. int count=0;
  8. int a,b,c ;//用来记录个十百位的数字
  9. for(i=100;i<1000;i++){
  10. a=i/100;
  11. c=i%10;
  12. b=(i-a*100)/10;
  13. num=(a*a*a)+(b*b*b)+(c*c*c);
  14. if(num==i){
  15. printf("%d ",num);
  16. }
  17. }
  18. }

单链表排序

输入:表长count,表中各元素的值。

输出:表内的值按由小至大输出。

优化目标:可能没有优化目标

  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. typedef struct LNode *linklist;
  4. struct LNode{
  5. int data;
  6. linklist next;
  7. };
  8. int initlist(){
  9. linklist L=(linklist)malloc(sizeof(linklist));
  10. L->next=NULL;
  11. linklist L1=L;
  12. int num=0;
  13. int count;
  14. int x=0;
  15. printf("输入元素个数");
  16. scanf("%d",&count);
  17. while(x<count){
  18. printf("请输入元素%d的值",x);
  19. scanf("%d",&num);
  20. linklist q=(linklist)malloc(sizeof(linklist));
  21. q->data=num;
  22. q->next=NULL;
  23. L1->next=q;
  24. L1=q;
  25. x++;
  26. }
  27. return L;
  28. }
  29. int sort(linklist L){
  30. int i,j,num;
  31. int count =1;
  32. linklist L1=L,L3=L->next,tail,L2;
  33. while(L3->next!=NULL){
  34. L3=L3->next;
  35. count++;
  36. }
  37. for(i=0;i<count-1;i++){
  38. num=count -1-i;
  39. L2=L->next;
  40. L1=L2->next;
  41. for(num;num>0;num--){
  42. if(L2->data>L1->data){
  43. int temp=L2->data;
  44. L2->data=L1->data;
  45. L1->data=temp;
  46. }
  47. L2=L2->next;
  48. L1=L1->next;
  49. }
  50. }
  51. return L;
  52. }
  53. int main(){
  54. linklist L=initlist();
  55. linklist L1;
  56. L1=sort(L);
  57. L1=L1->next;
  58. while(L1!=NULL){
  59. printf(" %d",L1->data);
  60. L1=L1->next;
  61. }
  62. }

今天学习了一部分关于PTA上c语言的经典例题复习了一些链表的内容,明天会继续学习链表和栈的一些例题。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/1007950
推荐阅读
相关标签
  

闽ICP备14008679号