首页 > 其他分享 >#jitoa#【C语言刷题感悟】

#jitoa#【C语言刷题感悟】

时间:2023-12-27 20:33:57浏览次数:40  
标签:char struct int 数据类型 C语言 jitoa str 结构 刷题

本博客由金陵科技学院-开放原子开源社虞博文编写


1.【字母大小写转换】

题目描述:

输入一行字符,以回车符 '\n' 结束,将其中的大写字母转换为相应的小写字母后输出,小写字母转换为相应的大写字母后输出,其他字符按原样输出。

如输入a时会输出A,输入B时会输出b

代码实现:

#include<stdio.h>
#include <string.h>
int main(){
    char str[100];
    gets(str);
    int i;
    for(i=0;str[i]!='\0';i++){
        if(str[i]>='A' && str[i]<='Z'){
            str[i]+=32;
        }else if(str[i]>='a'&& str[i] <='z'){
            str[i]-=32;
        }
    }
    printf("%s",str);
    return 0;
}

学到了char类型的使用方法,输入接收字符或者ASCII码十进制,可以直接对其进行十进制数字加减,如大写=小写-32,小写=大写+32。

2.【冒泡排序】

将一行数字从小到大输出,例如十个数1,2,5,4,6,3,7,8,9,10

就可以得到输出为1 2 3 4 5 6 7 8 9 10.

代码实现:

#include<stdio.h>
int main()
{
	int i,a[100];
	int j;
	int t;
	for(i=0;i<10;i++){
		scanf("%d ",&a[i]);
	}
	for(i=0;i<10-1;i++){
		for(j=0;j<10-1-i;j++){
			if(a[j+1]<a[j]){
				t=a[j];
				a[j]=a[j+1];
				a[j+1]=t;
			}
		}
	} 
	for(i=0;i<10;i++){
		printf("%d ",a[i]);
	}
	return 0;
}

以从小到大排序为例,第一轮比较后,所有数中最大的那个数就会浮到最右边;第二轮比较后,所有数中第二大的那个数就会浮到倒数第二个位置……就这样一轮一轮地比较,最后实现从小到大排序。

3.【结构体的设计】

结构体的定义形式为

struct 结构体名
{
   成员列表(可以是基本的数据类型,指针,数组或其他结构类型)
};

比如

客观事务是复杂的,要描述它必须从多方面进行;也就是用不同的数据类型来描述不同的方面;用学生来说:

学生拥有,学号,姓名,性别,年龄;

struct Student
{
  char ID[8];
  char name[8];
  char sexy[4];
  int age;
};

设计结构体需要注意

注意以下几点;

(1)、关键字struct是数据类型说明符,指出下面说的是结构体类型;

(2)、标识符Student是结构体的类型名;

(3)、最后的分号一定要写;

4.【结构体变量的初始化】

结构体是一种数据类型,也就是说可以用它来定义变量。

结构体就像一个“模板”,定义出来的变量都具有相同的性质。

结构体是一种数据类型,是创建变量的模板,不占用内存空间;结构体变量才包含了实实在在的数据、需要存储空间

#include<stdio.h>
struct Student
{
  char ID[8];
  char name[8];
  char sexy[4];
  int age;
};
int main()
{
struct Student stu;
return 0;
}



标签:char,struct,int,数据类型,C语言,jitoa,str,结构,刷题
From: https://blog.51cto.com/u_16478483/9003466

相关文章

  • 【C语言数据结构】对Lua Table源码的一次劣质学习
    /*new_key*/KLcBoolKLcmCreateMapKeyValue(KLCMAP_PTRpTag,KLCTVALUE_PTRpKv){ KLcBoolkbRet =KL_FALSE; KLcBoolkbIsKvLegal =KL_FALSE; DWORDdwInsertPos =0; DWORDdwFreePos =0; DWORDdwCollisionPos =0; KLCTVALUE_PTRptMainNo......
  • 2023最新中级难度Django面试题,包含答案。刷题必备!记录一下。
    好记性不如烂笔头内容来自面试宝典-中级难度Django面试题合集问:请解释Django的ORM是什么,它是如何工作的?Django的ORM(Object-RelationalMapping)是一种用于将数据库操作映射到Python对象上的技术。ORM提供了一种面向对象的方式来处理数据库,允许开发者通过定义模型......
  • 2023最新高级难度Django面试题,包含答案。刷题必备!记录一下。
    好记性不如烂笔头内容来自面试宝典-高级难度Django面试题合集问:请问Django中的序列化是什么,有哪些常见的序列化方式?在Django框架中,序列化(Serialization)是指将Python对象(如模型实例或查询集)转换为适合存储或传输的数据格式的过程。常见的数据格式包括JSON、XML、CSV等。反......
  • 模拟实现strstr函数的代码——《初学C语言第40天》
    //////模拟实现strstr////(字符中的元素是连续存放的,所以不会存在跳动存放的情况,例如a1="ababcd",a2="ac"此结果就是NULL)////情况1.arr1="abcd"arr2="abc"(一次匹配就找到了)////情况2.arr1="ababcd"arr2="abc"(多次匹配才能找到)//#include<stdio.h>//#in......
  • 2023最新中级难度汇编语言面试题,包含答案。刷题必备!记录一下。
    好记性不如烂笔头内容来自面试宝典-中级难度汇编语言面试题合集问:解释一下宏汇编语言(MacroAssemblyLanguage)是什么?请举例说明如何使用宏汇编语言进行代码开发。宏汇编语言(MacroAssemblyLanguage,MASM)是一种扩展了基本汇编语言功能的编程工具。它允许程序员定义和使用......
  • 2023最新高级难度汇编语言面试题,包含答案。刷题必备!记录一下。
    好记性不如烂笔头内容来自面试宝典-高级难度汇编语言面试题合集问:在汇编语言中,什么是宏指令(MacroInstruction)?请解释一下宏指令的概念和使用方式。在汇编语言中,宏指令(MacroInstruction)是一种用于简化代码编写和维护的预处理工具。宏定义允许程序员将一个或多个复杂的指......
  • 【力扣】-15. 三数之和|刷题打卡-JS
    给你一个整数数组 nums ,判断是否存在三元组 [nums[i],nums[j],nums[k]] 满足 i!=j、i!=k 且 j!=k ,同时还满足 nums[i]+nums[j]+nums[k]==0 。请你返回所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。示例1:输入:nums=[-1,0,1,2,-1,-4......
  • codeforces刷题(1100):1904B_div2
    B、CollectingGame跳转原题点击此:该题地址1、题目大意  获得一个由n位正整数组成的数组。你可以选择选择任意一个数作为你的判断值。然后任意一个\(\le\)它的数可以被选中加入你的分数(注意判断值不算在里面),同时该数被移除数组。你的任务是,对于该数组中的每个数,都将其作为......
  • 2023最新中级难度R语言面试题,包含答案。刷题必备!记录一下。
    好记性不如烂笔头内容来自面试宝典-中级难度R语言面试题合集问:请解释一下R语言中的向量(vector)和列表(list)有什么区别?R语言中的向量(vector)和列表(list)是两种非常基本的数据结构,它们有一些重要的区别:数据类型:向量:在R中,向量是同质的,即所有元素必须是相同的数据类型。例如......
  • 2023最新高级难度R语言面试题,包含答案。刷题必备!记录一下。
    好记性不如烂笔头内容来自面试宝典-高级难度R语言面试题合集问:请解释一下R语言中的闭包(closure)是什么,并举一个例子说明如何使用闭包来实现柯里化(currying)函数。在R语言中,闭包是一种特殊的函数,它能够记住并访问在其外部定义的变量。当一个函数被定义在一个环境中,并且这个......