c语言考试代码

文章目录

“%”:格式化字符串的起始标志。
“0”:表示使用零来填充输出字段的宽度。
“4”:表示输出字段的宽度为4个字符,如果输出的十六进制数不足4位,则在左边用零进行填充。
“x”:表示以十六进制的形式输出变量的值。

十六进制计算

#include <stdio.h>
struct w
{
   
	char low;
	char high;
 };
union u
{
   
	struct w byte;
	short word;
} uw;
int main()
{
   
	int result;
	uw.word=0x1234;
	printf("word value:%04x\n",uw.word);
	printf("high byte:%02x\n",uw.byte.high);
	printf("low byte:%02x\n",uw.byte.low);
	uw.byte.low=0x74;
	printf("word value:%04x\n",uw.word);
	result=uw.word+0x2a34;
	printf("the result:%04x\n",result);
}

**s1竟然会随着s2=s2+2的变化而变化。

#include <stdio.h>
int main()
{
   
	char *s2="I love China!",**s1=&s2;
	char *s3,c,*s4="w";
	s3=&c;
	*s3='H';
	s2=s2+2;
	printf("%s\t%c\t%s\t%c\n",s2,*s3,s4,**s1);
 } 
 //输出:love China!     H       w       l 

题目:百马百担问题。有100匹马,驮100担货,大马驮3担,中马驮2担,两匹小马1担,编程计算所有可能的驮法?
输入

输出
hb=2,hm=30,hl=68
hb=5,hm=25,hl=70
hb=8,hm=20,hl=72
hb=11,hm=15,hl=74
hb=14,hm=10,hl=76
hb=17,hm=5,hl=78
hb=20,hm=0,hl=80
n=7

#include <stdio.h>
int main() 
{
   
	int hb,hm,hl,n=0; //hb,hm,hl分别为大中小马驮的担数 
	for(hb=0;hb<=100;hb+=3) // 
	{
   
		for(hm=0;hm<=100;hm+=2) //
		{
   
			hl=100-hb-hm; //
			if(hb/3+hm/2+2*hl==100) //
			{
   
				n++;
				printf("hb=%d,hm=%d,hl=%d\n",hb/3,hm/2,hl*2);
			}
		} 
	}
	printf("n=%d\n",n);	 
}

用起泡法对输入的10个字符排序后按从小到大的次序输出


#define N 10
#include <stdio.h>
char str[N];
void main()
{
   
	int i,flag;
	for(flag=1;flag==1;)
	{
   
		scanf("%s",str);
		printf("%s",str);
		flag=0;
		printf("\n");
	}
	sort(str);
	for(i=0;i<N;i++)
	{
   
		printf("%c",str[i]);
	}
	printf("\n");
 } 
 sort(char str[N])
 {
   
 	int i,j;
 	char t;
 	for(j=1;j<N;j++)
 	{
   
 		for(i=0;i<10-j;i++)
 		{
   
 		  if(str[i]>str[i+1])
		   {
   
		   	t=str[i];
		   	str[i]=str[i+1];
		   	str[i+1]=t;
			}	
		 }
	 }
 }

求矩阵外边缘元素,该矩阵用一维数组表示。

#include <stdio.h>
add(int m,int n,int arr[]) //m行,n列
{
   
	int i,j,sum;
	for(i=0;i<m;i=i+m-1) //求第一行和最后一行的和
	{
   
		for(j=0;j<n;j++)
		{
   
			sum+=arr[i*n+j];
		}
	}
	for(j=0;j<n;j+=n-1) //第一列和最后一列
	{
   
		for(i=1;i<m-1;i++) //从第二行到最后一行的前一行
		{
   
			sum+=arr[i*n+j];
		}
	}
	return sum;
}
文件操作题

fread(&score[i], sizeof(float), 1, fp) != 1
表示从文件中读取一个 float 类型的数据,并将其存储到 score 数组的第 i 个位置上。如果成功读取了一个元素,则 fread() 返回值为1,条件判断结果为 false。如果读取失败或者已到达文件末尾,则 fread() 返回值不为1,条件判断结果为 true。
换句话说,这个条件判断用于检查读取文件是否成功。如果读取成功,继续读取下一个元素;如果读取失败或者到达文件末尾,将执行相应的错误处理逻辑。
feof(fp) 是一个文件操作函数,用于检查文件流 fp 的当前位置是否已经到达文件末尾(End-of-File)。

feof(fp) 函数返回一个非零值(true)表示文件流 fp 已经到达文件末尾;返回零(false)表示文件流 fp
还没有到达文件末尾。 在代码中的使用情景是判断 fread() 函数是否读取到了文件末尾。当 fread()
函数读取到文件末尾时,返回值不等于1,同时可以通过 feof(fp)
来进一步确认是否到达了文件末尾。如果返回值为非零值,表示已经到达文件末尾,可以根据需要进行相应的处理。

#include <stdio.h>

void load(float score[], int n) {
   
    FILE *fp;
    int i;
    if ((fp = fopen("202001170218.txt", "rb")) == NULL) {
   
        printf("cannot open infile\n");
        return;
    }
    for (i = 0; i < n; i++) {
   
        if (fread(&score[i], sizeof(float), 1, fp) != 1) {
   
            if (feof(fp)) {
   
                fclose(fp);
                return;
            }
            printf("file read error\n");
        }
    }
    fclose(fp);
}

void save(float score[], int n) {
   
    FILE *fp;
    int i;
    if ((fp = fopen("202001170218.txt", "wb")) == NULL) {
   
        printf("cannot open file\n");
        return;
    }
    for (i = 0; i < n; i++) {
   
        if (fwrite(&score[i], sizeof(float), 1, fp) != 1) {
   
            printf("file write error\n");
        }
    }
    fclose(fp);
}

void sort(float score[], int n) {
   
    int i, j, k;
    float t;
    for (i = 0; i < n - 1; i++) {
   
        k = i;
        for (j = i + 1; j < n; j++) {
   
            if (score[j] < score[k]) {
   
                k = j;
            }
        }
        t = score[k];
        score[k] = score[i];
        score[i] = t;
    }
}

int Fail(float score[], int n) {
   
    int i, k = 0;
    for (i = 0; i < n; i++) {
   
        if (score[i] < 60) {
   
            k++;
        }
    }
    return k;
}

int main() {
   
    int i;
    float score[10];
    for (i = 0; i < 10; i++) {
   
        scanf("%f", &score[i]);
    }
    save(score, 10);
    load(score, 10);
    sort(score, 10);
    printf("The Fail number is %d\n", Fail(score, 10));
    save(score, 10);
    
    return 0;
}

相关推荐

  1. c语言考试代码

    2024-01-08 06:28:05       66 阅读
  2. C语言考试内容

    2024-01-08 06:28:05       26 阅读
  3. 复习c语言考试-xtu

    2024-01-08 06:28:05       58 阅读
  4. xtu-c语言考试复习

    2024-01-08 06:28:05       60 阅读
  5. 【计算机二级考试C语言C typedef

    2024-01-08 06:28:05       50 阅读
  6. xtu-c语言考试复习-2

    2024-01-08 06:28:05       65 阅读
  7. 【计算机二级考试C语言C基本语法

    2024-01-08 06:28:05       55 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-08 06:28:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-08 06:28:05       101 阅读
  3. 在Django里面运行非项目文件

    2024-01-08 06:28:05       82 阅读
  4. Python语言-面向对象

    2024-01-08 06:28:05       91 阅读

热门阅读

  1. k8s 运行深度学习 k8s实现原理

    2024-01-08 06:28:05       52 阅读
  2. CentOS 7 系列默认的网卡接口名称

    2024-01-08 06:28:05       54 阅读
  3. OpenVPN非加密连接

    2024-01-08 06:28:05       46 阅读
  4. conda常用命令总结

    2024-01-08 06:28:05       47 阅读
  5. webpack配置入门

    2024-01-08 06:28:05       53 阅读
  6. HTTP一些状态码的记录

    2024-01-08 06:28:05       57 阅读
  7. 认识Git

    认识Git

    2024-01-08 06:28:05      49 阅读