查找书籍
给定n本书的名称和定价,本题要求编写程序,查找并输出其中定价最高和最低的书的名称和定价
输入:书的数量n,书的名称name和定价price。
输出:其中定价最高书的名称和定价。
优化目标:可能没有优化目标。
#include#include typedef struct{ float price; char name[]; }stu; int main(){ int n; printf("多少书"); scanf("%d",&n); stu s[n]; int i; char c; for(i=0;i s[max].price){ max=i; } } printf("%.2lf",s[max].price); printf("%s",s[max].name) ; }
方阵循环右移
本题要求编写程序,将给定n×n方阵中的每个元素循环向右移m个位置,即将第0、1、⋯、n−1列变换为第n−m、n−m+1、⋯、n−1、0、1、⋯、n−m−1列。
输入:n阶方阵,右移m个位置以及n×n方阵中的每个元素。
输出:每个元素循环向右移m个位置后的结果。
优化目标:可能没有优化目标。
#include#include int main(){ int n; printf("n*n矩阵"); scanf("%d",&n); int m; printf("右移m位"); scanf("%d",&m); int a[n][n]; int i,j,num; for(i=0;i n){ m=m%n; } if(m%n==0){ for(i=0;i 递归求阶乘和
本题要求实现一个计算非负整数阶乘的简单函数,并利用该函数求 1!+2!+3!+...+n! 的值。
输入:正整数n。
输出:1!+2!+...+n! 的值。
优化目标:可能没有优化目标。
#includeint jie(int n){ int sum; if(n==1){ return 1; }else{ sum=n*jie(n-1); } return sum; } int he(int n){ int sum; if(n==1){ return 1; }else{ sum=jie(n)+he(n-1); } return sum; } int main(){ int x=he(3); printf("%d",x); } 将输入的链表分为值全为奇数的链表和值全为偶数的链表。
输入:链表各个结点的值num。
输出:全为奇数的链表1的值,全为奇数的链表2的值。
优化目标:可能没有优化目标。
#include#include typedef struct LNode *list; struct LNode{ int data; list next; }; void print(list l){//输出操作 if(l==NULL){ printf("NULL"); } while(l!=NULL){ printf("%d ",l->data); l=l->next; } } list sort(list l){ if(l==NULL){ return NULL; } list l1=l; int x=1; int i,j; while(l1->next!=NULL){ l1=l1->next; x++; } for(i=0;i next; for(j=x-i-1;j>0;j--){ if(q->data>p->data){ int tmp=q->data; q->data=p->data; p->data=tmp; } q=q->next; p=p->next; } } return l; } int ji(list l){ list l1; l1->next=NULL; list l2=l1; while(l!=NULL){ if(l->data%2!=0){ list q=(list)malloc(sizeof(struct LNode)); q->next=NULL; q->data=l->data; l1->next=q; l1=q; } l=l->next; } return l2; } int ou(list l){ list l1; l1->next=NULL; list l2=l1; while(l!=NULL){ if(l->data%2==0){ list q=(list)malloc(sizeof(struct LNode)); q->next=NULL; q->data=l->data; l1->next=q; l1=q; } l=l->next; } return l2; } int main(){ int num; list l; list l1=l; l->next=NULL; scanf("%d",&num); while(num!=-1){ list q=(list)malloc(sizeof(struct LNode)); q->next=NULL; q->data=num; l->next=q; l=q; scanf("%d",&num); } list l2=l1; l1=l1->next; print(l1); printf("n"); list l3=ji(l1); list la=l3->next; printf("奇数结点:"); print(la); printf("n"); printf("偶数结点:"); list l4=ou(l1); list lb=l4->next; print(lb); } 今天复习了c语言中之前觉得还不是很熟悉的地方,代码还是要多练习才会更熟悉。



