7-125 求出两个正整数之间能被3整除但不能被5整除的所有奇数
编程求出任意两个正整数(闭区间,即包括两个正整数)之间能被3整除但不能被5整除的所有奇数。
输入格式:
输入两个正整数(用空格分隔)赋给变量m和n。
输出格式:
输出m和n之间能被3整除但不能被5整除的所有奇数。
要求:每行输出8个数,数据之间用英文逗号,分隔。
输入样例:
1 200
输出样例:
3,9,21,27,33,39,51,57
63,69,81,87,93,99,111,117
123,129,141,147,153,159,171,177
183,189,
代码如下:
#include<stdio.h>
int main()
{
int m,n,count=1;
scanf("%d %d",&m,&n);
for(int i=m;i<=n;i++)
{
if(i%3==0 && i%5!=0 && i%2!=0 && count%8!=0)
{
printf("%d,",i);
count ++;
}
else if(i%3==0 && i%5!=0 && i%2!=0)
{
printf("%d\n",i);
count ++;
}
}
return 0;
}
7-127 求阶乘累加和
求解阶乘累加和。计算1到n之间(包括1和n)每个整数的阶乘的累加和。即计算 sum=1!+2!+⋯+n!
输入格式:
输入一个整数 n(1≤n≤12)。
输出格式:
1 的阶乘到 n 的阶乘的累加和。
输入样例:
在这里给出一组输入。例如:
5
输出样例:
在这里给出相应的输出。例如:
153
代码如下:
#include<stdio.h>
int main()
{
int n,s,res=0;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
s=1;
for(int j=1;j<=i;j++)
{
s=s*j;
}
res=res+s;
}
printf("%d",res);
return 0;
}
7-129 输入输出练习(1)
共有T组测试数据,每组测试求n个整数之和。
输入格式:
首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组测试数据在一行上先输入数据个数n,然后再输入n个整数,数据之间以一个空格间隔。
输出格式:
对于每组测试,在一行上输出n个整数之和。
输入样例:
2
4 1 2 3 4
5 1 8 3 4 5
输出样例:
10
21
代码如下:
#include<stdio.h>
int main()
{
int T;
scanf("%d",&T);
for(int i=0;i<T;i++)
{
int count,s=0,temp;
scanf("%d",&count);
for(int j=0;j<count;j++)
{
scanf("%d",&temp);
s=s+temp;
}
printf("%d\n",s);
}
return 0;
}
7-130 输入输出练习(2)
测试数据有多组,处理到文件尾。每组测试求n个整数之和。
输入格式:
测试数据有多组,处理到文件尾。每组测试数据在一行上先输入数据个数n,然后再输入n个整数,数据之间以一个空格间隔。
输出格式:
对于每组测试,在一行上输出n个整数之和。
输入样例:
4 1 2 3 4
5 1 8 3 4 5
输出样例:
10
21
代码如下:
#include<stdio.h>
int main()
{
int count;
while(scanf("%d",&count) != EOF)
{
int s=0,temp;
for(int i=0;i<count;i++)
{
scanf("%d",&temp);
s=s+temp;
}
printf("%d\n",s);
}
return 0;
}
7-131 求n!
输入格式:
首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组测试数据输入一个正整数n(n≤12)。
输出格式:
对于每组测试,输出整数n的阶乘。
输入样例:
1
5
输出样例:
120
代码如下:
#include<stdio.h>
int main()
{
int T;
scanf("%d",&T);
for(int i=0;i<T;i++)
{
int n,s=1;
scanf("%d",&n);
for(int j=1;j<=n;j++)
{
s=s*j;
}
printf("%d\n",s);
}
return 0;
}