第十一周编程题在线测试
2019-12-17 本文已影响0人
小小Henry
1山地训练
#include <stdio.h>
#include <string.h>
#define N 5
long Fun(long M,long T, long U, long F, long D, char str[]);
int main()
{
long M, T, U, F, D;
char str[1000];
long num;
printf("Input M,T,U,F,D:");
scanf("%ld%ld%ld%ld%ld", &M, &T, &U, &F, &D);
getchar();
printf("Input conditions of road:");
gets(str);
num = Fun(M, T, U, F, D, str);
printf("num=%ld\n", num);
return 0;
}
long Fun(long M, long T, long U, long F, long D, char str[])
{
long time = 0;
long counter = 0;
for (int i = 0; *(str + i); i++, counter++)
{
if (*(str+i) == 'u' || *(str+i) == 'd')
{
time += U + D;
}
else if (*(str+i) == 'f')
time += F*2;
if (time > M)
return counter;
}
return T-1;
}
2奇偶数分离
#include <stdio.h>
#include <string.h>
void Seperate(int a[], int n);
int main()
{
int n;
int a[100];
printf("Input n:");
scanf("%d", &n);
printf("Input numbers:");
for (int i = 0; i < n; i++)
scanf("%d", a + i);
Seperate(a, n);
return 0;
}
void Seperate(int a[], int n)
{
int b[100], c[100];
int even=0, odd = 0;
for (int i = 0; i < n; i++)
{
if (*(a + i) % 2 != 0)
{
*(b + odd) = *(a + i);
odd++;
}
else
{
*(c + even) = *(a + i);
even++;
}
}
for (int i = 0; i < odd - 1; i++)
printf("%d,", *(b + i));
printf("%d\n", *(b + odd-1));
for (int i = 0; i < even - 1; i++)
printf("%d,", *(c + i));
printf("%d\n", *(c + even-1));
}
3子串判断
#include <stdio.h>
#include <string.h>
int IsSubString(char a[], char b[]);
int main()
{
char a[80];
char b[80];
int flag;
printf("Input the first string:");
gets(a);
printf("Input the second string:");
gets(b);
flag = IsSubString(a, b);
if (flag)
printf("Yes\n");
else
printf("No\n");
return 0;
}
int IsSubString(char a[], char b[])
{
for (int i = 0; *(a + i); i++)
{
if (*(a + i) == *b)
{
if (strncmp(a + i, b, strlen(b)) == 0)
return 1;
}
}
return 0;
}
4星期查找
#include <stdio.h>
#include <string.h>
int main()
{
char* week[7] = { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" };
char str[10];
printf("Please enter a string:\n");
gets(str);
for (int i = 0; i < 7; i++)
{
if (strcmp(str, *(week + i)) == 0)
{
printf("%s is %d\n", str, i);
return 0;
}
}
printf("Not found!\n");
return 0;
}