分享C语言题目

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);
}

运行结果:

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值