1.自定义函数inverse(char* s),用于实现将任意输入字符串中的大写改写为小写,然后输出字符串。
#include <stdio.h>
#include <string.h>//字符串处理函数的头文件
void inverse(char* s)//形参为字符指针变量
{
int i;
int len = strlen(s);//求字符串的长度
for (i = 0; i <= len; i++)//循环字符串中的所有元素
{
if (*(s + i) >= 65 && *(s + i) <= 90)//逐一取出字符串中的元素,如果在65至90之间,说明该字符为大写
{
*(s + i) += 32;//将大写转化为小写
}
}
}
void main()
{
char str[100];
printf("请输入字符串\n");
gets(str);
inverse(str);//通过函数实现将字符串中的大写转化为小写
printf("%s\n", str);//输出字符串
}
运行结果:
2.请定义一个函数fun(char *str,char c),统计在字符串中指定字符出现的次数
#include<stdio.h>
int fun(char* str, char c)
{
int count = 0;
int len = strlen(str);
for (int i = 0; i < len; i++)
{
if (c == str[i])
{
count++;
}
}
return count;
}
void main()
{
char* str = "hfwofwoexteworecwifxe";
printf("%d", fun(str, 'x'));
}
运行结果:
3.请从键盘任意输入一个3X4二维数组的值(整数),3行4列输出该二维数组,同时统计出该二维数组中每行数值的和,存入一维数组中,输出该一维数组的值。
#include<stdio.h>
void main()
{
int i, j; int arr[3][4];
int sum[3] = { 0,0,0 };
printf("请输入3X4二维数组的值:\n");
for (i = 0; i < 3; i++)
{
for (j = 0; j < 4; j++) { scanf("%d", &arr[i][j]); }
}
printf("3X4二维数组为:\n");
for (i = 0; i < 3; i++)
{
for (j = 0; j < 4; j++) { printf("%3d", arr[i][j]); }
printf("\n");
}
for (i = 0; i < 3; i++)
{
for (j = 0; j < 4; j++) { sum[i] += arr[i][j]; }
}
printf("二维数组每行数值的和分别为:\n");
for (i = 0; i < 3; i++)
{
printf("%3d ", sum[i]);
}
}
运行结果:
4.从键盘任输10个数,求最大值。(要求:定义float max_fun(float a[10])函数)。
#include<stdio.h>
float max_fun(float a[10])
{
float max;
int i; max = a[0];
for (i = 1; i < 10; i++)
if (max < a[i]) max = a[i];
return max;
}
void main()
{
float aa[10], max;
int i;
for (i = 0; i < 10; i++)
scanf("%f", &aa[i]);
max = max_fun(aa);
printf("%f\n", max);
}
运算结果:
5. 从键盘任输5个数,求最小值。(要求:定义minfun(int data[5])
#include <stdio.h>
int minfun(int data[5])
{
int i, min;
min = data[0];
for (i = 0; i < 5; i++)
if (data[i] < min)
min = data[i];
return min;
}
main()
{
int data[5], i;
printf("请任意输入5个数:\n");
for (i = 0; i < 5; i++)
scanf("%d", &data[i]);
printf("数组中的最小值为:%d\n", minfun(data));
}
运算结果:
6.编写程序,实现任意输入两个整数,打印两数中的最大值。
#include<stdio.h>
int main()
{
int x, y,c;
printf("请输入x和y的值\n");
scanf("%d %d", &x, &y);
c = x> y ? x : y;
printf("两个数的最大值为:%d\n", c);
}
运行结果:
7.编程实现:输入整数a和b,若a的值大于b的值,则输出两数之差,否则输出两数之和。(利用条件表达式)
#include<stdio.h>
int main()
{
int a, b, c=0;
printf("请输入a,b两个数的值:\n");
scanf("a=%d,b=%d", &a, &b);
if (a > b)
c = a + b;
else
c = a - b;
printf("%d", c);
}
运行结果: