栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

BJFU|C++程序设计基础(22上)实验0-C语言回顾

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

BJFU|C++程序设计基础(22上)实验0-C语言回顾

仅供课外学习使用,任何个人与机构不得利用此文章进行任何形式的作弊。 A:A + B 题目: 描述:

帅气的3C哥参加了一场考试,已知考试共五科,现知道他每科的成绩,求3C哥的总成绩。

输入:

输入一行,输入5个整数,表示3C哥每科成绩,范围在[0, 100]内。

输出:

输出一行,输出1个整数,表示3C哥的总成绩

输入样例1:
98 95 87 100 90
输出样例1:
470
实例:
#include
#include
#include
#include
#include
int main()
{
	int a[5];
	int i,sum=0;
	for(i=0;i<5;i++)
	{
		scanf("%d",&a[i]);
		sum+=a[i];
	}
	printf("%d",sum);
	return 0;
}
B:3n + 1问题 题目: 描述:

对于任意大于1的自然数n,若n为奇数,则将n变为3n+1,否则变为n的一半;经过若干次这样的变换,一定会使n变为1。比如:
3->10->5->16->8->4->2->1

要求:

输入n,输出变换的次数。

输入:

输入一行,输入一个正整数n,1 <= n <= 100。

输出:

输出一行,输出一个正整数,表示变换的次数。

输入样例1:
3
输出样例1:
7
实例:
#include
#include
#include
#include
#include
int main()
{
	int n,cnt=0;
	scanf("%d",&n);
	for(;n!=1;)
	{
		if(n%2==1)
		{
			n = 3*n+1;
			cnt++;
		}
		else
		{
			n = n/2;
			cnt++;
		}
	}
	printf("%d",cnt);
	return 0;
 }

C:稀疏矩阵 题目: 描述:

大部分元素为0的矩阵称为稀疏矩阵。假设有k个非0元素,则可把稀疏矩阵用k*3的矩阵简记之,其中第一列为行号,第二列为列号,第三列是该行、该列下的非0元素的值。

输入:

首先输入一行,输入两个正整数,表示稀疏矩阵的行号和列号,再输入一个稀疏矩阵,行和列不超过100。

输出:

输出它的简记形式,按从上到下,从左到右的顺序依次输出。每一行输出3个整数,每两个整数之间一个空格,最后一个整数后面没有空格。

输入样例1:
3 4
0 0 0 5
0 2 0 0
0 1 0 0
输出样例1:
1 4 5 
2 2 2  
3 2 1
实例:
#include
#include
#include
#include
#include
int main()
{
	int m,n;
	int i,k;
	int cnt[100][100],ret[100][100],t[100][100];
	for(i=0;i<100;i++)
	for(k=0;k<100;k++)
	{	
		cnt[i][k]=0;
		t[i][k]=0;
	}
	scanf("%d%d",&m,&n);
	int a[100][100];
	for(i=0;i 

D:开灯问题 题目: 描述:

有n盏灯,编号为1~n。第1个人把所有灯打开,第2个人按下所有编号为2的倍数的开关(这些灯将被关掉),第3个人按下所有编号为3的倍数的开关(其中关掉的灯将被打开,开着的灯将被关闭),以此类推。一共有k个人,问最后有哪些灯开着?

输入:

输入一行,输入两个正整数n和k。(k<=n<=1000)

输出:

输出一行,输出所有开着的灯的编号,每个编号后面跟一个空格。

输入样例1:

7 3

输出样例1:

1 5 6 7

提示:

可先使用string.h里的memset函数将数组全部置0;使用C语言的逻辑非(!)操作符

实例:
#include
#include
#include
#include
#include
int main()
{
	//没有用提示,但不扣分 
	int n,k;
	scanf("%d%d",&n,&k);
	int a[1000],b[1000];
	int i,m,t=2;
	for(i=0;i 

E:还是一个不妖艳的问题 题目: 描述:

U君与S君想测试下双方的缘分,测试规则是两人各想一个数字,如果两个数字互质则代表有缘分。

输入:

多组测试,每组测试输入两个数字m和n(m和n均不超过int取值范围),空格隔开。

输出:

对于每组,如果有缘分的话,输出“Yes”;否则,输出“No”

输入样例1:
10 5
17 13
输出样例1:
No
Yes
提示:

可使用 while (scanf("%d%d", &n, &m) != EOF) 完成多组输入

实例:
#include
#include
#include
#include
#include
int gcd(int m,int n)
{
	while(n^=m^=n^=m%=n);
	return m;
}
 
int main()
{
	int m,n;
	while(scanf("%d%d",&m,&n)!=EOF)
	{
	if(m 

F:回文串的排序 题目: 描述:

输入n个字符串,将其中是回文串的字符串,按照长度从小到大的顺序输出,如果长度相同,则按照输入的顺序输出即可。
回文的含义是:正着看和倒着看相同,如abba和yyxyy。

输入:

第一行首先是一个整数n(n<50),表示有n个字符串(每个字符串的都长度小于100)。接下来有n行,每行输入一个字符串。

输出:

按照长度从小到大的顺序输出其中的回文串,如果长度相同,则按照输入的顺序输出。

输入样例1:
4
abbb
abccba
abba
acca
输出样例1:
abba
acca
abccba
实例:
#include
#include
#include
#include
#include
class huiwen
{
	public:
	char a[100];
}store[50];
  
int main()
{
	int n,i,k,cnt=0;
	scanf("%d",&n);
	char temp[100];
	
	for(i=0;istrlen(store[k+1].a))
			{
				char s[100];
				strcpy(s,store[k].a);
				strcpy(store[k].a,store[k+1].a);
				strcpy(store[k+1].a,s);
			}
			
	for(i=0;i 
 
G:蛇形填数 
题目: 
描述: 

在n*n方阵里填入1,2,…,n*n,要求填成蛇形。例如n=4时方阵为:
10 11 12 1
9 16 13 2
8 15 14 3
7 6 5 4

输入:

本题为多组输入。每组数据输入一行,输入一个正整数n。n<=8。

输出:

输出n*n的蛇形矩阵,每行中每两个数之间用一个空格隔开,每行最后一个数后面没有空格。

输入样例1:
4
输出样例1:
10 11 12 1
9 16 13 2
8 15 14 3
7 6 5 4
实例:
#include
#include
#include
#include
#include
int main()
{
	int n;
	while(scanf("%d",&n)!=EOF)
	{
	
	int count=1;
	int a[8][8];
	int i,j,t=0;
	while(count<=n*n)
	{
		for(i=n-1-t,j=0+t;j=n*n) break;
		for(i=n-1-t,j=n-1-t;i>0+t;i--)
			a[j][i] = count++;
		if(count>=n*n) break;
		for(i=0+t,j=n-1-t;j>0+t;j--)
			a[j][i] = count++;
		if(count>=n*n) break;
		for(i=0+t,j=0+t;i=n*n) break;
		t++;
	}
 
	a[(n-1)/2][(n-1)/2] = n*n;
	int x,y;
	for(x = 0; x < n; x++)
  {
     for(y = 0; y < n; y++)
     {
	 if(y!=n-1)
        printf("%d ", a[x][y]);
     else
     	printf("%d", a[x][y]);
     }
     printf("n");
  }
}
	return 0;
 }

暑期编程PK赛 得CSDN机械键盘等精美礼品!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1015421.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号