反转字符串
输入:字符串的值。
输出:反转字符串后的字符串的值。
优化目标:可能没有优化目标。
#include<stdio.h>
#include<stdlib.h>
#include <stdbool.h>
#define maxsize 100
#include<string.h>
int main(){
char s[maxsize];
gets(s);
int i;
int len=strlen(s);
for(i=0;i<len/2;i++){
int tmp=s[i];
s[i]=s[len-i-1];
s[len-i-1]=tmp;
}
puts(s);
}
字符串左旋k位
输入:字符串的值,左旋k位。
输出:字符串左旋k位后的字符串的值。
优化目标:可能没有优化目标。
#include<stdio.h>
#include<stdlib.h>
#include <stdbool.h>
#define maxsize 100
#include<string.h>
int main(){
char s[maxsize];
gets(s);
int i;
int len=strlen(s);
printf("要左旋几位");
int num;
scanf("%d",&num);
if(num%len==0){
puts(s);
return 0;
}
if(num>len){
num=num%len;
}
int t=0;
char s1[len];
for(i=num;i<len;i++){
s1[t]=s[i];
t++;
}
for(i=0;i<num;i++){
s1[t]=s[i];
t++;
}
puts(s1);
}
数组中的最大值
输入:数组长度,数组的值
输出:数组中的最大值。
优化目标:可能没有优化目标。
#include<stdio.h>
int main()
{
int count;
int i=0,j,num;
scanf("%d",&count);
int s[count];
while(i<count){
scanf("%d",&num);
s[i]=num;
i++;
}
int max=s[0];
for(i=1;i<count;i++){
if(max<s[i]){
max=s[i];
}
}
printf("%d",max);
}
查找一个数组中只出现1次的元素
输入:数组长度,数组的值
输出:数组中的只出现1次的元素。
优化目标:可能没有优化目标。
#include<stdio.h>
#define maxsize 100
int main(){
int n;
scanf("%d",&n);
if(n==0){
printf("NULL");
return 0;
}
int a[n];
int i=0,num;
while(i<n){
scanf("%d",&num);
a[i]=num;
i++;
}
if(n==1){
printf("%d ",a[0]);
return 0;
}
int b[maxsize];
int j,x=0;
for(i=0;i<n-1;i++){
for(j=i+1;j<n;j++){
if(a[i]==a[j]){
b[x]=a[j];
x++;
}
}
}
for(i=0;i<n;i++){
int flag=0;
for(j=0;j<x;j++){
if(a[i]==b[j]){
flag=1;
}
}
if(flag==0){
printf("%d ",a[i]);
}
}
}
查找指定字符
本题要求编写程序,从给定字符串中查找某指定的字符。
输入:字符串的值,要查找字符的值num。
输出:如果找到,在一行内按照格式“index = 下标”输出该字符在字符串中所对应的最大下标(下标从0开始);否则输出"Not Found"。
优化目标:可能没有优化目标。
#include<stdio.h>
#include<stdlib.h>
#define maxsize 100
#include<string.h>
int main(){
int n;
char s[maxsize];
gets(s);
char num;
printf("要查找的字符");
scanf("%c",&num);
int i,j;
int len=strlen(s);
for(i=0;i<len;i++){
if(s[i]==num){
printf("index=%d",i);
return 0;
}
}
printf("Not Found");
}
输出闰年
输出21世纪中截止某个年份以来的所有闰年年份。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。
输入:截止年份year。
输出:21世纪中截止year以来的所有闰年年份。输入若非21世纪的年份则输出"Invalid year!"。若不存在任何闰年,则输出“None”。
优化目标:可能没有优化目标。
#include<stdio.h>
#include<stdlib.h>
#define maxsize 100
#include<string.h>
int main(){
int year;
int s[maxsize];
int i,x=0;
for(i=2000;i<2100;i++){
if(i%400==0){
s[x]=i;
x++;
}else if(i%4==0&&i%100!=0){
s[x]=i;
x++;
}
}
scanf("%d",&year);
if(year>=2100||year<=2000){
printf("Invalid year!");
return 0;
}
int t=0;
for(i=0;i<x;i++){
if(s[i]<=year){
printf("%d ",s[i]);
t++;
}
}
if(t==0){
printf("None");
}
}
今天复习了一些关于字符串和数组的内容,明天也会继续复习这部分的内容。