7-1 sdut-C语言实验-A+B forInput-Output Practice (Ⅳ)Your task is to Calculate a + b.
输入格式:
Your task is to Calculate a + b.
输出格式:
For each pair of input integers a and b you should output the sum of a and b in one line, and with one line of output for each line in input.
输入样例:
在这里给出一组输入。例如:
2
1 5
10 20
输出样例:
在这里给出相应的输出。例如:
6
30
#include <stdio.h>
int main()
{
int n,i,a,b;//定义输入的组数,次数,依次输入的值;
scanf("%d",&n);
for (i=0;i<n;i++)
{
scanf("%d %d",&a,&b);
printf("%d\n",a+b);
}
return 0;
}
法二:
#include <stdio.h>
int main()
{
int n;//n为组数;
scanf("%d",&n);
while(n--){
int a,b;
scanf("%d %d",&a,&b);
printf("%d\n",a+b);
}
}
7-2 sdut-C语言实验—两个数比较
求2个数中较大者。
输入格式:
第一行为测试的数据组数N,接下来的N行分别是两个待比较的整数。
输出格式:
输出N行,每一行的值为每组数中较大的整数。
输入样例:
2
1 2
15 10
输出样例:
在这里给出相应的输出。例如:
2
15
#include <stdio.h>
int main()
{
int n,i;//输入组数,次数
int a,b;//输入整数
scanf("%d",&n);
for (i=0;i<n;i++)
{
scanf("%d %d",&a,&b);
if (a>b)printf("%d\n",a);
else printf("%d\n",b);
}
return 0;
}
7-3 sdut- C语言实验-计算1到n的和(循环结构)
从键盘上输入任意一个整数n,计算1到n的和。
输入格式:
从键盘输入任意整数n。
输出格式:
输出1到n的和。
输入样例:
在这里给出一组输入。例如:
3
输出样例:
在这里给出相应的输出。例如:
6
#include <stdio.h>
int main()
{
int n;//输入整数n;
scanf("%d",&n);
int i,sum=0;//次数
for (i=0;i<=n;i++){
sum+=i;
}
printf("%d\n",sum);
return 0;
}
7-4 sdut-C语言实验-求阶乘(循环结构)
从键盘输入任意一个大于等于0的整数n,然后计算n的阶乘,并把它输出。
提示: 0!是 1 。
输入格式:
输入任意一个大于等于0的整数n。
输出格式:
输出n!
输入样例:
在这里给出一组输入。例如:
3
输出样例:
在这里给出相应的输出。例如:
6
#include<stdio.h>
int main()
{
int n;//输入的整数
scanf("%d", &n);
int i ;//定义次数;
int m=1;//定义阶乘
if (n > 0) {
for (i = 1; i <= n; i++) {
m *= i;
}
}
printf("%d\n", m);
return 0;
}
7-5 sdut-C语言实验- 做乘法
请用C语言编写一个程序。此程序接收一个正整数N,然后打印输出“N次N*(1->N)格式”的数据。例如:此程序接收正整数5,那会输出以下格式的数据:
51=5
52=10
53=15
54=20
5*5=25
输入格式:
只有一个正整数N(N<=100)。
输出格式:
输出共N行数据,如上面的例子所示。
输入样例:
在这里给出一组输入。例如:
5
输出样例:
在这里给出相应的输出。例如:
5*1=5
5*2=10
5*3=15
5*4=20
5*5=25
#include <stdio.h>
int main()
{
int n;//输入整数n;
int i;//定义次数;
scanf("%d",&n);//输入数据的行数
for (i=1;i<=n;i++)
{
printf("%d*%d=%d\n",n,i,n*i);
}
return 0;
}
7-6 sdut-C语言实验-数列求和
数列求和是一类常见的问题,本题有一定的代表性:
求s=a+aa+aaa+aaaa+……+aa…aa(n位)
其中,a的值由键盘输入,位数n也由键盘输入。
输入格式:
第一行输入a的值;
第二行输入位数n。
输出格式:
输出对n个数完成求和运算后的结果。
比如a=3,n=6时,s=3+33+333+3333+33333+333333
输入样例:
3
6
输出样例:
在这里给出相应的输出。例如:
370368
#include <stdio.h>
int main()
{
int a,n;
scanf("%d\n%d",&a,&n);//键盘输入两个数
int i;//定义次数
int sum=0;int c=0;
for (i=1;i<=n;i++)
{
c=c+a;//c本来是0,然后现在是3了
a=a*10;//a=30;
sum=c+sum;
}
printf("%d",sum);
return 0;
}
法二:
#include <stdio.h>
int main()
{
int a,n;
scanf("%d%d",&a,&n);
int t=0;int sum=0;
for(int i=1;i<=n;i++){
t=t*10+a;
sum+=t;
}
printf("%d\n",sum);
}
7-7 求Fibonacci(斐波那契)数列的n项和
已知斐波那契数列有如下特点:第1,2两个数为1,1。从第三个数开始,该数是其前面两个数之和。即该数列为1,1,2,3,5,8,13,……。本题要求编写程序,计算该数列的前n项和。
输入格式:
键盘输入n(2≤n≤40)。
输出格式:
sum=S,S为斐波那契数列的前n项和。
输入样例:
10
输出样例:
sum=143
#include <stdio.h>
int main()
{
int n,t=0;
int a1=1;int a2=1; //前两个数据;
int sum=0;
scanf("%d",&n);
//从第三个数开始的
for(int i=3;i<=n;i++){
t=a1+a2;//t的第一次值为2啦
a1=a2;a2=t;
sum+=t;
}
printf("sum=%d",sum+2);
}
7-8 sdut-C语言实验- 简单计算
分数 12
全屏浏览题目
切换布局
作者 马新娟
单位 山东理工大学
接受从键盘输入的N个整数,输出其中的最大值、最小值和平均值(平均值为整除的商)。
输入格式:
第一行一个正整数N(N<=100);
第二行有N个用空格隔开的整数Ti (1 <= i <= N, 0 <= Ti <= 10000000)
输出格式:
三个有空格隔开的整数分别为最大值、最小值和平均值,其中平均值为整除的商。
输入样例:
在这里给出一组输入。例如:
5
1 2 3 5 4
输出样例:
在这里给出相应的输出。例如:
5 1 3
#include <stdio.h>
int main()
{
int n;
scanf("%d", &n);
int max = -0x3f3f3f3f;
int min = 0x3f3f3f3f;
int ave = 0;
for(int i = 0; i < n; i++)
{
int x;
scanf("%d", &x);
if(x < min) min = x;
if(x > max) max = x;
ave += x;
}
printf("%d %d %d\n", max, min, ave / n);
return 0;
}
7-9 sdut- C语言实验-判断素数(循环结构)
从键盘上输入任意一个正整数,然后判断该数是否为素数。
如果是素数则输出"This is a prime."
否则输出“This is not a prime.”
输入格式:
输入任意一个正整数n(1 <= n <= 1000000)。
输出格式:
判断n是否为素数,并输出判断结果:
如果n是素数则输出"This is a prime."
否则输出“This is not a prime.”
特别提醒:请注意对1的判定,1不是素数。
输入样例:
3
输出样例:
在这里给出相应的输出。例如:
This is a prime.
#include <stdio.h>
int main()
{
int n;
scanf("%d", &n);
int flag = 1; //flag = 1说明最开始他是一个素数
for(int i = 2; i <= n - 1; i++)
{
if(n % i == 0) //i是n的因子, 不满足素数的定义了→不是素数
{
flag = 0; //不是素数
break;
}
}
if(n == 1) flag = 0; //特判1
if(flag == 0) printf("This is not a prime.\n");
else printf("This is a prime.\n");
return 0;
}
法二:
#include <stdio.h>
#include <math.h>
int main()
{
int f = 1; //f是用来判断他是不是素数的标志, f = 1代表是素数, 0 表示不是素数
//最开始的时候假设他是一个素数
int n;
scanf("%d", &n);
for(int i = 2; i <= sqrt(n); i++)
{
if(n % i == 0)
{
f = 0;
break;
}
}
if(f == 0 || n == 1) printf("This is not a prime.\n");
else printf("This is a prime.\n");
}
#include <stdio.h>
int main()
{
int n;int f=1;
scanf("%d",&n);
for(int i=2;i<=n-1;i++){
if(n%i==0)f=0;
}
if(n==1||f==0)
printf("This is not a prime.");
else printf("This is a prime.");
}
7-10 sdut-C语言实验- 求绝对值最大值
求n个整数中的绝对值最大的数。
输入格式:
输入数据有2行,第一行为n,第二行是n个整数。
输出格式:
输出n个整数中绝对值最大的数。
输入样例:
在这里给出一组输入。例如:
5
-1 2 3 4 -5
输出样例:
在这里给出相应的输出。例如:
-5
#include <stdio.h>
int main()
{
int n,i;//输入第一行的数和循环次数
int max,Max;
scanf("%d",&n);
int a,A;//用A代表绝对值
for (i=1;i<=n;i++)
{
scanf("%d",&a);
if (a>0){A=a;}
else A=-a;
if (A>Max)
max=a;
Max=A;//实质是改变了条件,便于下一个数据比较;
}
printf("%d",max);
return 0;
}
7-11 sdut- C语言实验—分数序列
有一个分数序列:2/1, 3/2, 5/3, 8/5, 13/8, …编写程序求出这个序列的前n项之和。
输入格式:
输入只有一个正整数n,1≤n≤10。
输出格式:
请在这里描述输出格式。例如:对每一组输入,在一行中输出A+B的值。
输入样例:
在这里给出一组输入。例如:
3
输出样例:
在这里给出相应的输出。例如:
5.166667
#include<stdio.h>
int main()
{
int n ; int i;//输入整数;次数
double a = 2; double b = 1; double sum=0;//a是分子,b是分母,sum是和
double c = 0;//交换;
scanf("%d",& n);//输入整数
for (i = 0; i<n; i++) {
sum += a / b;
c = a;
a = a + b;
b= c;
}
printf("%.6f\n", sum);
return 0;
}
7-12 sdut-C语言实验- 平方数
飞飞特别喜欢平方数,可是他数学并不好,你能帮他计算 n 与 m 之间所有平方数之和吗?
提示:若一个整数的开方还是整数,它就是平方数。例如:4、9、16、25是平方数。n 和 m 均可能为 0 至 100000000 内的任意整数,n、m不一定有序。
输入格式:
第一行 T 代表数据的组数。
接下来有 T 行,每行两个整数n,m (0 <= n, m <= 100000000)
输出格式:
输出一个整数,代表所求区间内平方数之和。
输入样例:
3
1 4
10 3
17 20
输出样例:
在这里给出相应的输出。例如:
5
13
0
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
int n, i; n = 0;//输入整数的个数,循环次数
int a, b,m,sum;//a,b代表输入的区间数据;m是用于储存变量
sum = 0; int j;//j是区间内数据
scanf("%d", &n);
for (i = 1; i <= n; i++) {
scanf("%d %d", &a, &b);//未知两个数的大小所以下面要比较确定区间
if (a > b) {
m = b; b = a; a = m;//到此实现a和b的互换即确定a小b大
}//明确区间是(a,b)
for (j = a; j <= b; j++) {//确定j在区间内
m = sqrt(j);
if (m * m == j) {
sum += j;
}
}
printf("%d\n", sum);
sum = 0;
}
return 0;
}
7-13 sdut - C语言实验—圆周率
输入n值,并利用下列格里高里公式计算并输出圆周率:
输入格式:
输入公式中的n值。
输出格式:
输出圆周率,保留5位小数。
输入样例:
在这里给出一组输入。例如:
1
输出样例:
在这里给出相应的输出。例如:
2.66667
#include<stdio.h>
int main()
{
int n;//输入整数;
int i; double a=0;//a代表最后的值
scanf("%d", &n);
for (i = 1; i <=n;i++) {
a += 4 * ((1.0 / (4 * i - 3)) - (1.0 / (4 * i - 1)));
}
printf("%.5f\n", a);
return 0;
}