
#include
<stdioh>
int
main(void)
{
int
i,s,k,count=0;
for(i=100;i<=1000;i++)
{
s=0;k=i;
while(k)
{
s=s+k%10;
k=k/10;
}
if(s!=5)
continue;
else
count++;
}
printf("%d",count);
return
0;
}
#include
<stdioh>
int
getSum(int
num)
{
char
buf[10];
int
sum
=
0;
int
i
=
0;
sprintf(buf,"%d",num);
while(buf[i])
sum
+=
buf[i++]
-
'0';
return
sum;
}
int
main(void)
{
int
i;
for(i
=
100;
i
<=
1000;
i++)
if(getSum(i)
==
5)
printf("%d\t",i);
return
0;
}
import javaioBufferedReader;
import javaioInputStreamReader;
public class Test {
public static int getInput() {
int input = 0;
BufferedReader br = new BufferedReader(new InputStreamReader(Systemin));
try {
String str = brreadLine();
input = IntegerparseInt(str);
} catch (Exception e) {
Systemoutprintln("输入有误,重新输入:");
getInput();
}
return input;
}
public static int[][] createSquare(int n) {
int i, j;
int square[][] = new int[n][n];
Systemoutprintln("输入正方形数字矩阵:");
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
Systemoutprintln("[" + (i + 1) + "]" + "[" + (j + 1) + "] :");
square[i][j] = getInput();
}
}
return square;
}
public static void main(String[] args) {
Systemoutprintln("输入正方形的边长(整数):");
int i = getInput();
if (i != 0) {
Systemoutprintln("i = " + i);
int square[][] = new int[i][i];
square = createSquare(i);
display(square);
getSum(square);
}
}
private static void getSum(int[][] square) {
int n = squarelength;
int sum_1 = 0,sum_2 = 0;
int i, j;
Systemoutprint("\n正对角线之和为: ");
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
if (i==j) {
sum_1 = sum_1 + square[i][j];
Systemoutprint(square[i][j]);
if (i<n-1){
Systemoutprint("+");
}
}
}
}
Systemoutprintln("="+sum_1);
Systemoutprint("\n另一条对角线之和为: ");
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
if (i+j==(n-1)) {
sum_2 = sum_2 + square[i][j];
Systemoutprint(square[i][j]);
if (i<n-1){
Systemoutprint("+");
}
}
}
}
Systemoutprintln("="+sum_2);
}
private static void display(int[][] square) {
// TODO Auto-generated method stub
int i, j;
int n = squarelength;
Systemoutprintln("该正方形数字矩阵为:");
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
Systemoutprint(square[i][j] + "\t");
}
Systemoutprintln();
}
}
}
输出的答案为 21
简单的可以这么理解:b1setN(3) 调用了上面void setN(int n)这个方法,
int s1=b1getSum( ) 将n=3的值代入sum=sum+i这个式子(i从1开始不断加1知道i<=n,在这里就是i从1到3) 算出s1=6
同样的方法算出s2=15
最后要求输出s1+s2=21
希望能帮到你
如果我的回答对你有帮助,请选为满意答案,谢谢 !
1、程序建立1000个线程,有可能造成系统创建大量线程而导致消耗完系统内存,还会增加创建和销毁线程上所花的时间以及系统资源的开销
2、在创建线程数多的情况下,可以考虑使用线程池
以下是Java自带的几种线程池:
(1)、newFixedThreadPool 创建一个指定工作线程数量的线程池。
每当提交一个任务就创建一个工作线程,如果工作线程数量达到线程池初始的最大数,则将提交的任务存入到池队列中。
(2)、newCachedThreadPool 创建一个可缓存的线程池。
这种类型的线程池特点是:
1)工作线程的创建数量几乎没有限制(其实也有限制的,数目为Interger MAX_VALUE), 这样可灵活的往线程池中添加线程。
2)如果长时间没有往线程池中提交任务,即如果工作线程空闲了指定的时间(默认为1分钟),则该工作线程将自动终止。终止后,如果你又提交了新的任务,则线程池重新创建一个工作线程。
(3)、newSingleThreadExecutor 创建一个单线程化的Executor,即只创建唯一的工作者线程来执行任务,如果这个线程异常结束,会有另一个取代它,保证顺序执行(我觉得这点是它的特色)。
单工作线程最大的特点是可保证顺序地执行各个任务,并且在任意给定的时间不会有多个线程是活动的 。
(4)、newScheduleThreadPool 创建一个定长的线程池,而且支持定时的以及周期性的任务执行,类似于Timer。
3、示例代码
package test;import javautilconcurrentExecutorService;
import javautilconcurrentExecutors;
public class ThreadPoolExecutorTest {
public static void main(String[] args) {
ExecutorService cachedThreadPool = ExecutorsnewCachedThreadPool();
for (int i = 0; i < 1000; i++) {
cachedThreadPoolexecute(new Runnable() {
public void run() {
//在这里执行你需要的功能
}
});
}
}
}
#include<stdioh>
long fun(int n)
{
int i;
long s=1;
for(i=1;i<=n;i++)
s=si;
return s;
}
void main()
{
int i;
double sum=0;
for(i=1;i<=10;i++)
sum=sum+10/fun(i);
printf("sum=%f\n",sum);
}
b1内的静态常量是3
b2的是5
关键从这开始
int s1=b1getsum(); //将自己的静态常量 sum进行循环运算
//循环中每次改变该对象静态常量中的值。返回sum结果为6
int s2=b2getsum(); //b2将自己的sum带进去 运算同上, 结果为21
很简单,静态常量的生命周期是有 该类对象而定的。
每当该类对象被实例化时,则会在此对象中派生此静态常量。
常量始终值存储在内存中,可以被改变。直至弃用改对象。此常量会与该对象一同被垃圾回收机制回收。
#include<iostream>
using namespace std;
int getsum(int n)
{
int sum=0;
while(n)
{
sum+=n%10;
n/=10;
}
return sum;
}
int func(int n)
{
if(n==0)
{
return 1;
}
if(n==1)
{
return 11;
}
else if(n%2)
{
int t=func(n/2);
return (tt11)%1000;
}
else
{
int t=func(n/2);
return (tt)%1000;
}
}
int main()
{
int n;
while(cin>>n)
{
cout<<getsum(func(n))<<endl;
}
return 0;
}
class B {
int n;//定义一个int类型的类成员变量
static int sum=0;//定义一个int类型的静态类成员变量
void setN(int n){//类成员变量n的赋值函数
thisn=n;
}
int getSum(){//1+2+3+。。。+n 的求和函数,返回求和的结果sum
for(int i=1;i<=n;i++)
sum=sum+i;
return sum;
}
}
public class E2 {
public static void main(String []args){
B b1=new B(),b2=new B();//新建两个B类型的变量
b1setN(3);//为b1的n赋值
b2setN(5);//为b2的n赋值
int s1=b1getSum();//获得b1中的求和结果
int s2=b2getSum();//获得b2中的求和结果
Systemoutprintln(s1+s2);//在控制台输出s1和s2的求和结果
}
}
以上就是关于用C语言编写计算100至1000之间有多少个数其各位数字之和是5的程序是什么呀全部的内容,包括:用C语言编写计算100至1000之间有多少个数其各位数字之和是5的程序是什么呀、用java编程一个正方形对角线的数相加的程序、哪位大虾。。帮帮我给下面的程序加注释,说明其中变量类型及使用方法,写出程序可能的运行结果。谢谢。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)