文章目录
- 1、计算天数
- 2、查找指定字符
- 3、字符串逆序
1、计算天数
题目: 本题要求编写程序计算某年某月某日是该年中的第几天。
输入格式: 输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。
输出格式: 在一行输出日期是该年中的第几天。
输入样例1:
2009/03/02
输出样例1:
61
输入样例2:
2000/03/02
输出样例2:
62
代码1
#include<stdio.h>
int main()
{
int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int i,month,day,year,sum=0;
scanf("%d/%d/%d",&year,&month,&day);
if(year%4==0&&year%100!=0||year%400==0){
a[0]=day;a[2]=29;
}
else a[0]=day;
for(i=0;i<month;i++){
sum+=a[i];
}
printf("%d",sum);
return 0;
}
代码2
#include<stdio.h>
int main()
{
int i,year,month,day,n=0,
a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
scanf("%d/%d/%d",&year,&month,&day);
if((year%4==0&&year%100)||year%400==0)
a[2]=29;
for(i=0;i<=month-1;i++)
n+=a[i];
printf("%d",n+day);
return 0;
}
2、查找指定字符
题目: 本题要求编写程序,从给定字符串中查找某指定的字符。
输入格式: 输入的第一行是一个待查找的字符。第二行是一个以回车结束的非空字符串(不超过80个字符)。
输出格式: 如果找到,在一行内按照格式“index = 下标”输出该字符在字符串中所对应的最大下标(下标从0开始);否则输出"Not Found"。
输入样例1:
m
programming
输出样例1:
index = 7
输入样例2:
a
1234
输出样例2:
Not Found
代码
#include<stdio.h>
#include<string.h>
int main()
{
char x,a[80];
int b=-1,len,flag=0,i;
scanf("%c\n",&x);
gets(a);
len=strlen(a);
for(i=0;i<=strlen(a);i++){
if(x==a[i]){
flag=1;
b=i;
}
}
if(flag==1){
printf("index = %d",b);
}
else{
printf("Not Found");
}
return 0;
}
3、字符串逆序
题目: 输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。
输入格式: 输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。
输出格式: 在一行中输出逆序后的字符串。
输入样例:
Hello World!
输出样例:
!dlroW olleH
代码1
#include<stdio.h>
#include<string.h>
int main()
{
char a[80]={0};
gets(a);
int len,i;
len=strlen(a);
for(i=len-1;i>=0;i--){
printf("%c",a[i]);
}
return 0;
}
代码2
#include<stdio.h>
#include<string.h>
int main()
{
int i, j, cnt;
char ch, a[80];
gets(a);
for(i=strlen(a)-1; i>=0; i--)
printf("%c", a[i]);
return 0;
}