void hei(struct link *head) { struct link *p=head; int j=1,i=0;char b[10]={'\0'}; printf("请输入作者名以便进行查找\n"); scanf("%s",b); while(p!=NULL) { if(strcmp(p->writer,b)==0) { printf("登录号 分类号 出版时间 价格 书名 作者名 出版单位\n"); printf("%-8d%-8d%-10d%-8d%-25s%-15s%-s\n",p->data,p->kindofnumber,p->time,p->price,p->book,p->writer,p->publisher);break; } else { p=p->next; j++;} } }改良代码,当查找时可以输出相同作者的多本书籍在文本中有多个书籍
时间: 2024-02-02 16:04:28 浏览: 70
void hei(struct link *head) {
struct link *p = head;
int j = 1, i = 0;
char b[10] = {'\0'};
int count = 0; // 计数器,记录找到的书籍数量
printf("请输入作者名以便进行查找\n");
scanf("%s", b);
printf("登录号 分类号 出版时间 价格 书名 作者名 出版单位\n");
while (p != NULL) {
if (strcmp(p->writer, b) == 0) {
printf("%-8d%-8d%-10d%-8d%-25s%-15s%-s\n", p->data, p->kindofnumber, p->time, p->price, p->book, p->writer, p->publisher);
count++; // 找到一本书,计数器加1
}
p = p->next;
}
if (count == 0) {
printf("没有找到该作者的书籍!\n");
}
else {
printf("共找到%d本该作者的书籍!\n", count);
}
}
相关问题
void hei(struct link *head) { struct link *p=head; int j=1,i=0;char b[10]={'\0'}; printf("请输入作者名以便进行查找\n"); scanf("%s",b); while(p!=NULL) { if(strcmp(p->writer,b)==0) { printf("登录号 分类号 出版时间 价格 书名 作者名 出版单位\n"); printf("%-8d%-8d%-10d%-8d%-25s%-15s%-s\n",p->data,p->kindofnumber,p->time,p->price,p->book,p->writer,p->publisher);break; } else { p=p->next; j++;} } }改良代码,当查找时可以输出一个作者的不同书籍信息,分类号出版社作者出版时间出版社价格登录号
void hei(struct link *head) {
struct link *p = head;
int j = 1, i = 0;
char b[10] = {'\0'};
printf("请输入作者名以便进行查找\n");
scanf("%s", b);
int count = 0; // 计数器,记录找到的书籍数量
while (p != NULL) {
if (strcmp(p->writer, b) == 0) {
if (count == 0) { // 第一本书,输出表头
printf("分类号 出版社 作者 出版时间 价格 登录号\n");
}
printf("%-8d%-10s%-8s%-10d%-8d%-8d\n", p->kindofnumber, p->publisher, p->writer, p->time, p->price, p->data);
count++; // 找到一本书,计数器加1
}
p = p->next;
}
if (count == 0) {
printf("没有找到该作者的书籍!\n");
}
else {
printf("共找到%d本该作者的书籍!\n", count);
}
}
clc; a=imread('11.jpg'); imshow(uint8(a)); b=rgb2gray(a); [wid,hei]=size(b); qt=zeros(wid/2+1,hei/2+1); i1=1; j1=1; for i=1:2:wid for j=1:2:hei qt(i1,j1)=b(i,j); j1=j1+1; end i1=i1+1; j1=1; end figure imshow(uint8(qt)); qt1=zeros(wid/4+1,hei/4+1); i1=1; j1=1; for i=1:4:wid for j=1:4:hei qt1(i1,j1)=b(i,j); j1=j1+1; end i1=i1+1; j1=1; end figure imshow(uint8(qt1));
根据您提供的代码,我看到您的程序是将原始图像进行降采样,生成了两个不同程度的缩小版图像。如果您需要修改输入大小的限制,可以尝试修改代码中的像素步长,即将代码中的 `1` 和 `4` 改为其他的整数,从而更改缩小程度。例如,将 `1` 和 `4` 分别改为 `2` 和 `8`,即可生成更小的图像。另外,您还可以使用更高级的图像处理算法,如卷积神经网络,来实现更灵活的图像缩放。
阅读全文