德宏傣族景颇族自治州网站建设_网站建设公司_服务器部署_seo优化
2025/12/19 21:44:34 网站建设 项目流程

任务4

#include<stdio.h>
#define N 10typedef struct
{char isbn[20];char name[80];char author[80];double sales_price;int sales_count;
}Book;void output(Book x[],int n);
void sort(Book x[],int n);
double sales_amount(Book x[],int n);int main()
{Book x[N]={{"978-7-5327-6082-4", "门将之死", "罗纳德.伦", 42, 51},{"978-7-308-17047-5", "自由与爱之地:入以色列记", "云也退", 49 , 30},{"978-7-5404-9344-8", "伦敦人", "克莱格泰勒", 68, 27},{"978-7-5447-5246-6", "软件体的生命周期", "特德姜", 35, 90}, {"978-7-5722-5475-8", "芯片简史", "汪波", 74.9, 49},{"978-7-5133-5750-0", "主机战争", "布莱克.J.哈里斯", 128, 42},{"978-7-2011-4617-1", "世界尽头的咖啡馆", "约翰·史崔勒基", 22.5, 44},{"978-7-5133-5109-6", "你好外星人", "英国未来出版集团", 118, 42},{"978-7-1155-0509-5", "无穷的开始:世界进步的本源", "戴维·多伊奇", 37.5, 55},{"978-7-229-14156-1", "源泉", "安.兰德", 84, 59}};printf("图书销售排名(按销售册数):\n");sort(x,N);output(x,N);printf("\n图书销售总额:%.2f\n",sales_amount(x,N));return 0;                                        }void sort(Book x[],int n)
{int i,j;Book t;for(i=0;i<n;i++){for(j=0;j<n-1-i;j++){if(x[j].sales_count<x[j+1].sales_count){t=x[j];x[j]=x[j+1];x[j+1]=t;}}}}double sales_amount(Book x[],int n)
{double sum=0;int i;for(i=0;i<n;i++)sum+=x[i].sales_price*x[i].sales_count;return sum;
}void output(Book x[],int n)
{int i;printf("ISBN号              书名                       作者                售价                销售册数\n");for(i=0;i<n;i++)printf("%-20s%-27s%-20s%-20g%-20d\n",x[i].isbn,x[i].name,x[i].author,x[i].sales_price,x[i].sales_count);
}

  

image

 

任务5

#include <stdio.h>typedef struct {int year;int month;int day;
} Date;void input(Date *pd);                   
int day_of_year(Date d);                
int compare_dates(Date d1, Date d2);    void test1() 
{Date d;int i;printf("输入日期:(以形如2025-12-19这样的形式输入)\n");for(i = 0; i < 3; ++i){input(&d);printf("%d-%02d-%02d是这一年中第%d天\n\n", d.year, d.month, d.day, day_of_year(d));}}void test2() 
{Date Alice_birth, Bob_birth;int i;int ans;printf("输入Alice和Bob出生日期:(以形如2025-12-19这样的形式输入)\n");for(i = 0; i < 3; ++i) {input(&Alice_birth);input(&Bob_birth);ans = compare_dates(Alice_birth, Bob_birth);if(ans == 0)printf("Alice和Bob一样大\n\n");else if(ans == -1)printf("Alice比Bob大\n\n");elseprintf("Alice比Bob小\n\n");}}int main() 
{printf("测试1: 输入日期, 打印输出这是一年中第多少天\n");test1();printf("\n测试2: 两个人年龄大小关系\n");test2();}void input(Date *pd) 
{scanf("%d-%d-%d",&pd->year,&pd->month,&pd->day);}int day_of_year(Date d) 
{int days;switch(d.month){case 1:days=d.day;break;case 2:days=31+d.day;break;case 3:days=59+d.day;break;case 4:days=90+d.day;break;case 5:days=120+d.day;break;case 6:days=151+d.day;break;case 7:days=181+d.day;break;case 8:days=212+d.day;break;case 9:days=243+d.day;break;case 10:days=273+d.day;break;case 11:days=304+d.day;break;case 12:days=334+d.day;break;default:break;}if(d.year%4==0&&d.year%100!=0||d.year%400==0)if(d.month>2)days+=1;return days;}int compare_dates(Date d1, Date d2) 
{if(d1.year>d2.year)return 1;else if(d1.year<d2.year)return -1;else{if(d1.month>d2.month)return 1;else if(d1.month<d2.month)return -1;else{if(d1.day>d2.day)return 1;else if(d1.day<d2.day)return -1;elsereturn 0;}}}

  

image

 

 

任务6

#include <stdio.h>
#include <string.h>enum Role {admin, student, teacher};typedef struct 
{char username[20];  char password[20];  enum Role type;  } Account;void output(Account x[], int n);  int main() 
{Account x[] = {{"A1001", "123456", student},{"A1002", "123abcdef", student},{"A1009", "xyz12121", student}, {"X1009", "9213071x", admin},{"C11553", "129dfg32k", teacher},{"X3005", "921kfmg917", student}};int n;n = sizeof(x)/sizeof(Account);output(x, n);return 0;}void output(Account x[], int n) 
{int i,j;for(i=0;i<n;i++){for(j=0;j<strlen(x[i].password);j++)x[i].password[j]='*';printf("%-10s%-16s",x[i].username,x[i].password);switch(x[i].type){case 0:{printf("admin\n");break;}case 1:{printf("student\n");break;}case 2:{printf("teacher\n");break;}
default:break;}} }

 

image

 

任务7

#include <stdio.h>
#include <string.h>
#define N 10typedef struct 
{char name[20];      char phone[12];     int  vip; } Contact; void set_vip_contact(Contact x[], int n, char name[]);  
void output(Contact x[], int n);   
void display(Contact x[], int n);   int main() 
{Contact list[N] = {{"刘一", "15510846604", 0},{"陈二", "18038747351", 0},{"张三", "18853253914", 0},{"李四", "13230584477", 0},{"王五", "15547571923", 0},{"赵六", "18856659351", 0},{"周七", "17705843215", 0},{"孙八", "15552933732", 0},{"吴九", "18077702405", 0},{"郑十", "18820725036", 0}};int vip_cnt, i;char name[20];printf("显示原始通讯录信息: \n"); output(list, N);printf("\n输入要设置的紧急联系人个数: ");scanf("%d", &vip_cnt);printf("输入%d个紧急联系人姓名:\n", vip_cnt);for(i = 0; i < vip_cnt; ++i) {scanf("%s", name);set_vip_contact(list, N, name);}printf("\n显示通讯录列表:(按姓名字典序升序排列,紧急联系人最先显示)\n");display(list, N);return 0;
}void set_vip_contact(Contact x[], int n, char name[]) 
{int i;for(i=0;i<n;i++){if(strcmp(x[i].name,name)==0)x[i].vip=1;} }void display(Contact x[], int n) 
{int i,j;Contact t;for(i=0;i<n;i++)for(j=i+1;j<n;j++)if(strcmp(x[i].name,x[j].name)>0){t=x[i];x[i]=x[j];x[j]=t;}for(i=0;i<n;i++){if(x[i].vip==1){printf("%-10s%-15s", x[i].name, x[i].phone);printf("*\n");}}for(i=0;i<n;i++){if(x[i].vip==0)printf("%-10s%-15s\n", x[i].name, x[i].phone);}}void output(Contact x[], int n) 
{int i;for(i = 0; i < n; ++i) {printf("%-10s%-15s", x[i].name, x[i].phone);if(x[i].vip)printf("%5s", "*");printf("\n");}}

  

image

 

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询