第18周
课后1
#include<stdio.h>
int dt[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int isr(int year)
{
if(year%4==0 && year%100!=0 || year%400==0)
return 1;
else return 0;
}
int main()
{
int n;
int y,m,d;
int sum;
scanf("%d",&n);
while(n--)
{ sum=0;
scanf("%d %d %d",&y,&m,&d);
if(isr(y)==1) dt[2]=29;
else dt[2]=28;
for(int i=1;i<m;i++)
{
sum+=dt[i];
}
sum+=d;
printf("%d\n",sum);
}
return 0;
}
课后2
#include <stdio.h>
#include <stdlib.h>
#include "test.h"
#include<string.h>
void registerStaff(int n,staff *head)
{
int i;
for(i=0;i<n;i++)
{
staff *s=(staff*)malloc(sizeof(staff));
scanf("%d %d %d %s",&s->id,&s->age,&s->wages,s->name);
s->next=NULL;
head->next=s;
head=s;
}
}
void getMaxWages(staff *head)
{
staff *p,*q,*pre,*c;
q=head;
p=head->next;
int m=-999;
while(p!=NULL)
{
if(m<p->wages)
{
pre = q;
c =p;
m=p->wages;
}
q=p;
p=p->next;
}
pre->next = c->next;
c->next = head->next;
head->next = c;
}
课后3
#include <stdio.h>
#include<stdlib.h>
#include "test.h"
void insertStaff(staff *head){
staff*p=(staff*)malloc(sizeof(staff));
scanf("%d%d%d %s",&p->id,&p->age,&p->wages,p->name);
p->next=NULL;
staff*q=head;
while(q->next!=NULL){
q=q->next;
}
q->next=p;
}
void deleteStaff(staff *head,int id){
staff*curr=head->next,*pre=head;
while(curr!=NULL&&curr->id!=id){
curr=curr->next;
pre=pre->next;
}
if(curr!=NULL){
pre->next=curr->next;
free(curr);
}
}
int getTotalStaff(staff *head){
staff*p=head->next;
int sum=0;
while(p!=NULL){
sum++;
p=p->next;
}
return sum;
}
int getAvgWages(staff *head){
if(getTotalStaff(head)==0){
return 0;
}
staff*p=head->next;
int totalwages=0;
while(p!=NULL){
totalwages+=p->wages;
p=p->next;
}
return totalwages/getTotalStaff(head);
}
int getMaxAge(staff *head){
staff*p=head->next,*temp=p;
if(p==NULL){
return 0;
}
int MaxAge=p->age;
while(p!=NULL){
if(p->age>MaxAge){
temp=p;
MaxAge=p->age;
}
p=p->next;
}
return MaxAge;
}
巩固1
#include<stdio.h>
struct std {
int a;
int b;
};
int main()
{
int n,s,i,j;
struct std a[105];
struct std t;
while ( scanf( "%d %d",&n ,&s)&&!(n==0 && s==0) )
{
for ( i=0;i<n;i++ )
{
scanf( "%d%d",&a[i].a,&a[i].b );
}
for ( i=0;i<n;i++ ) {
for ( j=0;j<n-i-1;j++ ) {
if ( a[j].b>a[j+1].b ) {
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
for ( i=0;i<n;i++ )
{
if ( s<a[i].b ) break;
else s+=a[i].a;
}
if (i==n) printf( "YES\n" );
else printf( "NO\n" );
}
return 0;
}
巩固2
#include<stdio.h>
int main()
{
int m,n,t=0;;
scanf("%d%d",&m,&n);
for(int i=m/5;i>=0;i--)
{
for(int j=0;j<=n;j++)
{
for(int k=n;k>=0;k--)
{
if(i+j+3*k==n && 5*i+3*j+k==m)
{
printf("%d %d %d\n",i,j,3*k);
t=1;
}
}
}
}
if(t==0) printf("no answer\n");
return 0;
}
巩固3
#include<stdio.h>
int d[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int isr(int year)
{
if(year%4==0 && year%100!=0 || year%400==0)
return 1;
else return 0;
}
int main()
{
int y,fd,m;
int c[13];
scanf("%d %d %d",&y,&fd,&m);
if(isr(y)==1) d[2]=29;
c[1]=fd;
for(int i=2;i<=12;i++)
{
c[i]=(c[i-1]+d[i-1])%7;
}
int t=0;
switch(m)
{
case 1:printf("January ");break;
case 2:printf("February ");break;
case 3:printf("March ");break;
case 4:printf("April ");break;
case 5:printf("May ");break;
case 6:printf("June ");break;
case 7:printf("July ");break;
case 8:printf("August ");break;
case 9:printf("September ");break;
case 10:printf("October ");break;
case 11:printf("November ");break;
case 12:printf("December ");break;
}
printf("%d\n",y);
printf(" Sun Mon Tue Wed Thu Fri Sat\n");
for(int j=1;j<=c[m];j++)
{
printf(" ");t++;
}
for(int k=1;k<=d[m];k++)
{
printf("%8d",k);
t++;
if(t==7)
{
printf("\n");
t=0;
}
}
return 0;
}
推荐这些文章:
java基础总结——java中continue&break&return关键字
continue关键字
break关键字
 ...
正则表达式(?<=<(\w+)>).*(?=<\/\1>) 分组
问题
正则表达式(?<=<(\w+)>).*(?=<\/\1>)里面\1代表的是 (\w+) 还是 (?<=<(\w+)>) ?请解释一下,谢谢!
最佳回答
测试了下 是指...
首先大家看一下我的XML中的SQL 、DAO 和实体对象
XML
DAO
PO
乍一看 没毛病。
但是在Mybatis中使用sum函数,如果返回值是0(就是你在Navicat中运行的的sql正常,结果都是0),那么其实是不会返回0的,而是返回Null,并且呢 我们在mapper中定义...
循环结构 while do-while for break continue语法
循环固定内容组成:1.声明定义初始化;2.条件判断语句;3.要执行的代码语句;4.自身改变。
循环语句的用法:重复执行固定的代码,直到条件不出来
1.while循环语法
首先要定好初始值
while(条件){
循环体(要有改变循环条件的语句)
}
if(条件){
执行代码
}
2.do-while循...
return语句之后的代码不被执行
例:
return返回值 :
return只能返回一个值。如果用逗号隔开多个值,以最后一个为准。
那就让它返回一个数组:
函数没有return返回undefined:
我们的函数如果有return则返回的是retu...
使用类做为Dictionary<T,K>的key需什么要求?
问题
<P> </P>
最佳回答
没有要求
...
写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息。
#include<stdio.h>int test(int x){ int i=1; for(i=1;i<x;i++){ if(x%i==0&&x>2) return 0; else return 1; }
}int main(){ ...
shell脚本中的循环(for循环,while循环)及break、continue的用法示例
Shell脚本中也算是一门简易的编程语言了,当然循环是不能缺少的。常用到的循环有for循环和while循环。下面就分别介绍一下两种循环的结构。
【for循环】:
Shell脚本中的for循环示例:
#! /bin/bash
## author:Xiong Xuehao
## Use for in this script.
for i ...
完成一个指针函数,该函数 返回一个 数组的首地址,数组中保存学生成绩, 然后在main函数中调用,打印学生成绩
方法1: 动态内存分配
#include <stdio.h>
#include <stdlib.h>
int *get_score()
{
int i;
int *s = malloc(5 * sizeof(int));
for(i = 0; i < 5; i++)
{
...
/*
* function ListNode(x){
* this.val = x;
* this.next = null;
* }
*/
/**
*
* @param head ListNode类
* @return ListNode类
*/
function deleteDuplicates...
文章链接:https://www.dianjilingqu.com/3836.html
本文章来源于网络,版权归原作者所有,如果本站文章侵犯了您的权益,请联系我们删除,联系邮箱:saisai#email.cn,感谢支持理解。