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

Mi3sy
发布于 2023-12-27 19:56
浏览
0收藏

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

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


©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
2
收藏
回复
举报
2条回复
按时间正序
/
按时间倒序
安苒anran0
安苒anran0

Student作为结构体名称不够优雅,可以执行的代码可以贴一下运行截图。标题可以改为具体内容的解释,如ascii中大小写转换的方式与结构体的使用。

2
回复
2023-12-30 20:37:58
忙忙忙困困困
忙忙忙困困困

点赞三联


回复
2024-2-25 20:48:50
回复
    相关推荐