IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C语言练习题4 -> 正文阅读

[C++知识库]C语言练习题4

1、给一个不多于五位的正整数,要求:求出其位数,并分别打印出每一位数字,最后按逆序打印出这个正整数(如:输入123,打印出:321)。

#include<stdio.h>
#include<math.h>
int main()
{
	int num, i = 0, digit,sum=0;
	int str[10] = { 0 };
	printf("请输入一个不多于五位的正整数:\n");
	scanf("%d", &num);
	for (i = 0;; i++)
	{
		str[i] = num % 10;
		if (num < 10)
			break;
		num /= 10;
	}
	digit = i + 1;
	printf("该正整数的位数是:%d\n", digit);
	for (i = digit - 1; i >= 0; i--)
		printf("%3d", str[i]);
	for (i = 0; i < digit; i++)
		sum += pow(10, digit-i-1) * str[i];
	printf("\n逆序输出该正整数:%d\n", sum);

	return 0;
}



2、求一个4行4列矩阵主对角线元素之和。

#include<stdio.h>
#define MAX 4
int main()
{
	int i, j, sum = 0;
	int num[MAX][MAX] = { 0 };
	printf("请输入矩阵(行优先):\n");
	for (i = 0; i < MAX; i++)
		for (j = 0; j < MAX; j++)
			scanf("%d", &num[i][j]);
	for (i = 0; i < MAX; i++)
		sum += num[i][i];
	printf("这个矩阵的对角线之和为:%d\n", sum);
	
	return 0;
}

3、编写一个程序,判断从键盘输入的两个字符串是否相同,若相同则输出“字符串相同”,否则输出“字符串不同”。

#include<stdio.h>
#define MAX 40

int compare(char str_1[], char str_2[], int user_len)   //两字符串进行比较
{
	int i = 0;
	for (i = 0; str_1[i] != '\0' && str_2[i] != '\0' && i < user_len; i++)
	{
		if (str_1[i] != str_2[i])
			break;
	}
	if (i < user_len) return 1;
	else return 0;
}

int len(char user[])        //计算用户输入的字符串长度
{
	int i = 0;
	while (1)
	{
		if (user[i] == '\0')
			return i;
		i++;
	}
}

int main()
{
	int user_len = 0, ret;
	char str[MAX] = "hello world ";
	char user[MAX];
	printf("请输入一个字符串:\n");
	gets(user);
	user_len = len(user);
	ret = compare(str, user, user_len);
	if (!ret)
		printf("字符串相同!\n");
	else
		printf("字符串不同!\n");

	return 0;
}

4、输出100-200之间,能被3整除但不能被7整除的数。

#include<stdio.h>
int main()
{
	int i;
	for (i = 100; i <= 200; i++)
	{
		if (i % 3 == 0 && i % 7 != 0)
		{
			printf("%d  ", i);
		}
	}
}

5、将一个月份数字转换为月份的英文名称。

#include<stdio.h>
int main()
{
	int user=0;
	printf("请输入数字(1-12):\n");
	scanf("%d", &user);
	switch (user)
	{
	case 1:
		printf("January\n");
		break;
	case 2:
		printf("February\n");
		break;
	case 3:
		printf("March\n");
		break;
	case 4:
		printf("April");
		break;
	case 5:
		printf("May");
		break;
	case 6:
		printf("June");
		break;
	case 7:
		printf("July");
		break;
	case 8:
		printf("August");
		break;
	case 9:
		printf("September");
		break;
	case 10:
		printf("October");
		break;
	case 11:
		printf("Movember");
		break;
	case 12:
		printf("December");
		break;
	default:
		printf("输入格式错误!\n");
		break;
	}

	return 0;
}
//手闲写了switch,其实可以用数组直接完成

6、编写一个程序,用简单选择排序实现对5个整数的排序(从大到小),排序的思路:首先从n个整数中选出值最大的整数,将他交换到第一个元素位置,再从剩余的n-1个整数中选出值最大的整数,将它交换到第二个元素的位置,重复上述操作,直到排序成功。

#include<stdio.h>
#define MAX 5

int main()
{
	int num[MAX] = { 0 };
	int i,j,index,temp;
	printf("请输入%d个数字:\n",MAX);      //找到了一种宏定义的新用法
	for (i = 0; i < MAX; i++)
		scanf("%d", &num[i]);
	for (i = 0; i < MAX - 1; i++)
	{
		index = i;
		for (j = index+1; j < MAX; j++)
		{
			if (num[index] < num[j])
				index = j;
		}
		if (index != i)
		{
			temp = num[i];
			num[i] = num[index];
			num[index] = temp;
		}
	}
	for (i = 0; i < MAX; i++)
		printf("%d  ", num[i]);
	
	return 0;
}
  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-03-21 20:30:29  更:2022-03-21 20:33:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 3:06:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码