57.使用递归来翻转字符串
(1)代码
#if 1
#include <stdio.h>
#include <windows.h>
void reverseSentence();
void reverseSentence()
{
char c;
scanf("%c", &c);
if( c != '\n')
{
reverseSentence();
printf("%c",c);
}
}
int main()
{
printf("输入一个字符串: ");
reverseSentence();
system("pause");
return 0;
}
#endif
(2)运行结果
58.使用引用循环替换数值
a、b、c 三个变量,通过引用按顺序循环替换他们的值。
(1)代码
#if 1
#include<stdio.h>
#include <windows.h>
void cyclicSwap(int *a,int *b,int *c);
void cyclicSwap(int *a,int *b,int *c)
{
int temp;
temp = *b;
*b = *a;
*a = *c;
*c = temp;
}
int main()
{
int a, b, c;
printf("输入 a, b 和 c 的值: ");
scanf("%d %d %d",&a,&b,&c);
printf("交换前:\n");
printf("a = %d \nb = %d \nc = %d\n",a,b,c);
cyclicSwap(&a, &b, &c);
printf("交换后:\n");
printf("a = %d \nb = %d \nc = %d",a, b, c);
system("pause");
return 0;
}
#endif
(2)运行结果
59.删除字符串中的除字母外的特殊字符。
(1)代码
#if 1
#include<stdio.h>
#include <windows.h>
int main()
{
char line[150];
int i, j;
printf("输入一个字符串: ");
fgets(line, (sizeof line / sizeof line[0]), stdin);
for(i = 0; line[i] != '\0'; ++i)
{
while (!( (line[i] >= 'a' && line[i] <= 'z') || (line[i] >= 'A' && line[i] <= 'Z') || line[i] == '\0') )
{
for(j = i; line[j] != '\0'; ++j)
{
line[j] = line[j+1];
}
line[j] = '\0';
}
}
printf("输出: ");
puts(line);
system("pause");
return 0;
}
#endif
(2)运行结果
60.通过用户输入指定的数值,来判断最大值。
(1)代码
#if 1
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main()
{
int i, num;
float *data;
printf("输入元素个数(1 ~ 100): ");
scanf("%d", &num);
data = (float*) calloc(num, sizeof(float));
if(data == NULL)
{
printf("Error!!! 内存没有分配。");
exit(0);
}
printf("\n");
for(i = 0; i < num; ++i)
{
printf("输入数字 %d: ", i + 1);
scanf("%f", data + i);
}
for(i = 1; i < num; ++i)
{
if(*data < *(data + i))
*data = *(data + i);
}
printf("最大元素 = %.2f\n", *data);
system("pause");
return 0;
}
#endif
(2)运行结果
61.通过用户输入指定的数值,来判断最小值。
(1)代码
#if 1
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main()
{
int i, num;
float *data;
printf("输入元素个数(1 ~ 100): ");
scanf("%d", &num);
data = (float*) calloc(num, sizeof(float));
if(data == NULL)
{
printf("Error!!! 内存没有分配。");
exit(0);
}
printf("\n");
for(i = 0; i < num; ++i)
{
printf("输入数字 %d: ", i + 1);
scanf("%f", data + i);
}
for(i = 1; i < num; ++i)
{
if(*data > *(data + i))
*data = *(data + i);
}
printf("最小元素 = %.2f\n", *data);
system("pause");
return 0;
}
#endif
(2)运行结果
二级标题
(1)代码
(2)运行结果
二级标题
(1)代码
(2)运行结果
|