大一作业习题

这篇具有很好参考价值的文章主要介绍了大一作业习题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

第一题:大一作业习题,c语言答案:

#include <stdio.h> 
void sort(int a[], int m)  //将数组a的前m个元素(从小到大)排序 
{
	int i = 0;
	for (i = 0; i < m - 1; i++)
	{
		int j = 0;
		int flag = 1;
		for (j = 0; j < m - 1 - i; j++)
		{
			if (a[j] > a[j + 1])
			{
				int t = 0;
				t = a[j];
				a[j] = a[j + 1];
				a[j + 1] = t;
				flag = 0;
			}
		}
		if (flag == 1)
		{
			break;
		}
	}
}
void input(int a[], int m) //依次从键盘输入数组a的前m个元素 
{
	int i = 0;
	for (i = 0; i < m; i++)
	{
		scanf("%d", &a[i]);
	}
}
void print(int a[], int m) //依次输出数组a的前m个元素 
{
	int i = 0;
	for (i = 0; i < m; i++)
	{
		printf("%4d", a[i]);
	}
	printf("\n");
}
void insertSortedList(int a[], int m, int num) //将num插入到数组a中(数组a的前m个元素已经排序),使得数组a仍然升序。
{
	a[m] = num;
	int i = 0;
	for(i=m;i>=0;i--)
	{
		if (a[i] < a[i-1])
		{
			int t = a[i-1];
			a[i-1] = a[i];
			a[i] = t;
		}
		else
		{
			break;
		}
	}
}
void main()
{
	int m, k;
	scanf("%d", &m);
	int alist[1000];
	input(alist, m);
	sort(alist, m);
 	print(alist, m);
	scanf("%d", &k);
	insertSortedList(alist, m, k);
	print(alist, m + 1);
}

第二题:大一作业习题,c语言

答案:文章来源地址https://www.toymoban.com/news/detail-755461.html

#include <stdio.h>
int gcd(int a, int b); //计算并返回整数a,整数b的最大公约数. 
void add(int op1[], int op2[], int rst[]); //计算分数op1和op2的和,保存结果到rst. 
void sub(int op1[], int op2[], int rst[]); //计算分数op1和op2的差,保存结果到rst.
void mul(int op1[], int op2[], int rst[]); //计算分数op1和op2的积,保存结果到rst.
void div(int op1[], int op2[], int rst[]); //计算分数op1和op2的商,保存结果到rst.


void main()
{
	int a, b, c, d;
	int op1[2], op2[2], rst[2];
	scanf("%d%d", &op1[1], &op1[0]);
	scanf("%d%d", &op2[1], &op2[0]);
	add(op1, op2, rst);
	printf("%d/%d + %d/%d = %d/%d\n", op1[1], op1[0], op2[1], op2[0], rst[1], rst[0]);
	sub(op1, op2, rst);
	printf("%d/%d - %d/%d = %d/%d\n", op1[1], op1[0], op2[1], op2[0], rst[1], rst[0]);
	mul(op1, op2, rst);
	printf("%d/%d * %d/%d = %d/%d\n", op1[1], op1[0], op2[1], op2[0], rst[1], rst[0]);
	div(op1, op2, rst);
	printf("%d/%d / %d/%d = %d/%d\n", op1[1], op1[0], op2[1], op2[0], rst[1], rst[0]);
}

int gcd(int a, int b)//返回参数a,b的最大公约数
{
	int r = a % b;
	while (r != 0)
	{
		a = b;
		b = r;
		r = a % b;
	}
	return b;
}
void add(int op1[], int op2[], int rst[]) //计算分数op1和op2的和,保存结果到rst. 
{
	int fm = op1[0] * op2[0];                   //和的分母
	int fz = op1[1] * op2[0] + op2[1] * op1[0]; //和的分子
	int g = gcd(fm, fz);
	rst[0] = fm / g;                     //分子分母同时除以它们的最大公约数,实现约分
	rst[1] = fz / g;
	if (rst[0] < 0)                              //确保分母为正数
	{
		rst[0] = -rst[0];
		rst[1] = -rst[1];
	}
}
void sub(int op1[], int op2[], int rst[])  //计算分数op1和op2的差,保存结果到rst.
{
	int fm = op1[0] * op2[0];
	int fz = op1[1] * op2[0] - op2[1] * op1[0];
	int g = gcd(fm, fz);
	rst[0] = fm / g;
	rst[1] = fz / g;
	if (rst[0] < 0)                              //确保分母为正数
	{
		rst[0] = -rst[0];
		rst[1] = -rst[1];
	}
}
void mul(int op1[], int op2[], int rst[]) //计算分数op1和op2的积,保存结果到rst.
{
	int fm = op1[0] * op2[0];
	int fz = op1[1] * op2[1];
	int g = gcd(fm, fz);
	rst[0] = fm / g;
	rst[1] = fz / g;
	if (rst[0] < 0)                              //确保分母为正数
	{
		rst[0] = -rst[0];
		rst[1] = -rst[1];
	}
}
void div(int op1[], int op2[], int rst[])  //计算分数op1和op2的商,保存结果到rst.
{
	int fm = op1[0] * op2[1];
	int fz = op1[1] * op2[0];
	int g = gcd(fm, fz);
	rst[0] = fm / g;
	rst[1] = fz / g;
	if (rst[0] < 0)                              //确保分母为正数
	{
		rst[0] = -rst[0];
		rst[1] = -rst[1];
	}
}

第三题:

大一作业习题,c语言

答案:

#include <stdio.h> 
int myisdigital(char ch);                //数字字符判断函数,如果ch是数字字符,则返回1,否则返回0; 
int myisalpha(char ch);                  //字母字符判断函数,如果ch是大小写字母字符, 则返回1,否则返回0; 
int mystrlen(char str[]);                // 返回指定字符串str的长度 (不计\0字符) 
void mystrcat(char str1[], char str2[]);  // 连接的两个字符串, 将str2连接到str1后面 
int mystrcmp(char str1[], char str2[]);  //比较两个字符串,如果str1大,则返回1;如果str2则返回-1;如果相等,返回0; 
void mystrcpy(char str1[], char str2[]);  //复制字符串str2到字符串str1中 

void main()
{
	char str1[1000], str2[100], tmp[100]; int m;
	int num_alpha = 0; //str1中的字母字符的个数 
	int num = 0;       //str2中的数组字符构成的整数 
	int i;
	scanf("%s%s%d", str1, str2, &m);
	printf("%d,", mystrlen(str1) + mystrlen(str2));
	for (i = 0; i < mystrlen(str1); i++)
		if (myisalpha(str1[i]))
			num_alpha++;
	for (i = 0; i < mystrlen(str2); i++)
		if (myisdigital(str2[i]))
			num = num * 10 + str2[i] - '0'; //找到一个新数符,将原来的数字左移一位,然后在末位添加新数符 
	printf("%d,%d,", num_alpha, num);
	if (mystrcmp(str1, str2) > 0)  // str1比较大,则交换 
	{
		mystrcpy(tmp, str1);
		mystrcpy(str1, str2);
		mystrcpy(str2, tmp);
	}
	for (i = 1; i <= m; i++)
		mystrcat(str1, str2);
	printf("%s", str1);
}

int myisdigital(char ch)
{
	if (ch >= '0' && ch <= '9')
		return 1;
	else
		return 0;
}


void mystrcat(char str1[], char str2[])
{
	int i = 0, j = 0;
	while (str1[i] != '\0')
		i++;
	while (str2[j] != '\0')
	{
		str1[i] = str2[j];
		i++;
		j++;
	}
	str1[i] = '\0';  //给str1最后赋值一个结束字符,这里不可遗漏!!! 
}

int myisalpha(char ch)                  //字母字符判断函数,如果ch是大小写字母字符, 则返回1,否则返回0;
{
	if ((ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z'))
		return 1;
	else
		return 0;
}

int mystrlen(char str[])                // 返回指定字符串str的长度 (不计\0字符)
{
	int i = 0;
	while (str[i] != '\0')
	{
		i++;
	}
	return i;
}

int mystrcmp(char str1[], char str2[])  //比较两个字符串,如果str1大,则返回1;如果str2则返回-1;如果相等,返回0;
{
	int i = 0, j = 0;
	if (mystrlen(str1) < mystrlen(str2))
	{
		for (i = 0; i <= mystrlen(str1); i++)
		{
			if (str1[i] > str2[i])
				return 1;
			if ((str1[i] < str2[i])|| (str1[i] == str2[i]) && i == mystrlen(str1))
				return -1;
		}
	}
	if (mystrlen(str1) > mystrlen(str2))
	{
		for (i = 0; i <= mystrlen(str2); i++)
		{
			if (str1[i] > str2[i] || ((str1[i] == str2[i]) && i == mystrlen(str2)))
				return 1;
			if (str1[i] < str2[i])
				return -1;
		}
	}
	if (mystrlen(str1) == mystrlen(str2))
	{
		for (i = 0; i <= mystrlen(str2); i++)
		{
			if (str1[i] > str2[i])
				return 1;
			if (str1[i] < str2[i])
				return -1;
			if ((str1[i] == str2[i]) && i == mystrlen(str2))
				return 0;
		}
	}
}

void mystrcpy(char str1[], char str2[])  //复制字符串str2到字符串str1中 
{
	int i = 0;
	for (i = 0; i < mystrlen(str2); i++)
	{
		str1[i] = str2[i];
	}
	str1[i] = '\0';
}

到了这里,关于大一作业习题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • PTA|C语言基础题型(大一上)

    目录 关于素数的函数 统计素数并求和  字符串连接 关于统计单词 回文串的判断 删除重复字符 删除数字字符 删除重复字符 删除指定字符 字符串的逆序输出 求最大值及其下标  交换最小值和最大值(两个问题分开求) getchar( )补充知识点: 二维数组的相关问题 数组的边框

    2024年02月04日
    浏览(76)
  • C语言大一期末考试必会编程题

    C语言期末考试必会的编程题,掌握了保证你能不挂科 素数定义: 素数又称质数,是指一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数;比如1,2,3,5,7,9,是素数,4,6,8,10不是素数。 思路: 比如一个数5,判断它是不是素数,就用5依次除以2~4的每

    2024年02月05日
    浏览(47)
  • 大一C语言查缺补漏 12.24

    遗留问题: 6-1 1   在C语言中,如果要保留小数的话,一定要除以2.0,而不是2。 设整型变量m,n,a,b的值均为1,执行表达式(m = ab)||(n = ab)后,表达式的值以及变量m和n的值是?请写出过程。在C语言中  首先,计算表达式\\\"ab\\\",由于整型变量a和b的值均为1,所以\\\"ab\\\"的结果为0。

    2024年02月03日
    浏览(39)
  • 大一上学期c语言期末----程序填空 及 编程题

    1、 运行结果:请用标准日期格式输入一个日期(YYYY-MM-DD): 若用户从键盘输入:2022-12-12回车 则输出结果为: 2022 年 12 月 12 日 2、 2、 完成下面程序,计算圆的面积,结果保留两位小数: 3、 s 100 =1-1/2+1/3-1/4+…+1/999-1/1000 4、 求 1!+3!+5!+……+n!的和 5、 方法:辗转法求最大公约

    2024年02月03日
    浏览(45)
  • Java选择结构作业练习题

    1.从键盘输入3个数,求最大值 请输入3个数: 5 2 11   你好,最大数是11 我想买车,买什么车决定于我在银行有多少存款: 如果我的存款超过500万,我就买卡迪拉克 否则,如果我的存款超过100万,我就买帕萨特 否则, 如果我的存款超过50万,我就买依兰特 否则, 如果我的存

    2024年02月02日
    浏览(63)
  • 微信小程序开发实战课后习题解答————第三章(作业版)

    一、填空题 1、微信小程序中用    navigationBar      组件可以实现导航栏 2、 微信小程序中能够实现轮播效果的组件是    swiper    3、 微信小程序中实现滚动条事件的绑定方法是    bindscroll   4、 微信小程序中引入音频的组件是   InnerAudioContext   5、 微信小程序中控

    2024年02月09日
    浏览(55)
  • 微信小程序开发实战课后习题解答————第四章(作业版)

    一、填空题 1、  组件  是视图层的基本组成单元。 2、 swiper内部只可以放置   swiper-item    组件。 3、 设置text文本内容长按可选的属性是   selectable   。    4、navigator组件通过设置   open-type    属性,来区分不同的跳转功能。 5、通过image的  mode    属性来设定不同的图

    2024年02月06日
    浏览(58)
  • 微信小程序开发实战课后习题解答————第二章(作业版)

    一、填空题 1.微信小程序通过   bindtap/catchtap    方式实现单击事件。 2.微信小程序的flex布局中, flex-direction: row   属性来实现子元素的横向排列 3.微信小程序中按钮通过    button   组件来实现 4.微信小程序通过  display: flex 来实现felx布局 5.微信小程序中执行页面数据加载完

    2024年02月15日
    浏览(39)
  • 习题练习 C语言(暑期)

    今天为大家分享我暑假期间所练习的一些小题目! 相信大家看完之后都会有所提升的! 加油! 以下不正确的定义语句是( ) A: double x[5] = {2.0, 4.0, 6.0, 8.0, 10.0}; B: char c2[] = {‘x10’, ‘xa’, ‘8’}; C: char c1[] = {‘1’,‘2’,‘3’,‘4’,‘5’}; D: int y[5+3]={0, 1, 3, 5, 7, 9}; 题目解

    2024年02月10日
    浏览(53)
  • 习题练习 C语言

    首先我们要了解什么是offsetof宏: . 此具有函数形式的宏返回数据结构或联合类型中成员成员的偏移值(以字节为单位)。 . 返回的值是size_t类型的无符号整数值,其字节数位于指定成员与其结构开头之间。 什么意思呢,可以看到下面这张图片: 下面我们来看到这一习题:

    2024年02月14日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包